Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 58220
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo's Team for Core System packages <base-system@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Jonathan Hudson <jh+gentoobugs@daria.co.uk>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 58220 depends on: Show dependency tree
Bug 58220 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2004-07-24 12:54 0000
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 From Martin Ehmsen (RETIRED) 2004-07-25 02:36:03 0000 -------
It also breaks dev-lang/wml and probably a lot of other packages...

------- Comment #2 From Martin Ehmsen (RETIRED) 2004-07-25 03:58:02 0000 -------
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 From Florian Evers 2004-07-25 05:14:54 0000 -------
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 From Dennis Freise 2004-07-25 05:19:10 0000 -------
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 From Florian Evers 2004-07-25 12:07:28 0000 -------
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 From Florian Evers 2004-07-25 12:41:20 0000 -------
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 From Sven 2004-07-25 13:07:39 0000 -------
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 From SpanKY 2004-07-25 14:13:47 0000 -------
dropped the -a from the cp in the 1.8.3 ebuild

------- Comment #9 From SpanKY 2004-08-01 13:42:09 0000 -------
*** Bug 58350 has been marked as a duplicate of this bug. ***

------- Comment #10 From SpanKY 2004-08-01 13:52:01 0000 -------
*** Bug 19761 has been marked as a duplicate of this bug. ***

------- Comment #11 From SpanKY 2004-08-01 13:53:42 0000 -------
*** Bug 58370 has been marked as a duplicate of this bug. ***

------- Comment #12 From SpanKY 2004-08-02 03:42:12 0000 -------
*** Bug 59105 has been marked as a duplicate of this bug. ***

------- Comment #13 From Sven 2004-08-02 04:04:15 0000 -------
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 From Jon Nials 2004-08-02 20:47:14 0000 -------
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.

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug