Bug 106970 - gdbm-1.8.3-r1 (rev. 1.16) breaks ebuilds that need gdbm
|
Bug#:
106970
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: x86
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: blocker
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: base-system@gentoo.org
|
Reported By: lzap@seznam.cz
|
|
Component: Ebuilds
|
|
|
URL:
|
|
Summary: gdbm-1.8.3-r1 (rev. 1.16) breaks ebuilds that need gdbm
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2005-09-23 02:11 0000
|
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.
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.
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. ***