Re: list_head naming conflict gcc 4.2/perl/solaris
От | Zdenek Kotala |
---|---|
Тема | Re: list_head naming conflict gcc 4.2/perl/solaris |
Дата | |
Msg-id | 1243888027.1319.45.camel@localhost обсуждение исходный текст |
Ответ на | Re: list_head naming conflict gcc 4.2/perl/solaris (Robert Haas <robertmhaas@gmail.com>) |
Список | pgsql-hackers |
Robert Haas píše v po 01. 06. 2009 v 16:03 -0400: > On Mon, Jun 1, 2009 at 3:57 PM, Zdenek Kotala <Zdenek.Kotala@sun.com> wrote: > > During integration gcc4.2 into Solaris. My colleague hit a following > > problem with PostgreSQL compilation: > > > > http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6845982 > > > > cd /builds/sfw-fixes/usr/src/cmd/postgres/postgresql-8.2/postgresql-8.2.13/src/pl/plperl > > + /ws/onnv-tools/SUNWspro/SS12/bin/cc -xO3 -m32 -xchip=pentium -xspace -Xa -xildoff -xc99=all -xc99=none -xCC -KPIC -I.-I../../../src/include -I/builds/sfw-fixes/proto/root_i386/usr/include -I/builds/sfw-fixes/proto/root_i386/usr/sfw/include-I/usr/sfw/include -I/usr/include/kerberosv5 -I/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE-c -o plperl.o plperl.c > > "/usr/include/sys/list.h", line 52: identifier redeclared: list_head > > current : function(pointer to struct list {unsigned int list_size, unsigned int list_offset, struct list_node{..} list_head}) returning pointer to void > > previous: function(pointer to struct List {enum NodeTag {T_TIDBitmap(902), (blah blah) > > > > At this moment there is no clear conclusion how to fix it in solaris system headers to satisfy all side. :( > > > > My idea is to rename list_head to pg_list_head (and other functions analogously) to avoid name conflict. > > > > Comments, better ideas? > > Uh... isn't it rather bad form for the operating system headers to be > defining commonly used type names like "list"? It is in solaris since 2003 for kernel structure linked list. When I look on it closer, it seems that problem is more in perl which includes some sys/ headers which is probably not good practice. :( > I'd be very surprised > if PostgreSQL is the only application that is going to break on this. At this moment I know only about PostgreSQL. How I understand it now, it appears only when source is compiling with Perl. I will look more on it tomorrow. thanks Zdenek
В списке pgsql-hackers по дате отправления: