Summary: | sys-devel/gcc-4.5.3-r1: libgmp.so.3: cannot open shared object file | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Mike Hammill <michael> |
Component: | [OLD] Core system | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
Status: | RESOLVED INVALID | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | PPC | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build log
config log |
Description
Mike Hammill
2011-11-15 08:33:17 UTC
Created attachment 292601 [details]
build log
Created attachment 292603 [details]
config log
As instructed by the ebuild, here is some further output requested if one is going to submit a bug: quicky ~ # emerge -pqv =sys-devel/gcc-4.5.3-r1 [ebuild R ] sys-devel/gcc-4.5.3-r1 USE="altivec cxx%* fortran gtk mudflap nls nptl openmp -bootstrap -build -doc (-fixed-point) -gcj -graphite (-hardened) (-libffi) -lto (-multilib) -multislot -nocxx -nopie -nossp -objc -objc++ -objc-gc -test -vanilla" /usr/libexec/gcc/powerpc-unknown-linux-gnu/4.5.3/cc1: error while loading shared libraries: libgmp.so.3: cannot open shared object file: No such file or directory Not related to USE flags. Your machine is inconsistant and you need to run revdep-rebuild. (In reply to comment #4) > /usr/libexec/gcc/powerpc-unknown-linux-gnu/4.5.3/cc1: error while loading > shared libraries: libgmp.so.3: cannot open shared object file: No such file or > directory > > Not related to USE flags. Your machine is inconsistant and you need to run > revdep-rebuild. Yesterday, as instructed by gmp-5.0.2 * Old versions of installed libraries were detected on your system. * In order to avoid breaking packages that depend on these old libs, * the libraries are not being removed. You need to run revdep-rebuild * in order to remove these old dependencies. If you do not have this * helper program, simply emerge the 'gentoolkit' package. * # revdep-rebuild --library '/usr/lib/libgmp.so.3' revdep req'd on '/usr/lib/libgmp.so.3' * Once you've finished running revdep-rebuild, it should be safe to * delete the old libraries. Here is a copy & paste for the lazy: * # rm '/usr/lib/libgmp.so.3' ** Running revdep-rebuild '/usr/lib/libgmp.so.3' * Configuring search environment for revdep-rebuild * Checking reverse dependencies * Packages containing binaries and libraries using '/usr/lib/libgmp.so.3' * will be emerged. * Collecting system binaries and libraries * Generated new 1_files.rr * Checking dynamic linking * There are no dynamic links to '/usr/lib/libgmp.so.3'... All done. So there seems to be a bug then in revdep-rebuild??????? Just so the order is clear. I ran revdep-rebuild yesterday, whereas I ran the update for gcc today. So, revdep should have found that gcc needed to rebuilt yesterday. eix reports: app-portage/gentoolkit-0.3.0.4-r4 I'll run revdep again now, and see if it still missing gcc. (In reply to comment #4) > /usr/libexec/gcc/powerpc-unknown-linux-gnu/4.5.3/cc1: error while loading > shared libraries: libgmp.so.3: cannot open shared object file: No such file or > directory > > Not related to USE flags. Your machine is inconsistant and you need to run > revdep-rebuild. This seems like either (1) a bug in the message given in the e-build for libgmp, which explicitly says to use --library /usr/lib/libgmp.so.3 or (2) a bug in revdep-rebuild for not knowing that a search for /usr/lib/libgmp.so.3 should also do on on libgmp.so.3. I doubt (2), but here is why I say that: Doing what libgmp suggests, as says, does not work (even now). I get: quicky ~ # revdep-rebuild -ip -L /usr/lib/libgmp.so.3 * Configuring search environment for revdep-rebuild * Checking reverse dependencies * Packages containing binaries and libraries using /usr/lib/libgmp.so.3 * will be emerged. * Collecting system binaries and libraries * Generated new 1_files.rr * Checking dynamic linking [ 100% ] However, quicky ~ # revdep-rebuild -ip -L libgmp.so.3 && revdep-rebuild -ip both correctly identify the problem. Should this be reported as a bug to libgmp then? Final note: I followed the same procedure which led to this problem on ppc32 on the following archs, but on those I had no problem: x86_64, x86, sparc64. Why did this problem only show up on ppc32? OK, really is my final note on why I think there *IS* a bug to report here. Thank goodness for tmux scrollback, I re-checked the steps leading to my broken gcc (which, by the way, can't be fixed as you suggested. revdep-rebuild only suggests packages to rebuild; if gcc has been broken, you have to do some backup restores, so I think this is a rather nasty bug). Here were my steps: 1. update gmp-5.0.2 (caused by gentoo adding cxx flag) 2. immediately after update, run revdep-rebuild -ip -L '/usr/lib/libgmp.so.3' as suggested by gmp ebuild 3. immediately after that, run revdep-rebuild -ip as my script always does that after every depclean 4. immediately after that, manually delete /usr/lib/libgmp.so.3 *as the gmp ebuild says to do* 5. receive nice newly broken gcc, report bug and are told you should run revdep-rebuild, which of course, now that libgmp.so.3 is gone, reports problems. Too bad if one actually follows what the e-build says? Works on all other architectures I run. Just not ppc32. Marking the bug invalid seems like it will lead others to problems. I had backups, so no big deal. I am filing the bug for the sake of others I could image running into the same problem. For other poor souls bitten by this, I'll add my latest encounter with this: (on amd64) 1. Do an upgrade, gmp is upgraded 2. The upgrade suggests: # revdep-rebuild --library '/usr/lib64/libgmp.so.3' 3. Using this, no files linking to it are found # rm '/usr/lib/libgmp.so.3' 4. congrats, gcc (specifically: /usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.3/cc1) is now broken due to missing libgmp.so.3 4.1 Interestingly: # file /usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.3/cc1 /usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.3/cc1: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped # ldd /usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.3/cc1 not a dynamic executable So perhaps that's why revdep-rebuild does the Wrong Thing (TM). 5. [recover libgmp.so.3 from backup] 6. # emerge -1 gcc sys-devel/gcc-4.5.3-r2 is rebuilt 7. # rm '/usr/lib/libgmp.so.3' 8. congrats, it's broken still/again 9. [recover libgmp.so.3 again] 10. Hmm. Idea: # revdep-rebuild --library 'libgmp.so.3' 11. Without the specific path, dev-libs/mpc is found to be using libgmp.so.3 and gets rebuilt 12. Now, removing libgmp.so.3 no longer poses a problem. |