Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 58220 - Emerging sys-libs/gdbm-1.8.3 results in 0 bytes libgdbm.so.2.0.0
Summary: Emerging sys-libs/gdbm-1.8.3 results in 0 bytes libgdbm.so.2.0.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
: 19761 58370 59105 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-07-24 12:54 UTC by Jonathan Hudson
Modified: 2004-08-02 20:47 UTC (History)
7 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 Jonathan Hudson 2004-07-24 12:54:53 UTC
Emerging sys-libs/gdbm-1.8.3 results in 0 bytes libgdbm.so.2.0.0. This breaks anything previously linked against libgdbm.so.2.0.0. 

"xemacs: error while loading shared libraries: /usr/lib/libgdbm.so.2: file too short"

Symlinking (ln -sf libgdbm.so.3.0.0 libgdbm.so.2.0.0) appears, superficially, to fix this.



Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Martin Ehmsen (RETIRED) gentoo-dev 2004-07-25 02:36:03 UTC
It also breaks dev-lang/wml and probably a lot of other packages...
Comment 2 Martin Ehmsen (RETIRED) gentoo-dev 2004-07-25 03:58:02 UTC
It actually helps to reemerge dev-lang/wml in my case, so it uses the new shared lib, but I don't know if thats the case for all app dyn. linking against libgdbm.
If it is the case then using revdep-rebuild from app-portage/gentoolkit should do the trick.
Jonathan,should you try to remerge xemacs and see if that helps?
Comment 3 Florian Evers 2004-07-25 05:14:54 UTC
Hi!

Same problem here, but re-emerging xemacs did not work:

emerge xemacs
[...]
checking for machine/soundcard.h... no
checking for sys/soundcard.h... yes
checking for audio/audiolib.h... no
checking for TTY-related features
checking for ncurses/curses.h... no
checking for ncurses/term.h... no
checking for ncurses/curses.h... no
checking for database support
checking for ndbm.h... yes
checking for dbm_open in -lgdbm... no
Error: Required GNU DBM support cannot be provided.

!!! ERROR: app-editors/xemacs-21.4.15 failed.
!!! Function src_compile, Line 161, Exitcode 1
!!! (no error message)

"revdep-rebuild" did not work: No errors.

Re-emerging "gdbm" did not work: No errors, but:

emerge --oneshot gdbm
[...]
--- !empty dir /usr
--- !targe sym /usr/lib/libgdbm_compat.so.3
--- !targe sym /usr/lib/libgdbm_compat.so
--- !targe sym /usr/lib/libgdbm.so.3
--- !targe sym /usr/lib/libgdbm.so.2
--- !targe sym /usr/lib/libgdbm.so
>>> original instance of package unmerged safely.
 * Please run revdep-rebuild --soname libgdbm.so.2
 * Packages compiled against the previous version will not work
>>> Regenerating /etc/ld.so.cache...
 * Caching service dependencies...
>>> sys-libs/gdbm-1.8.3 merged.
[...]

Ok, so I did: "revdep-rebuild --soname libgdbm.so.2".
Result:
There are no dynamic links to libgdbm.so.2... All done.

But xemacs won't start :-(

Regards, Florian Evers

Comment 4 Dennis Freise 2004-07-25 05:19:10 UTC
I've experienced the same problem - oddly enough only on 1 of 2 machines...

One machine builds only libgdbm.so.3.0.0, and removes 2.0.0, the other creates the mentioned libgdbm.so.2.0.0 with a size of zero.

emerge info of the machine that creates the 2.0.0 :
Portage 2.0.50-r9 (x86, gcc-3.3.4, glibc-2.3.3.20040420-r0, 2.6.7-hardened-r3)
=================================================================
System uname: 2.6.7-hardened-r3 i686 AMD Duron(tm) 
Gentoo Base System version 1.5.1
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon -mcpu=athlon -mmmx -m3dnow -O2 -pipe -fomit-frame-pointer -ffast-math -fforce-addr -falign-functions=4"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon -mcpu=athlon -mmmx -m3dnow -O2 -pipe -fomit-frame-pointer -ffast-math -fforce-addr -falign-functions=4"
DISTDIR="/storage/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp.easynet.nl/mirror/gentoo/ ftp://gentoo.inode.at/source/ http://gentoo.inode.at"
MAKEOPTS="-j2"
PKGDIR="/storage/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://localhost/gentoo-portage"
USE="3dnow acpi apache2 apm berkdb chroot crypt curl erandom exiscan-acl gd gdbm gif gmp gpm hardened hardenedphp imagemagick imap innodb java jpeg ldap libwww maildir mmx mysql nagios-dns nagios-ntp nagios-ping nagios-ssh ncurses nls nptl pam parse-clocks pcre pdflib perl pic pie png python readline samba sasl slang snmp socks5 sse ssl tcpd tetex threads tiff truetype usb vhosts wildlsearch x86 xml xml2 zlib"
Comment 5 Florian Evers 2004-07-25 12:07:28 UTC
Hi,

I found a solution that works here.

Do:

emerge -C gdbm
and re-emerge it
emerge --oneshot gdbm

After that, do a
revdep-rebuild --soname libgdbm.so.2

It re-emerged:
phyton
perl
xemacs
openoffice

-----
Look at this:

root@powerstation /home/florian # emerge -C gdbm

 sys-libs/gdbm
    selected: 1.8.3
   protected: none
     omitted: none

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging sys-libs/gdbm-1.8.3...
No package files given... Grabbing a set.
<<<        obj /usr/share/man/man3/gdbm.3.gz
<<<        obj /usr/share/info/gdbm.info.gz
<<<        obj /usr/share/doc/gdbm-1.8.3/README.gz
<<<        obj /usr/share/doc/gdbm-1.8.3/NEWS.gz
<<<        obj /usr/share/doc/gdbm-1.8.3/ChangeLog.gz
<<<        obj /usr/lib/libgdbm_compat.so.3.0.0
<<<        obj /usr/lib/libgdbm_compat.la
<<<        obj /usr/lib/libgdbm_compat.a
<<<        obj /usr/lib/libgdbm.so.3.0.0
<<<        obj /usr/lib/libgdbm.so.2.0.0
<<<        obj /usr/lib/libgdbm.la
<<<        obj /usr/lib/libgdbm.a
<<<        obj /usr/include/gdbm/ndbm.h
<<<        obj /usr/include/gdbm/dbm.h
<<<        obj /usr/include/gdbm.h
<<<        sym /usr/lib/libgdbm_compat.so.3
<<<        sym /usr/lib/libgdbm_compat.so
<<<        sym /usr/lib/libgdbm.so.3
<<<        sym /usr/lib/libgdbm.so.2
<<<        sym /usr/lib/libgdbm.so
<<<        dir /usr/share/doc/gdbm-1.8.3
<<<        dir /usr/include/gdbm
--- !empty dir /usr/share/man/man3
--- !empty dir /usr/share/man
--- !empty dir /usr/share/info
--- !empty dir /usr/share/doc
--- !empty dir /usr/share
--- !empty dir /usr/lib
--- !empty dir /usr/include
--- !empty dir /usr
>>> Regenerating /etc/ld.so.cache...
 * Caching service dependencies...

 * Regenerating GNU info directory index...
 * Processed 205 info files: 1 errors; run with emerge --verbose to view errors.
----
All these libgdbm.so.2.*
are gone after re-emerging gdbm:

florian@powerstation /usr/lib $ ls -al libgdb*
-rw-r--r--  1 root root 32446 25. Jul 20:51 libgdbm.a
-rw-r--r--  1 root root 15958 25. Jul 20:51 libgdbm_compat.a
-rwxr-xr-x  1 root root   748 25. Jul 20:51 libgdbm_compat.la
lrwxrwxrwx  1 root root    23 25. Jul 20:51 libgdbm_compat.so -> libgdbm_compat.so.3.0.0
lrwxrwxrwx  1 root root    23 25. Jul 20:51 libgdbm_compat.so.3 -> libgdbm_compat.so.3.0.0
-rwxr-xr-x  1 root root  7880 25. Jul 20:51 libgdbm_compat.so.3.0.0
-rwxr-xr-x  1 root root   699 25. Jul 20:51 libgdbm.la
lrwxrwxrwx  1 root root    16 25. Jul 20:51 libgdbm.so -> libgdbm.so.3.0.0
lrwxrwxrwx  1 root root    16 25. Jul 20:51 libgdbm.so.3 -> libgdbm.so.3.0.0
-rwxr-xr-x  1 root root 19720 25. Jul 20:51 libgdbm.so.3.0.0
florian@powerstation /usr/lib $

Hope it helps :-)

Florian
Comment 6 Florian Evers 2004-07-25 12:41:20 UTC
Sorry, my fault...

same problems when emerging xemacs...

checking for ncurses/term.h... no
checking for ncurses/curses.h... no
checking for database support
checking for ndbm.h... yes
checking for dbm_open in -lgdbm... no
Error: Required GNU DBM support cannot be provided.

!!! ERROR: app-editors/xemacs-21.4.15 failed.
!!! Function src_compile, Line 161, Exitcode 1
!!! (no error message)

No idea what to try next...

Florian
Comment 7 Sven 2004-07-25 13:07:39 UTC
same problems here.

re-emerging gdbm-1.8.3 didn't remove the libgdbm.so.2.0.0, had to delete it manualy.
Comment 8 SpanKY gentoo-dev 2004-07-25 14:13:47 UTC
dropped the -a from the cp in the 1.8.3 ebuild
Comment 9 SpanKY gentoo-dev 2004-08-01 13:42:09 UTC
*** Bug 58350 has been marked as a duplicate of this bug. ***
Comment 10 SpanKY gentoo-dev 2004-08-01 13:52:01 UTC
*** Bug 19761 has been marked as a duplicate of this bug. ***
Comment 11 SpanKY gentoo-dev 2004-08-01 13:53:42 UTC
*** Bug 58370 has been marked as a duplicate of this bug. ***
Comment 12 SpanKY gentoo-dev 2004-08-02 03:42:12 UTC
*** Bug 59105 has been marked as a duplicate of this bug. ***
Comment 13 Sven 2004-08-02 04:04:15 UTC
It seems that the ebuild now copies libgdbm.so.2 if there is any.

The problem is, that the message of the ebuild concerning revdep-rebuild wasn't updated, and doesn't inform about the fact, that libgdbm.so.2 can be deleted.
Comment 14 Jon Nials 2004-08-02 20:47:14 UTC
If you are going to add 58350 as a dupe of this bug without actually understanding it, then it should be reopened. xemacs expects dbm_open to actually be in libgdbm not in libgdbm_compat.