Re: list_head naming conflict gcc 4.2/perl/solaris

From: Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: list_head naming conflict gcc 4.2/perl/solaris
Date: 2009-06-03 20:08:09
Message-ID: 1244059689.1380.23.camel@localhost
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Zdenek Kotala píše v po 01. 06. 2009 v 22:45 +0200:
> Tom Lane píše v po 01. 06. 2009 v 16:09 -0400:
> > Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM> writes:
>
>
> > What is <sys/list.h>, and why is it being imported by the Perl headers?
>
> It seems that problem is with Perl. It includes sys/mode.h. The new
> change for gcc 4.2 is that mode.h includes vnode.h and it finally
> sys/list.h which is generic list for kernel structures.
>
> > Can we do something like "#define list_head solaris_list_head" around
> > the problematic #include? (Which one is that, anyway?)
>
> I will try it. There is following hack:
>
> CFLAGS="-D_SYS_VNODE_H"
>
> which disable vnode.h and breaks include chain.
>
> I need to install fresh nightly build of Solaris to test it on live
> system.

Perl includes sys/mode.h which is probably not necessary (it look likes
that it is something for AIX), but it seems that sys/*.h headers
modifications break more than only PostgreSQL. And kernel guys should
fix it. Which means no change for PostgreSQL. Only who will use
opensolaris devel builds 116 could have a problem. I will skip these
build(s) on my buildfarm animals.

Zdenek

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2009-06-03 20:18:49 Re: Plan time Improvement - 64bit bitmapset
Previous Message Aidan Van Dyk 2009-06-03 19:53:48 Re: Managing multiple branches in git