emerge -uDv world upgraded curl-7.11.1 to curl-7.12.0. Then went to run xine and got the following error. pvarner@garath pvarner $ xine xine: error while loading shared libraries: libcurl.so.2: cannot open shared object file: No such file or directory A review of the output from emerge shows that this upgrade removed libcurl.so.2 and installed libcurl.so.2. Additionally, there are no einfo or ewarn messages in the ebuild indicating that this release could break things. Running revdep-rebuild fixes everything. However, doing something like what is being done for bug# 32510 would be nice. Reproducible: Always Steps to Reproduce: 1. upgrade curl from 7.11.0 to 7.12.0 2. try to run a program compiled against 7.11.0 (in this case xine) 3. Actual Results: Software compiled against the previous versions fail due to a missing library Expected Results: At a minimum, instruct the user that this release breaks things and that they need to run revdep-rebuild to rebuild the affected packages. Portage 2.0.51_pre13 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.4.20040619-r0, 2.6.7-gentoo-r11 i686 Intel(R) Pentium(R) 4 CPU 1.80GHz) ================================================================= System uname: 2.6.7-gentoo-r11 i686 Intel(R) Pentium(R) 4 CPU 1.80GHz Gentoo Base System version 1.5.1 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.14.90.0.8-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O2 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache fixpackages sandbox" GENTOO_MIRRORS="http://gentoo.mirrors.pair.com/ http://gentoo.osuosl.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X acpi alsa arts artswrappersuid audiofile avi berkdb cdr crypt cups dvd encode fam fbcon foomaticdb gdbm gif gpm gtk gtk2 imlib java javascript jpeg kde libg++ libwww mad mbox mikmod mmx motif mozilla moznocompose moznoirc moznomail mpeg ncurses nls nptl oggvorbis opengl pam pda pdflib perl png ppds python qt quicktime readline sasl sdl slang spell sse ssl tcltk tcpd tiff truetype usb x86 xml2 xmms xv zlib linguas_en"
jep same prob overhere :(
yep .. i'm on it ..
i added a quick symlink since there doesn't seem to be any API breakages. can you please verify whether just a symlink works?
Adding the symlink appears to work properly for me.
In my earlier comments, I added the symlink manually to check the affected applications. I just emerged the newer ebuild and unfortunatly when emerge unmerges the prior version it removes the symlink. So everything is still broken.
I suggest adding a few package names to the list... including: xine! I sat down to watch a dvd.. and it didn't work! aaron@escargot ~ $ xine xine: error while loading shared libraries: libcurl.so.2: cannot open shared object file: No such file or directory aaron@escargot ~ $ ************** root@escargot /usr/lib # ls -lah libcurl.* -rw-r--r-- 1 root root 266K Jul 24 23:01 libcurl.a -rwxr-xr-x 1 root root 822 Jul 24 23:01 libcurl.la lrwxrwxrwx 1 root root 16 Jul 24 23:01 libcurl.so -> libcurl.so.3.0.0 lrwxrwxrwx 1 root root 16 Jul 24 23:01 libcurl.so.3 -> libcurl.so.3.0.0 -rwxr-xr-x 1 root root 200K Jul 24 23:01 libcurl.so.3.0.0 root@escargot /usr/lib # ln -s libcurl.so.3.0.0 libcurl.so.2 root@escargot /usr/lib # exit exit aaron@escargot ~ $ xine This is xine (X11 gui) - a free video player v0.99.2. (c) 2000-2004 The xine Team. ********* made it work ofcourse... (just like for everyone else)
emm .. sorry .. silly mistake by me .. the symlink didn't get created properly. -r1 is now in portage that should work.
It still doesn't appear to be working correctly for -r1. >>> Merging net-misc/curl-7.12.0-r1 to / --- /usr/ --- /usr/lib/ >>> /usr/lib/libcurl.so.3.0.0 >>> /usr/lib/libcurl.so.3 -> libcurl.so.2 >>> /usr/lib/libcurl.so -> libcurl.so.3.0.0 >>> /usr/lib/libcurl.la >>> /usr/lib/libcurl.a ... >>> Unmerging net-misc/curl-7.11.1... No package files given... Grabbing a set. --- !mtime obj /usr/bin/curl-config --- !mtime obj /usr/bin/curl <<< sym /usr/lib/libcurl.so.2 <<< dir /usr/share/doc/curl-7.11.1 pvarner@garath pvarner $ xine xine: error while loading shared libraries: libcurl.so.2: cannot open shared object file: No such file or directory
I just emerged -r2 and it is working correctly. Thanks.
Final question: Even though the API didn't change between libcurl.so.2 and libcurl.so.3, should we run "revdep-rebuild --soname libcurl.so.2"?
sorry .. i forgot to close this bug. i screwed up twice .. what a great day :( the api didn't change, the change in major library version seemed to be arbitary. i can't think why you need to run revdep-rebuild atm. but thats what i can see from the changelog.
Just adding a comment for anyone having a problem with ogg after upgrading to this version of curl. Re-emerging vorbis-tools will get ogg123 working again.
Add php (cli, cgi and apache modul) to list of affected aplication. I don't think revdep-rebuild is proper solution - if it's not security issue, I would preffer slotting affected library. Of course, in this case I try that symlink ...