Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
sys-devel/gcc-4.6.3 fails to compile
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
curmudgeon
Veteran
Veteran


Joined: 08 Aug 2003
Posts: 1610

PostPosted: Tue Feb 19, 2013 1:59 am    Post subject: sys-devel/gcc-4.6.3 fails to compile Reply with quote

Did the updates today and saw:

Code:

 * 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/lib64/libmpc.so.2' && rm '/usr/lib64/libmpc.so.2'


Okay.

But:

Code:

# revdep-rebuild --library '/usr/lib64/libmpc.so.2' && rm '/usr/lib64/libmpc.so.2'
 * Configuring search environment for revdep-rebuild

 * Checking reverse dependencies
 * Packages containing binaries and libraries using /usr/lib64/libmpc.so.2
 * will be emerged.

 * Collecting system binaries and libraries
 * Generated new 1_files.rr
 * Checking dynamic linking
[ 94% ]  *   found /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1
 *   found /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1plus
 *   found /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/f951
 *   found /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/jc1
 *   found /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/lto1
[ 100% ]                 
 * Generated new 3_broken.rr
 * Assigning files to packages
 *   /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1 -> sys-devel/gcc
 *   /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1plus -> sys-devel/gcc
 *   /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/f951 -> sys-devel/gcc
 *   /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/jc1 -> sys-devel/gcc
 *   /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/lto1 -> sys-devel/gcc
 * Generated new 4_raw.rr and 4_owners.rr
 * Cleaning list of packages to rebuild
 * Generated new 4_pkgs.rr
 * Assigning packages to ebuilds
 * Generated new 4_ebuilds.rr
 * Evaluating package order
 * Generated new 5_order.rr
 * All prepared. Starting rebuild
emerge --complete-graph=y --oneshot --verbose --with-bdeps y --pretend sys-devel/gcc:4.6

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] sys-devel/gcc-4.6.3:4.6  USE="cxx fortran gcj gtk mudflap (multilib) nls nptl openmp (-altivec) -doc (-fixed-point) -graphite (-hardened) (-libssp) -multislot -nopie -nossp -objc -objc++ -objc-gc {-test} -vanilla" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB


>>> Verifying ebuild manifests

>>> Emerging (1 of 1) sys-devel/gcc-4.6.3
 * gcc-4.6.3.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                    [ ok ]
 * gcc-4.6.3-uclibc-patches-1.0.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                 [ ok ]
 * gcc-4.6.3-patches-1.11.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                       [ ok ]
 * gcc-4.6.3-piepatches-v0.5.2.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                  [ ok ]
 * gcc-4.4.3-specs-0.2.0.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                        [ ok ]
 * ecj-4.5.jar SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                          [ ok ]
 *
 * LTO support is still experimental and unstable.
 * Any bugs resulting from the use of LTO will not be fixed.
 *
>>> Unpacking source...
>>> Unpacking gcc-4.6.3.tar.bz2 to /var/tmp/portage/sys-devel/gcc-4.6.3/work
>>> Unpacking gcc-4.6.3-patches-1.11.tar.bz2 to /var/tmp/portage/sys-devel/gcc-4.6.3/work
>>> Unpacking gcc-4.6.3-uclibc-patches-1.0.tar.bz2 to /var/tmp/portage/sys-devel/gcc-4.6.3/work
>>> Unpacking gcc-4.6.3-piepatches-v0.5.2.tar.bz2 to /var/tmp/portage/sys-devel/gcc-4.6.3/work
>>> Unpacking gcc-4.4.3-specs-0.2.0.tar.bz2 to /var/tmp/portage/sys-devel/gcc-4.6.3/work
 * Applying Gentoo patches ...
 *   01_all_joined-cpp-defs.patch ...                                                                                                                                        [ ok ]
 *   05_all_gcc-4.6.x-siginfo.patch ...                                                                                                                                      [ ok ]
 *   10_all_default-fortify-source.patch ...                                                                                                                                 [ ok ]
 *   11_all_default-warn-format-security.patch ...                                                                                                                           [ ok ]
 *   12_all_default-warn-trampolines.patch ...                                                                                                                               [ ok ]
 *   15_all_libgfortran-Werror.patch ...                                                                                                                                     [ ok ]
 *   15_all_libgomp-Werror.patch ...                                                                                                                                         [ ok ]
 *   16_all_libgo-Werror-pr53679.patch ...                                                                                                                                   [ ok ]
 *   25_all_alpha-mieee-default.patch ...                                                                                                                                    [ ok ]
 *   26_all_alpha-asm-mcpu.patch ...                                                                                                                                         [ ok ]
 *   29_all_arm_armv4t-default.patch ...                                                                                                                                     [ ok ]
 *   33_all_armhf.patch ...                                                                                                                                                  [ ok ]
 *   34_all_ia64_note.GNU-stack.patch ...                                                                                                                                    [ ok ]
 *   38_all_sh_pr24836_all-archs.patch ...                                                                                                                                   [ ok ]
 *   39_all_cond-store-pr452445.patch ...                                                                                                                                    [ ok ]
 *   40_all_superh-mieee-default-fix-pr33135.patch ...                                                                                                                       [ ok ]
 *   42_all_superh_default-multilib.patch ...                                                                                                                                [ ok ]
 *   50_all_libiberty-asprintf.patch ...                                                                                                                                     [ ok ]
 *   51_all_libiberty-pic.patch ...                                                                                                                                          [ ok ]
 *   52_all_netbsd-Bsymbolic.patch ...                                                                                                                                       [ ok ]
 *   56_all_gcc-ppc-vector-pr48226.patch ...                                                                                                                                 [ ok ]
 *   64_all_gcc-hppa-64bit-pr52408.patch ...                                                                                                                                 [ ok ]
 *   65_all_gcc-hppa-section-conflicts-pr52999.patch ...                                                                                                                     [ ok ]
 *   74_all_gcc46_cloog-dl.patch ...                                                                                                                                         [ ok ]
 *   76_all_4.7.0_c-family-headers.patch ...                                                                                                                                 [ ok ]
 *   80_all_arm_4.7_pr50946_qt-webkit-ICE.patch ...                                                                                                                          [ ok ]
 *   81_all_arm_4.7_pr48808_VFP_LO_REGS.patch ...                                                                                                                            [ ok ]
 *   82_all_alpha_4.6.4_pr56023_bootstrap.patch ...                                                                                                                          [ ok ]
 *   92_all_freebsd-pie.patch ...                                                                                                                                            [ ok ]
 * Done with patching
 * Applying uClibc patches ...
 *   90_all_100-uclibc-conf.patch ...                                                                                                                                        [ ok ]
 *   90_all_301-missing-execinfo_h.patch ...                                                                                                                                 [ ok ]
 *   90_all_302-c99-snprintf.patch ...                                                                                                                                       [ ok ]
 *   90_all_305-libmudflap-susv3-legacy.patch ...                                                                                                                            [ ok ]
 * Done with patching
 * Applying pie patches ...
 *   10_all_gcc45_configure.patch ...                                                                                                                                        [ ok ]
 *   11_all_gcc45_config.in.patch ...                                                                                                                                        [ ok ]
 *   12_all_gcc46_Makefile.in.patch ...                                                                                                                                      [ ok ]
 *   13_all_gcc46_ssp_uclibc_check.patch ...                                                                                                                                 [ ok ]
 *   20_all_gcc46_gcc.c.patch ...                                                                                                                                            [ ok ]
 *   21_all_gcc44_decl-tls-model.patch ...                                                                                                                                   [ ok ]
 *   22_all_gcc46-default-ssp.patch ...                                                                                                                                      [ ok ]
 *   30_all_gcc46_esp.h.patch ...                                                                                                                                            [ ok ]
 *   33_all_gcc46_config_rs6000_linux64.h.patch ...                                                                                                                          [ ok ]
 *   35_all_gcc46_config_crtbeginp.patch ...                                                                                                                                 [ ok ]
 *   60_all_gcc44_invoke.texi.patch ...                                                                                                                                      [ ok ]
 * Done with patching
 * updating multilib directories to be: ../lib64 ../lib32
 * Copying ecj-4.5.jar
 * Running elibtoolize in: gcc-4.6.3/
 *   Applying portage/2.2 patch ...
 *   Applying sed/1.5.6 patch ...
 *   Applying as-needed/2.2.6 patch ...
 * Using GNU config files from /usr/share/gnuconfig
 *   Updating libjava/libltdl/config.sub                                                                                                                                     [ ok ]
 *   Updating libjava/classpath/config.sub                                                                                                                                   [ ok ]
 *   Updating config.sub                                                                                                                                                     [ ok ]
 *   Updating config.guess                                                                                                                                                   [ ok ]
 *   Updating libjava/libltdl/config.guess                                                                                                                                   [ ok ]
 *   Updating libjava/classpath/config.guess                                                                                                                                 [ ok ]
 * Fixing misc issues in configure files
 * Applying gcc-configure-texinfo.patch ...                                                                                                                                  [ ok ]
 * Touching generated files
 *   Touching gcc/cstamp-h.in
 *   Touching gcc/config.in
 * Applying gcc-spec-env.patch ...                                                                                                                                           [ ok ]
>>> Source unpacked in /var/tmp/portage/sys-devel/gcc-4.6.3/work
>>> Compiling source in /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3 ...
 * CFLAGS="-march=native -O2 -pipe"
 * CXXFLAGS="-march=native -O2 -pipe"
 * Configuring gcc ...
 * configuring for GCC_LANG: c,c++,java,fortran

 * PREFIX:                      /usr
 * BINPATH:                     /usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3
 * LIBPATH:                     /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3
 * DATAPATH:            /usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3
 * STDCXX_INCDIR:       /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include/g++-v4

 * Configuring GCC with:
 *      --prefix=/usr
 *      --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3
 *      --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include
 *      --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3
 *      --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/man
 *      --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/info
 *      --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include/g++-v4
 *      --host=x86_64-pc-linux-gnu
 *      --build=x86_64-pc-linux-gnu
 *      --disable-altivec
 *      --disable-fixed-point
 *      --without-ppl
 *      --without-cloog
 *      --enable-lto
 *      --enable-nls
 *      --without-included-gettext
 *      --with-system-zlib
 *      --enable-obsolete
 *      --disable-werror
 *      --enable-secureplt
 *      --enable-multilib
 *      --enable-libmudflap
 *      --disable-libssp
 *      --enable-libgomp
 *      --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/python
 *      --enable-checking=release
 *      --enable-java-awt=gtk
 *      --enable-libstdcxx-time
 *      --enable-languages=c,c++,java,fortran
 *      --enable-shared
 *      --enable-threads=posix
 *      --enable-__cxa_atexit
 *      --enable-clocale=gnu
 *      --enable-targets=all
 *      --with-bugurl=http://bugs.gentoo.org/
 *      --with-pkgversion=Gentoo 4.6.3 p1.11, pie-0.5.2

/var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --disable-fixed-point --without-ppl --without-cloog --enable-lto --enable-nls --without-included-gettext --with-system-zlib --enable-obsolete --disable-werror --enable-secureplt --enable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/python --enable-checking=release --enable-java-awt=gtk --enable-libstdcxx-time --enable-languages=c,c++,java,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-targets=all --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion=Gentoo 4.6.3 p1.11, pie-0.5.2
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln works... yes
checking whether ln -s works... yes
checking for a sed that does not truncate output... /bin/sed
checking for gawk... gawk
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking for C compiler default output file name...
configure: error: in `/var/tmp/portage/sys-devel/gcc-4.6.3/work/build':
configure: error: C compiler cannot create executables
See `config.log' for more details.
 * ERROR: sys-devel/gcc-4.6.3 failed (compile phase):
 *   failed to run configure
 *
 * Call stack:
 *     ebuild.sh, line   93:  Called src_compile
 *   environment, line 4081:  Called toolchain_src_compile
 *   environment, line 4737:  Called gcc_do_configure
 *   environment, line 2310:  Called die
 * The specific snippet of code:
 *       "${S}"/configure "$@" || die "failed to run configure";
 *
 * If you need support, post the output of `emerge --info '=sys-devel/gcc-4.6.3'`,
 * the complete build log and the output of `emerge -pqv '=sys-devel/gcc-4.6.3'`.
 *
 * Please include /var/tmp/portage/sys-devel/gcc-4.6.3/work/build/gcc-build-logs.tar.bz2 in your bug report
 *
 * The complete build log is located at '/var/log/portage/sys-devel:gcc-4.6.3:20130219-000625.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/sys-devel/gcc-4.6.3/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-devel/gcc-4.6.3/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-devel/gcc-4.6.3/work/build'
 * S: '/var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3'

>>> Failed to emerge sys-devel/gcc-4.6.3, Log file:

>>>  '/var/log/portage/sys-devel:gcc-4.6.3:20130219-000625.log'


This has happened on two (very different) machines.

Does anyone have an idea about what is going on?
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 15590

PostPosted: Tue Feb 19, 2013 3:46 am    Post subject: Reply with quote

What does config.log say about the compiler failure?
Back to top
View user's profile Send private message
curmudgeon
Veteran
Veteran


Joined: 08 Aug 2003
Posts: 1610

PostPosted: Tue Feb 19, 2013 6:16 am    Post subject: Reply with quote

Hu wrote:
What does config.log say about the compiler failure?


Seems I am not so good at finding those things. :(

This section looks relevant:

Code:

configure:4203: i686-pc-linux-gnu-gcc -V >&5
i686-pc-linux-gnu-gcc: error: unrecognized option '-V'
i686-pc-linux-gnu-gcc: fatal error: no input files
compilation terminated.
configure:4214: $? = 1
configure:4203: i686-pc-linux-gnu-gcc -qversion >&5
i686-pc-linux-gnu-gcc: error: unrecognized option '-qversion'
i686-pc-linux-gnu-gcc: fatal error: no input files
compilation terminated.
configure:4214: $? = 1
configure:4234: checking for C compiler default output file name
configure:4256: i686-pc-linux-gnu-gcc -march=prescott -O2 -pipe  -Wl,-O1 -Wl,--as-needed conftest.c  >&5
/usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory
configure:4260: $? = 1
configure:4297: result:
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:4303: error: in `/var/tmp/portage/sys-devel/gcc-4.6.3/work/build':
configure:4307: error: C compiler cannot create executables
See `config.log' for more details.


Sure enough, the file is not there:

Code:

$ ls -al /usr/lib/libmpc*
lrwxrwxrwx 1 root root     15 2013-02-18 23:59:45 /usr/lib/libmpc.so -> libmpc.so.3.0.0*
lrwxrwxrwx 1 root root     15 2013-02-18 23:59:45 /usr/lib/libmpc.so.3 -> libmpc.so.3.0.0*
-rwxr-xr-x 1 root root 104332 2013-02-18 23:59:43 /usr/lib/libmpc.so.3.0.0*


The mpc log file ends with:

Code:

 * checking 8 files for package collisions
>>> Merging dev-libs/mpc-1.0.1 to /
--- /usr/
--- /usr/share/
--- /usr/share/info/
>>> /usr/share/info/mpc.info.bz2
--- /usr/share/doc/
>>> /usr/share/doc/mpc-1.0.1/
>>> /usr/share/doc/mpc-1.0.1/TODO.bz2
>>> /usr/share/doc/mpc-1.0.1/README.bz2
>>> /usr/share/doc/mpc-1.0.1/NEWS.bz2
--- /usr/lib/
>>> /usr/lib/libmpc.so.3.0.0
>>> /usr/lib/libmpc.so -> libmpc.so.3.0.0
>>> /usr/lib/libmpc.so.2
>>> /usr/lib/libmpc.so.3 -> libmpc.so.3.0.0
--- /usr/include/
>>> /usr/include/mpc.h
>>> Safely unmerging already-installed instance...
No package files given... Grabbing a set.
--- replaced obj /usr/share/info/mpc.info.bz2
--- replaced dir /usr/share/info
<<<          obj /usr/share/doc/mpc-0.8.2/TODO.bz2
<<<          obj /usr/share/doc/mpc-0.8.2/README.bz2
<<<          obj /usr/share/doc/mpc-0.8.2/NEWS.bz2
--- replaced dir /usr/share/doc
--- replaced dir /usr/share
<<<          obj /usr/lib/libmpc.so.2.0.0
--- replaced sym /usr/lib/libmpc.so.2
--- replaced sym /usr/lib/libmpc.so
<<<          obj /usr/lib/libmpc.la
<<<          obj /usr/lib/libmpc.a
--- replaced dir /usr/lib
--- replaced obj /usr/include/mpc.h
--- replaced dir /usr/include
--- replaced dir /usr
<<<          dir /usr/share/doc/mpc-0.8.2
>>> Regenerating /etc/ld.so.cache...
>>> Original instance of package unmerged safely.
 * 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/libmpc.so.2' && rm '/usr/lib/libmpc.so.2'
>>> dev-libs/mpc-1.0.1 merged.
>>> Regenerating /etc/ld.so.cache...


Did mpc remove the file it was supposed to be protecting?
Back to top
View user's profile Send private message
yuyuyak
n00b
n00b


Joined: 23 Nov 2012
Posts: 54
Location: United States

PostPosted: Tue Feb 19, 2013 8:33 am    Post subject: Reply with quote

Same exact situation here. I have an additional problem, as this is on an old P3 and there are well documented workarounds here in the forums to get gcc-4.6.3 working on that thing (don't be in a hurry :? ).
I do a nightly backup, from last night's backup I can list /usr/lib/libmpc* and get links to libmpc.so.2 and including that file. It no longer exists after tonight's update, now there is only libmpc.so.3 & friends. So I temporarily made a libmpc.so.2 link to libmpc.so.3 and it now allowed compilation of a couple of other broken packages and revdep-rebuild no longer complains about gcc. But of course, it's not right. It will get you through for now though.
Hopefully someone more knowledgeable can shed some light.
dev-libs/mpc-1.0.1 was the culprit:

WARN (postinst)

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/libmpc.so.2' && rm '/usr/lib/libmpc.so.2'

But obviously, they WERE removed 8O
Back to top
View user's profile Send private message
yuyuyak
n00b
n00b


Joined: 23 Nov 2012
Posts: 54
Location: United States

PostPosted: Tue Feb 19, 2013 9:18 am    Post subject: Reply with quote

Update: Got to thinking after the last post. So I tried the revdep-rebuild --library '/usr/lib/libmpc.so.2' && rm '/usr/lib/libmpc.so.2' command again, with the bogus libmpc.so.2 link I had made. It seemed perfect, the actual programs that seem dependent on that here are lxpanel and libfm (pcmanfm or spacefm). Bet the OP has them too. When finished of course the command nuked the bogus link. So I thought I was out of the woods. Revdep-rebuilds go perfectly, 100%.
But not so. Now gcc will not finish the configure phase without the bogus link on any compile.
It seems the route to go is to recompile gcc with the bogus link, or actually I can retrieve the real libmpc.so.2 from backup? And if so, why does revdep-rebuild not flag it as broken? As it requires TWO compiles here @ 4 hours each due to the ancient CPU, I'm hoping someone out there knows the answer.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6356

PostPosted: Tue Feb 19, 2013 4:54 pm    Post subject: Reply with quote

Recompiling gcc with the bogus link (if gcc compiles) is the main issue - the other libraries are not important in this moment. If gcc should fail to compile with the bogus link you are lost - you then need a binary gcc (or the original mpc-2) from some backup or some archive.
After you compiled gcc with the bogus link, remove that link and recompile gcc again (although this is likely redundant it might save you from subtle problems later on, since using a gcc built with a broken library might lead to many hard-to-predict problems).
Then run revdep-rebuild without arguments (and I would suggest to also recompile the libraries afterwards which you have rebuilt while the bogus link was there, but this is only the last step).

Edit: I do not know why the revdep-rebuild command did not list your gcc. Obviously, it should have found it, and here it does.
Back to top
View user's profile Send private message
Helmering
n00b
n00b


Joined: 13 Dec 2011
Posts: 57
Location: Italy

PostPosted: Tue Feb 19, 2013 6:40 pm    Post subject: Reply with quote

Had the same problem here, I removed libmpc.so.2 bevore revdep-rebuild.

yuyuyak wrote:
It seems the route to go is to recompile gcc with the bogus link, or actually I can retrieve the real libmpc.so.2 from backup? And if so, why does revdep-rebuild not flag it as broken? As it requires TWO compiles here @ 4 hours each due to the ancient CPU, I'm hoping someone out there knows the answer.


For me this method was working fine, 1st run emerge gcc with libmpc.so.2 linked against libmpc.so.3.0, afterwards removed libmpc.so.2 and recompiled gcc again. No issues up to now, revdep-rebuild reports nothing.

Cheers Ralf
Back to top
View user's profile Send private message
yuyuyak
n00b
n00b


Joined: 23 Nov 2012
Posts: 54
Location: United States

PostPosted: Tue Feb 19, 2013 6:54 pm    Post subject: Reply with quote

Thank you mv, that's what I gathered from snooping around, but I appreciate the confirmation. Trying it right now, will post results.
It's not my main computer and it doesn't have anything better to do all day.
For the record, revdep-rebuild did complain about gcc when there was no link, just making the link makes that go away.
I have to compile twice anyway due to the P3, once with CFLAGS="i686" and a second time with CFLAGS="native", some other funny stuff too. So maybe I can delete the link in between the two needed compiles, we'll see.
Edit: and thanks to your info too, Helmering. Sorry, didn't see your post until after posting this.
Back to top
View user's profile Send private message
yuyuyak
n00b
n00b


Joined: 23 Nov 2012
Posts: 54
Location: United States

PostPosted: Wed Feb 20, 2013 8:31 am    Post subject: Reply with quote

Did the steps as described by mv and all is well now, revdep-rebuild just finished.
Thanks again to both mv and Helmering for sharing their experience.
Back to top
View user's profile Send private message
Anon-E-moose
Advocate
Advocate


Joined: 23 May 2008
Posts: 4702
Location: Dallas area

PostPosted: Wed Feb 20, 2013 10:18 am    Post subject: Reply with quote

If one is using portage-2.2* series, then it keeps the old libraries around and gives a warning about updating with @preserved-rebuild.
_________________
PRIME x570-pro, 3700x, RX 550 & 560 - 5.8 zen kernel
Acer E5-575 (laptop), i3-7100u - i965 - 5.5 zen kernel
---both---
gcc 9.3.0, profile 17.1 (no-pie & modified) amd64-no-multilib, eudev, openrc, openbox, palemoon
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6356

PostPosted: Wed Feb 20, 2013 10:37 am    Post subject: Reply with quote

I upgraded mpc only now and must say that I do not know what went wrong in your cases:
The old library was preserved as intended. Indeed, the line
Code:
--- replaced sym /usr/lib/libmpc.so.2

indicates that the original symlink was replaced by the old version of library, so it seems that portage (and the ebuild) both did the correct thing.

@Anon-E-moose: In case of such fundmantal libraries, there is another mechanism active than the normal @preserved-rebuild feature of portage-2.2
Back to top
View user's profile Send private message
Helmering
n00b
n00b


Joined: 13 Dec 2011
Posts: 57
Location: Italy

PostPosted: Wed Feb 20, 2013 3:21 pm    Post subject: Reply with quote

mv wrote:
I upgraded mpc only now and must say that I do not know what went wrong in your cases:


in my case I added a "-p" (prevend) to
Code:
revdep-rebuild --library '/usr/lib/libmpc.so.2' && rm '/usr/lib/libmpc.so.2'
so libmpc.so.2 was removed before the rebuild of gcc.
So no problem with the ebuild, my fault.

Cheers Ralf
Back to top
View user's profile Send private message
peerco
n00b
n00b


Joined: 03 Mar 2013
Posts: 1

PostPosted: Sun Mar 03, 2013 5:53 pm    Post subject: Reply with quote

# cd /usr/lib
# ln -s libmpc.so.3.0.0 libmpc.so.2
# emerge --oneshot sys-devel/gcc
# rm libmpc.so.2
# cd ~

(on a 32bit Gentoo)

on a 64bit Gentoo use cd /usr/lib64
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum