Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 106970 - gdbm-1.8.3-r1 (rev. 1.16) breaks ebuilds that need gdbm
Summary: gdbm-1.8.3-r1 (rev. 1.16) breaks ebuilds that need gdbm
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High blocker (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
: 107038 107152 107180 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-09-23 02:11 UTC by lzap
Modified: 2005-09-25 07:58 UTC (History)
7 users (show)

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


Attachments
includefix.diff (includefix.diff,562 bytes, patch)
2005-09-24 02:34 UTC, Arndt Wills
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description lzap 2005-09-23 02:11:13 UTC
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
Comment 1 Paul Taylor 2005-09-23 10:42:11 UTC
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.

Comment 2 Marien Zwart (RETIRED) gentoo-dev 2005-09-23 13:00:49 UTC
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.
Comment 3 Chris Torske 2005-09-23 14:04:42 UTC
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.
Comment 4 Arndt Wills 2005-09-24 02:33:12 UTC
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. 
Comment 5 Arndt Wills 2005-09-24 02:34:57 UTC
Created attachment 69150 [details, diff]
includefix.diff
Comment 6 Arndt Wills 2005-09-24 02:36:29 UTC
Comment on attachment 69150 [details, diff]
includefix.diff

revert some changes to make gdbm.h install in /usr/include again
Comment 7 lzap 2005-09-24 03:00:50 UTC
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!
Comment 8 lzap 2005-09-24 03:08:25 UTC
This needs to be reasigned... Its a major issue.
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2005-09-24 03:17:39 UTC
dev-tcltk/thread b0rked as well. I'd really say anything w/ gdbm USE flag is
b0rked. *sigh*
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2005-09-24 03:18:48 UTC
*** Bug 107038 has been marked as a duplicate of this bug. ***
Comment 11 Bryan Østergaard (RETIRED) gentoo-dev 2005-09-24 04:08:42 UTC
Bumped to -r2 with Arndt Wills changes as this hits a lot of packages / users.
Comment 12 Jakub Moc (RETIRED) gentoo-dev 2005-09-25 03:41:26 UTC
*** Bug 107152 has been marked as a duplicate of this bug. ***
Comment 13 Jakub Moc (RETIRED) gentoo-dev 2005-09-25 07:58:55 UTC
*** Bug 107180 has been marked as a duplicate of this bug. ***