GDBM_File.c:470: error: syntax error before "db" GDBM_File.c:474: error: `db' undeclared (first use in this function) GDBM_File.c:474: error: called object is not a function GDBM_File.c: In function `XS_GDBM_File_EXISTS': GDBM_File.c:492: error: syntax error before "db" GDBM_File.c:499: error: `db' undeclared (first use in this function) GDBM_File.c:499: error: called object is not a function GDBM_File.c:505: error: `key' undeclared (first use in this function) GDBM_File.c:514:1: warning: "gdbm_setopt" redefined GDBM_File.xs:57:1: warning: this is the location of the previous definition GDBM_File.c: In function `XS_GDBM_File_setopt': GDBM_File.c:522: error: syntax error before "db" GDBM_File.c:531: error: `db' undeclared (first use in this function) GDBM_File.c:531: error: called object is not a function GDBM_File.c: In function `XS_GDBM_File_filter_fetch_key': GDBM_File.c:549: error: syntax error before "db" GDBM_File.c:555: error: `db' undeclared (first use in this function) GDBM_File.c:555: error: called object is not a function GDBM_File.c: In function `XS_GDBM_File_filter_store_key': GDBM_File.c:573: error: syntax error before "db" GDBM_File.c:579: error: `db' undeclared (first use in this function) GDBM_File.c:579: error: called object is not a function GDBM_File.c: In function `XS_GDBM_File_filter_fetch_value': GDBM_File.c:597: error: syntax error before "db" GDBM_File.c:603: error: `db' undeclared (first use in this function) GDBM_File.c:603: error: called object is not a function GDBM_File.c: In function `XS_GDBM_File_filter_store_value': GDBM_File.c:621: error: syntax error before "db" GDBM_File.c:627: error: `db' undeclared (first use in this function) GDBM_File.c:627: error: called object is not a function make[1]: *** [GDBM_File.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/perl-5.8.6-r6/work/perl-5.8.6/ext/GDBM_File' make: *** [lib/auto/GDBM_File/GDBM_File.so] Error 2 !!! ERROR: dev-lang/perl-5.8.6-r6 failed. !!! Function src_compile, Line 262, Exitcode 2 !!! Unable to make !!! If you need support, post the topmost build error, NOT this status message. Reproducible: Always Steps to Reproduce: 1. 2. 3. Actual Results: Nothing :-) Expected Results: Portage upgrade... zapletalovi ~ # emerge info Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r1, 2.6.5-gentoo-r1 i686) ================================================================= System uname: 2.6.5-gentoo-r1 i686 Pentium III (Katmai) Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.3-r1 [2.3.3 (#2, Aug 22 2004, 00:52:41)] dev-lang/python: 2.3.3-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.4.3-r4, 1.5.16 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium3 -O3 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/alias /var/qmail/control /var/vpopmail/domains /var/vpopmail/etc" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium3 -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.math.bme.hu ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://212.219.247.21/sites/www.ibiblio.org/gentoo" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 apache2 apm bash-completion berkdb cdb clamd crypt cups curl cyrus foomaticdb gd gdbm gif gzip imagemagick imap imlib innodb java jikes jpeg junit jython libg++ libwww maildir mmx mysql ncurses nls oav pam perl png python readline samba sasl sqlite sse ssl tcpd tiff xml2 zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
I have the same error compiling perl-5.8.7-r1 on x86 and amd64; re-emerging gdbm didn't help: [snip] Making GDBM_File (dynamic) Writing Makefile for GDBM_File make[1]: Entering directory `/var/tmp/portage/perl-5.8.7-r1/work/perl-5.8.7/ext/GDBM_File' make[1]: Leaving directory `/var/tmp/portage/perl-5.8.7-r1/work/perl-5.8.7/ext/GDBM_File' make[1]: Entering directory `/var/tmp/portage/perl-5.8.7-r1/work/perl-5.8.7/ext/GDBM_File' cp GDBM_File.pm ../../lib/GDBM_File.pm ../../miniperl "-I../../lib" "-I../../lib" ../../lib/ExtUtils/xsubpp -noprototypes -typemap ../../lib/ExtUtils/typemap -typemap typemap GDBM_File.xs > GDBM_File.xsc && mv GDBM_File.xsc GDBM_File.c i686-pc-linux-gnu-gcc -c -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=athlon-xp -O3 -pipe -ftracer -DVERSION=\"1.07\" -DXS_VERSION=\"1.07\" -fPIC "-I../.." GDBM_File.c GDBM_File.xs:5:18: gdbm.h: No such file or directory GDBM_File.xs:9: error: parse error before "GDBM_FILE" GDBM_File.xs:9: warning: no semicolon at end of struct or union GDBM_File.xs:15: error: parse error before '}' token GDBM_File.xs:15: warning: data definition has no type or storage class GDBM_File.xs:17: error: parse error before '*' token GDBM_File.xs:17: warning: data definition has no type or storage class GDBM_File.xs:18: error: parse error before "datum_key" GDBM_File.xs:18: warning: data definition has no type or storage class GDBM_File.xs:19: error: parse error before "datum_value" GDBM_File.xs:19: warning: data definition has no type or storage class GDBM_File.xs:20: error: parse error before "datum_key_copy" GDBM_File.xs:20: warning: data definition has no type or storage class GDBM_File.c: In function `XS_GDBM_File_TIEHASH': GDBM_File.c:190: error: parse error before "RETVAL" GDBM_File.xs:75: error: `GDBM_FILE' undeclared (first use in this function) GDBM_File.xs:75: error: (Each undeclared identifier is reported only once GDBM_File.xs:75: error: for each function it appears in.) GDBM_File.xs:75: error: parse error before "dbp" GDBM_File.xs:77: error: `RETVAL' undeclared (first use in this function) GDBM_File.xs:78: error: `dbp' undeclared (first use in this function) GDBM_File.xs:79: error: parse error before "Perl_safesysmalloc" GDBM_File.c: In function `XS_GDBM_File_close': GDBM_File.c:224: error: parse error before "db" GDBM_File.c:228: error: `db' undeclared (first use in this function) GDBM_File.c:228: error: called object is not a function GDBM_File.c: In function `XS_GDBM_File_DESTROY': GDBM_File.c:247: error: parse error before "db" GDBM_File.c:251: error: `db' undeclared (first use in this function) GDBM_File.c:251: error: called object is not a function GDBM_File.c: In function `XS_GDBM_File_FETCH': GDBM_File.c:271: error: parse error before "db" GDBM_File.c:277: error: `db' undeclared (first use in this function) GDBM_File.c:277: error: called object is not a function GDBM_File.c:283: error: `key' undeclared (first use in this function) GDBM_File.c:286: error: `RETVAL' undeclared (first use in this function) GDBM_File.c: In function `XS_GDBM_File_STORE': GDBM_File.c:302: error: parse error before "db" GDBM_File.c:311: error: `db' undeclared (first use in this function) GDBM_File.c:311: error: called object is not a function GDBM_File.c:317: error: `key' undeclared (first use in this function) GDBM_File.c:322: error: `value' undeclared (first use in this function) GDBM_File.c:331: error: `GDBM_REPLACE' undeclared (first use in this function) GDBM_File.c: In function `XS_GDBM_File_DELETE': GDBM_File.c:358: error: parse error before "db" GDBM_File.c:365: error: `db' undeclared (first use in this function) GDBM_File.c:365: error: called object is not a function GDBM_File.c:371: error: `key' undeclared (first use in this function) GDBM_File.c: In function `XS_GDBM_File_FIRSTKEY': GDBM_File.c:388: error: parse error before "db" GDBM_File.c:393: error: `db' undeclared (first use in this function) GDBM_File.c:393: error: called object is not a function GDBM_File.c:398: error: `RETVAL' undeclared (first use in this function) GDBM_File.c: In function `XS_GDBM_File_NEXTKEY': GDBM_File.c:414: error: parse error before "db" GDBM_File.c:420: error: `db' undeclared (first use in this function) GDBM_File.c:420: error: called object is not a function GDBM_File.c:426: error: `key' undeclared (first use in this function) GDBM_File.c:429: error: `RETVAL' undeclared (first use in this function) GDBM_File.c: In function `XS_GDBM_File_reorganize': GDBM_File.c:445: error: parse error before "db" GDBM_File.c:451: error: `db' undeclared (first use in this function) GDBM_File.c:451: error: called object is not a function GDBM_File.c:462:1: warning: "gdbm_sync" redefined GDBM_File.xs:56:1: warning: this is the location of the previous definition GDBM_File.c: In function `XS_GDBM_File_sync': GDBM_File.c:470: error: parse error before "db" GDBM_File.c:474: error: `db' undeclared (first use in this function) GDBM_File.c:474: error: called object is not a function GDBM_File.c: In function `XS_GDBM_File_EXISTS': GDBM_File.c:492: error: parse error before "db" GDBM_File.c:499: error: `db' undeclared (first use in this function) GDBM_File.c:499: error: called object is not a function GDBM_File.c:505: error: `key' undeclared (first use in this function) GDBM_File.c:514:1: warning: "gdbm_setopt" redefined GDBM_File.xs:57:1: warning: this is the location of the previous definition GDBM_File.c: In function `XS_GDBM_File_setopt': GDBM_File.c:522: error: parse error before "db" GDBM_File.c:531: error: `db' undeclared (first use in this function) GDBM_File.c:531: error: called object is not a function GDBM_File.c: In function `XS_GDBM_File_filter_fetch_key': GDBM_File.c:549: error: parse error before "db" GDBM_File.c:555: error: `db' undeclared (first use in this function) GDBM_File.c:555: error: called object is not a function GDBM_File.c: In function `XS_GDBM_File_filter_store_key': GDBM_File.c:573: error: parse error before "db" GDBM_File.c:579: error: `db' undeclared (first use in this function) GDBM_File.c:579: error: called object is not a function GDBM_File.c: In function `XS_GDBM_File_filter_fetch_value': GDBM_File.c:597: error: parse error before "db" GDBM_File.c:603: error: `db' undeclared (first use in this function) GDBM_File.c:603: error: called object is not a function GDBM_File.c: In function `XS_GDBM_File_filter_store_value': GDBM_File.c:621: error: parse error before "db" GDBM_File.c:627: error: `db' undeclared (first use in this function) GDBM_File.c:627: error: called object is not a function make[1]: *** [GDBM_File.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/perl-5.8.7-r1/work/perl-5.8.7/ext/GDBM_File' make: *** [lib/auto/GDBM_File/GDBM_File.so] Error 2 !!! ERROR: dev-lang/perl-5.8.7-r1 failed. !!! Function src_compile, Line 263, Exitcode 2 !!! Unable to make !!! If you need support, post the topmost build error, NOT this status message.
Although I didn't run into this myself, someone else did. I noticed that while his system didn't have /usr/include/gdbm.h, my system did have it. Also, http://www.gentoo.org/cgi-bin/viewcvs.cgi/sys-libs/gdbm/gdbm-1.8.3-r1.ebuild?r1=1.15&r2=1.16 reports a change to the gdbm ebuild that's roughly at the same time as this bug showed up, and remerging gdbm using this new ebuild made my /usr/include/gdbm.h disappear as well.
Ok, I have been testing with the help from the gentoo-bugs irc channel, and I have identified the most current patch (GDBM v1.16) is causing this issue. patch 1.15 on the same package comnpiles correctly on both gdbm and perl.
I got exactly the same problem. It also seems to make php fail to compile (an probably most of the other packages with gdbm useflag). To be precise, not the patch introduced with gdbm 1.16 did cause this, but the cleanup that was done to the ebuild at the same time. The basic problem is that gdbm.h is now installed to /usr/include/gdbm/gdbm.h instead of /usr/include/gdbm.h. I just reverted some of the cleanup in gdbm-1.8.3-r1.ebuild (see includefix.diff) and now everything works as expected.
Created attachment 69150 [details, diff] includefix.diff
Comment on attachment 69150 [details, diff] includefix.diff revert some changes to make gdbm.h install in /usr/include again
gdbmobj.c:166: error: syntax error before "dkey" gdbmobj.c:168: error: dereferencing pointer to incomplete type gdbmobj.c:170: error: `dkey' undeclared (first use in this function) gdbmobj.c:173: error: `val' undeclared (first use in this function) gdbmobj.c:173: error: dereferencing pointer to incomplete type make[3]: *** [gdbmobj.lo] Error 1 make[3]: Leaving directory `/var/tmp/portage/courier-authlib-0.57-r1/work/courier-authlib-0.57/gdbmobj' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/courier-authlib-0.57-r1/work/courier-authlib-0.57/gdbmobj' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/courier-authlib-0.57-r1/work/courier-authlib-0.57' make: *** [all] Error 2 !!! ERROR: net-libs/courier-authlib-0.57-r1 failed. !!! Function src_compile, Line 101, Exitcode 2 !!! Compile problem !!! If you need support, post the topmost build error, NOT this status message. Courier-IMAP not installable too! this is CRITICAL ERROR!
This needs to be reasigned... Its a major issue.
dev-tcltk/thread b0rked as well. I'd really say anything w/ gdbm USE flag is b0rked. *sigh*
*** Bug 107038 has been marked as a duplicate of this bug. ***
Bumped to -r2 with Arndt Wills changes as this hits a lot of packages / users.
*** Bug 107152 has been marked as a duplicate of this bug. ***
*** Bug 107180 has been marked as a duplicate of this bug. ***