Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 323441 - PostgreSQL 9.0 beta 2 ebuild fails
Summary: PostgreSQL 9.0 beta 2 ebuild fails
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: High critical with 1 vote (vote)
Assignee: Patrick Lauer
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-10 16:19 UTC by Thom Brown
Modified: 2010-06-15 20:41 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thom Brown 2010-06-10 16:19:18 UTC
Attempts to updade from PostgreSQL 9.0 beta 1 to beta 2 fail.  It complains about conflicting types for unsetenv.  There were no new options added to make it differ from beta 1.

Reproducible: Always

Steps to Reproduce:
1. eix-update
2. edit /etc/portage/package.unmask and add the following:
=dev-db/postgresql-server-9.0_beta2
=dev-db/postgresql-base-9.0_beta2
=dev-db/postgresql-docs-9.0_beta2
3. emerge --update dev-db/postgresql-server

Actual Results:  
The following output is produced and it isn't installed:

* CPV:  dev-db/postgresql-base-9.0_beta2
 * REPO: gentoo
 * USE:  amd64 doc elibc_glibc kerberos kernel_linux ldap multilib nls
pam readline ssl threads userland_GNU zlib
>>> Unpacking source...
>>> Unpacking postgresql-9.0beta2.tar.bz2 to /var/tmp/portage/dev-db/postgresql-base-9.0_beta2/work
>>> Source unpacked in /var/tmp/portage/dev-db/postgresql-base-9.0_beta2/work
>>> Preparing source in /var/tmp/portage/dev-db/postgresql-base-9.0_beta2/work/postgresql-9.0beta2 ...
 * Applying postgresql-9.0-common.patch ...
 [ ok ]
 * Applying postgresql-9.0-base.2.patch ...
 [ ok ]
 * Applying postgresql-base-8.4-9.0-heimdal_strlcpy.patch ...
 [ ok ]
 * Running autoconf ...
 [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-db/postgresql-base-9.0_beta2/work/postgresql-9.0beta2 ...
 * econf: updating postgresql-9.0beta2/config/config.guess with
/usr/share/gnuconfig/config.guess
 * econf: updating postgresql-9.0beta2/config/config.sub with
/usr/share/gnuconfig/config.sub
./configure --prefix=/usr --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --mandir=/usr/share/man
--infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
--localstatedir=/var/lib --libdir=/usr/lib64/postgresql-9.0/lib64
--prefix=/usr/lib64/postgresql-9.0 --datadir=/usr/share/postgresql-9.0
--docdir=/usr/share/doc/postgresql-9.0
--sysconfdir=/etc/postgresql-9.0
--includedir=/usr/include/postgresql-9.0
--mandir=/usr/share/postgresql-9.0/man --enable-depend --without-tcl
--without-perl --without-python --with-readline --with-krb5
--with-gssapi --enable-nls --with-pam --enable-integer-datetimes
--with-openssl --enable-thread-safety --with-zlib --with-ldap
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking which template to use... linux
checking whether to build with 64-bit integer date/time support... yes
checking whether NLS is wanted... yes
checking for default port number... 5432
checking for block size... 8kB
checking for segment size... 1GB
checking for WAL block size... 8kB
checking for WAL segment size... 16MB
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking if x86_64-pc-linux-gnu-gcc supports
-Wdeclaration-after-statement... yes
checking if x86_64-pc-linux-gnu-gcc supports -Wendif-labels... yes
checking if x86_64-pc-linux-gnu-gcc supports -fno-strict-aliasing... yes
checking if x86_64-pc-linux-gnu-gcc supports -fwrapv... yes
checking whether the C compiler still works... yes
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking allow thread-safe client libraries... yes
checking whether to build with Tcl... no
checking whether to build Perl modules... no
checking whether to build Python modules... no
checking whether to build with GSSAPI support... yes
checking whether to build with Kerberos 5 support... yes
checking whether to build with PAM support... yes
checking whether to build with LDAP support... yes
...skipping...
fno-strict-aliasing -fwrapv
configure: using CPPFLAGS= -D_GNU_SOURCE
configure: using LDFLAGS=-Wl,-O1  -Wl,--as-needed
configure: creating ./config.status
config.status: creating GNUmakefile
config.status: creating src/Makefile.global
config.status: creating src/include/pg_config.h
config.status: creating src/interfaces/ecpg/include/ecpg_config.h
config.status: linking src/backend/port/tas/dummy.s to src/backend/port/tas.s
config.status: linking src/backend/port/dynloader/linux.c to
src/backend/port/dynloader.c
config.status: linking src/backend/port/sysv_sema.c to
src/backend/port/pg_sema.c
config.status: linking src/backend/port/sysv_shmem.c to
src/backend/port/pg_shmem.c
config.status: linking src/backend/port/dynloader/linux.h to
src/include/dynloader.h
config.status: linking src/include/port/linux.h to src/include/pg_config_os.h
config.status: linking src/makefiles/Makefile.linux to src/Makefile.port
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-db/postgresql-base-9.0_beta2/work/postgresql-9.0beta2 ...
make -j5
make -C src all
make[1]: Entering directory
`/var/tmp/portage/dev-db/postgresql-base-9.0_beta2/work/postgresql-9.0beta2/src'
make -C port all
make[2]: Entering directory
`/var/tmp/portage/dev-db/postgresql-base-9.0_beta2/work/postgresql-9.0beta2/src/port'
x86_64-pc-linux-gnu-gcc -march=core2 -O2 -pipe -fomit-frame-pointer
-Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing
-fwrapv -I../../src/port -DFRONTEND -I../../src/include -D_GNU_SOURCE
 -c -o getrusage.o getrusage.c -MMD -MP -MF .deps/getrusage.Po
x86_64-pc-linux-gnu-gcc -march=core2 -O2 -pipe -fomit-frame-pointer
-Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing
-fwrapv -I../../src/port -DFRONTEND -I../../src/include -D_GNU_SOURCE
 -c -o crypt.o crypt.c -MMD -MP -MF .deps/crypt.Po
x86_64-pc-linux-gnu-gcc -march=core2 -O2 -pipe -fomit-frame-pointer
-Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing
-fwrapv -I../../src/port -DFRONTEND -I../../src/include -D_GNU_SOURCE
 -c -o erand48.o erand48.c -MMD -MP -MF .deps/erand48.Po
x86_64-pc-linux-gnu-gcc -march=core2 -O2 -pipe -fomit-frame-pointer
-Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing
-fwrapv -I../../src/port -DFRONTEND -I../../src/include -D_GNU_SOURCE
 -c -o getopt.o getopt.c -MMD -MP -MF .deps/getopt.Po
x86_64-pc-linux-gnu-gcc -march=core2 -O2 -pipe -fomit-frame-pointer
-Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing
-fwrapv -I../../src/port -DFRONTEND -I../../src/include -D_GNU_SOURCE
 -c -o inet_aton.o inet_aton.c -MMD -MP -MF .deps/inet_aton.Po
In file included from ../../src/include/c.h:851,
                from crypt.c:44:
../../src/include/port.h:392: error: expected identifier or '(' before
'__extension__'
../../src/include/port.h:408: error: conflicting types for 'unsetenv'
/usr/include/stdlib.h:588: note: previous declaration of 'unsetenv' was here
crypt.c:237: error: expected specifier-qualifier-list before '__int64'
In file included from ../../src/include/c.h:851,
                from getopt.c:33:
../../src/include/port.h:392: error: expected identifier or '(' before
'__extension__'
../../src/include/port.h:408: error: conflicting types for 'unsetenv'
/usr/include/stdlib.h:588: note: previous declaration of 'unsetenv' was here
In file included from ../../src/include/c.h:851,
                from inet_aton.c:41:
../../src/include/port.h:392: error: expected identifier or '(' before
'__extension__'In file included from ../../src/include/c.h:851,
                from getrusage.c:16:
../../src/include/port.h:392: error: expected identifier or '(' before
'__extension__'

../../src/include/port.h:408: error: conflicting types for 'unsetenv'
/usr/include/stdlib.h:588: note: previous declaration of 'unsetenv' was here
../../src/include/port.h:408: error: conflicting types for 'unsetenv'
/usr/include/stdlib.h:588: note: previous declaration of 'unsetenv' was here
make[2]: *** [inet_aton.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [getopt.o] Error 1
getrusage.c: In function 'getrusage':

Expected Results:  
Installed PostgreSQL 9.0 beta 2

I had PostgreSQL 9.0 beta 1 installed beforehand.
Comment 1 Aaron W. Swenson gentoo-dev 2010-06-10 21:11:00 UTC
Though this is a different ebuild, the problem is the same: Bug 322539
Comment 2 Michael Weber (RETIRED) gentoo-dev 2010-06-11 13:30:24 UTC
Hello Thom.

can you please provide the complete build.log and environment files mentioned at the end of the emerge? And a little hint for me where to find this ebuild, I don't see it at http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-db/postgresql/ .

Michael
Comment 3 Thom Brown 2010-06-11 13:45:44 UTC
You can find it at: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-db/postgresql-server/

I've looked for the build log in /var/tmp/portage/dev-db/ but it only shows the ones for PostgreSQL 8.4.4 in there :(  Is there somewhere else I can look?  Also note that I've since disabled kerberos and re-emerged it successfully as a result.
Comment 4 Vit Vomacko 2010-06-11 16:22:21 UTC
I can confirm the issue.
Comment 5 Aaron W. Swenson gentoo-dev 2010-06-11 20:27:08 UTC
Yes, 9.0 Beta 2 is in the tree already. The problem would be the Heimdal patch biting here as well. The output is identical, or nearly so, to the 8.4.4 output.

The work around for the moment is to disable the 'kerberos' USE flag or edit the ebuild and comment out the line containing the Heimdal patch.
Comment 6 Patrick Lauer gentoo-dev 2010-06-15 20:41:20 UTC
Fixed in -r2. Thanks for flying Air Gentoo!