Doing an upgrade, there was a dev-libs/mpfr-3.0.0 upgrade, it unmerged the package safely, but then could not install the new one: --- replaced dir /sys_tools/usr <<< dir /sys_tools/usr/share/doc/mpfr-2.4.2_p3/html <<< dir /sys_tools/usr/share/doc/mpfr-2.4.2_p3/examples <<< dir /sys_tools/usr/share/doc/mpfr-2.4.2_p3 >>> Original instance of package unmerged safely. Traceback (most recent call last): File "/sys_tools/usr/bin/emerge", line 44, in <module> retval = emerge_main() File "/sys_tools/usr/lib/portage/pym/_emerge/main.py", line 1684, in emerge_main myopts, myaction, myfiles, spinner) File "/sys_tools/usr/lib/portage/pym/_emerge/actions.py", line 441, in action_build retval = mergetask.merge() File "/sys_tools/usr/lib/portage/pym/_emerge/Scheduler.py", line 1085, in merge rval = self._merge() File "/sys_tools/usr/lib/portage/pym/_emerge/Scheduler.py", line 1403, in _merge self._main_loop() File "/sys_tools/usr/lib/portage/pym/_emerge/Scheduler.py", line 1545, in _main_loop self._poll_loop() File "/sys_tools/usr/lib/portage/pym/_emerge/PollScheduler.py", line 138, in _poll_loop handler(f, event) File "/sys_tools/usr/lib/portage/pym/_emerge/SpawnProcess.py", line 203, in _output_handler self._unregister_if_appropriate(event) File "/sys_tools/usr/lib/portage/pym/_emerge/AbstractPollTask.py", line 49, in _unregister_if_appropriate self.wait() File "/sys_tools/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 41, in wait self._wait_hook() File "/sys_tools/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 114, in _wait_hook self._exit_listener_stack.pop()(self) File "/sys_tools/usr/lib/portage/pym/_emerge/EbuildPhase.py", line 195, in _post_phase_exit self.wait() File "/sys_tools/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 41, in wait self._wait_hook() File "/sys_tools/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 114, in _wait_hook self._exit_listener_stack.pop()(self) File "/sys_tools/usr/lib/portage/pym/_emerge/TaskSequence.py", line 43, in _task_exit_handler self.wait() File "/sys_tools/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 41, in wait self._wait_hook() File "/sys_tools/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 114, in _wait_hook self._exit_listener_stack.pop()(self) File "/sys_tools/usr/lib/portage/pym/_emerge/CompositeTask.py", line 105, in _default_final_exit return self.wait() File "/sys_tools/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 41, in wait self._wait_hook() File "/sys_tools/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 114, in _wait_hook self._exit_listener_stack.pop()(self) File "/sys_tools/usr/lib/portage/pym/_emerge/EbuildBuild.py", line 237, in _build_exit self.wait() File "/sys_tools/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 41, in wait self._wait_hook() File "/sys_tools/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 114, in _wait_hook self._exit_listener_stack.pop()(self) File "/sys_tools/usr/lib/portage/pym/_emerge/CompositeTask.py", line 105, in _default_final_exit return self.wait() File "/sys_tools/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 41, in wait self._wait_hook() File "/sys_tools/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 114, in _wait_hook self._exit_listener_stack.pop()(self) File "/sys_tools/usr/lib/portage/pym/_emerge/Scheduler.py", line 1382, in _build_exit self._schedule() File "/sys_tools/usr/lib/portage/pym/_emerge/PollScheduler.py", line 52, in _schedule return self._schedule_tasks() File "/sys_tools/usr/lib/portage/pym/_emerge/Scheduler.py", line 1579, in _schedule_tasks if q.schedule(): File "/sys_tools/usr/lib/portage/pym/_emerge/SequentialTaskQueue.py", line 55, in schedule task.start() File "/sys_tools/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 23, in start self._start() File "/sys_tools/usr/lib/portage/pym/_emerge/PackageMerge.py", line 43, in _start self.returncode = self.merge.merge() File "/sys_tools/usr/lib/portage/pym/_emerge/MergeListItem.py", line 147, in merge retval = self._install_task.install() File "/sys_tools/usr/lib/portage/pym/_emerge/EbuildBuild.py", line 325, in install rval = merge.execute() File "/sys_tools/usr/lib/portage/pym/_emerge/EbuildMerge.py", line 26, in execute blockers=self.find_blockers) File "/sys_tools/usr/lib/portage/pym/portage/dbapi/vartree.py", line 4007, in merge mydbapi=mydbapi, prev_mtimes=prev_mtimes) File "/sys_tools/usr/lib/portage/pym/portage/dbapi/vartree.py", line 3858, in merge mydbapi=mydbapi, prev_mtimes=prev_mtimes) File "/sys_tools/usr/lib/portage/pym/portage/dbapi/vartree.py", line 3879, in _merge cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes) File "/sys_tools/usr/lib/portage/pym/portage/dbapi/vartree.py", line 3443, in treewalk cpv_lib_map = self._find_unused_preserved_libs() File "/sys_tools/usr/lib/portage/pym/portage/dbapi/vartree.py", line 2445, in _find_unused_preserved_libs soname = linkmap.getSoname(preserved_node) File "/sys_tools/usr/lib/portage/pym/portage/util/_dyn_libs/LinkageMapELF.py", line 493, in getSoname raise KeyError("%s not in object list" % obj_key) KeyError: "[u'/sys_tools/usr/lib/libmpfr.so.1.2.2'] not in object list" Doing an install of mpfr fails: >>> Emerging (1 of 1) dev-libs/mpfr-3.0.0 --- Invalid atom in /sys_tools/usr/portage/profiles/prefix/sunos/solaris/5.10/x86/package.use.mask: Slot deps are not allowed in EAPI 0: 'sys-devel/gcc:4.3' * mpfr-3.0.0.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * Package: dev-libs/mpfr-3.0.0 * Repository: gentoo_prefix * Maintainer: toolchain@gentoo.org * USE: elibc_SunOS kernel_SunOS prefix userland_GNU x86-solaris >>> Unpacking source... >>> Unpacking mpfr-3.0.0.tar.bz2 to /sys_tools/var/tmp/portage/dev-libs/mpfr-3.0.0/work >>> Source unpacked in /sys_tools/var/tmp/portage/dev-libs/mpfr-3.0.0/work >>> Compiling source in /sys_tools/var/tmp/portage/dev-libs/mpfr-3.0.0/work/mpfr-3.0.0 ... * econf: updating mpfr-3.0.0/config.sub with /sys_tools/usr/share/gnuconfig/config.sub * econf: updating mpfr-3.0.0/config.guess with /sys_tools/usr/share/gnuconfig/config.guess ./configure --prefix=/sys_tools/usr --build=i386-pc-solaris2.10 --host=i386-pc-solaris2.10 --mandir=/sys_tools/usr/share/man --infodir=/sys_tools/usr/share/info --datadir=/sys_tools/usr/share --sysconfdir=/sys_tools/etc --localstatedir=/sys_tools/var/lib checking for a BSD-compatible install... /sys_tools/usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /sys_tools/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to disable maintainer-specific portions of Makefiles... yes checking build system type... i386-pc-solaris2.10 checking host system type... i386-pc-solaris2.10 checking for grep that handles long lines and -e... /sys_tools/bin/grep checking for egrep... /sys_tools/bin/grep -E checking for a sed that does not truncate output... /sys_tools/bin/sed checking for i386-pc-solaris2.10-gcc... i386-pc-solaris2.10-gcc checking whether the C compiler works... no configure: error: in `/sys_tools/var/tmp/portage/dev-libs/mpfr-3.0.0/work/mpfr-3.0.0': configure: error: C compiler cannot create executables See `config.log' for more details. !!! Please attach the following file when seeking support: !!! /sys_tools/var/tmp/portage/dev-libs/mpfr-3.0.0/work/mpfr-3.0.0/config.log * ERROR: dev-libs/mpfr-3.0.0 failed: * econf failed * * Call stack: * ebuild.sh, line 62: Called src_compile * environment, line 2712: Called _eapi0_src_compile * ebuild.sh, line 630: Called econf * ebuild.sh, line 564: Called die * The specific snippet of code: * die "econf failed" * * If you need support, post the output of 'emerge --info =dev-libs/mpfr-3.0.0', * the complete build log and the output of 'emerge -pqv =dev-libs/mpfr-3.0.0'. * The complete build log is located at '/sys_tools/var/tmp/portage/dev-libs/mpfr-3.0.0/temp/build.log'. * The ebuild environment file is located at '/sys_tools/var/tmp/portage/dev-libs/mpfr-3.0.0/temp/environment'. * S: '/sys_tools/var/tmp/portage/dev-libs/mpfr-3.0.0/work/mpfr-3.0.0' >>> Failed to emerge dev-libs/mpfr-3.0.0, Log file: >>> '/sys_tools/var/tmp/portage/dev-libs/mpfr-3.0.0/temp/build.log' * Messages for package dev-libs/mpfr-3.0.0: * ERROR: dev-libs/mpfr-3.0.0 failed: * econf failed * * Call stack: * ebuild.sh, line 62: Called src_compile * environment, line 2712: Called _eapi0_src_compile * ebuild.sh, line 630: Called econf * ebuild.sh, line 564: Called die * The specific snippet of code: * die "econf failed" * * If you need support, post the output of 'emerge --info =dev-libs/mpfr-3.0.0', * the complete build log and the output of 'emerge -pqv =dev-libs/mpfr-3.0.0'. * The complete build log is located at '/sys_tools/var/tmp/portage/dev-libs/mpfr-3.0.0/temp/build.log'. * The ebuild environment file is located at '/sys_tools/var/tmp/portage/dev-libs/mpfr-3.0.0/temp/environment'. * S: '/sys_tools/var/tmp/portage/dev-libs/mpfr-3.0.0/work/mpfr-3.0.0' From config.log: configure:3941: checking whether the C compiler works configure:3963: i386-pc-solaris2.10-gcc -O2 -pipe -I/sys_tools/usr/include -L/sys_tools/usr/lib -R/sys_tools/usr/lib -L/sys_tools/lib -R/sys_tools/lib conftest.c >&5 libc.so.1: cc1: fatal: libmpfr.so.1: open failed: No such file or directory i386-pc-solaris2.10-gcc: Internal error: Killed (program cc1) Please submit a full bug report. See <http://bugs.gentoo.org/> for instructions. Can I get fixed?
Created attachment 248978 [details] config.log
Actually this is happening on all my prefix portage copies. Solaris: sparc/x86 Linux: 32-bit/64-bit Any quick way to get it fixed? Or is there any other way to prevent this from happening?
This is a portage issue related to the preserve-libs feature. Not sure of a workaround at the moment.
I assume your compiler is completely h0rkened right now? Do you have any compilers left? Portage is the culprit here, you better not use >15333 it seems.
(In reply to comment #2) > Any quick way to get it fixed? Maybe copying the new lib to the old one's name could make it roll again, since it's just missing the old libs for not-yet-rebuilt packages. Though this is completely untested.
Well, I can get back recovering from a backup. Should I mask out mpfr for the time being? How would I get it updated without breaking things?
mask portage instead, in the meanwhile I'll try to debug and fix this
I have this in my make.conf: USE_PYTHON="2.6 2.7" is that correct?
Ignore my last comment which is on the wrong bug. Appropriate portage versions are masked now.
http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=4dc0f843161f857be388af141cddf5c7b0b3d567
released in sys-apps/portage-2.2.01.16711, masked for hopefully more isolated testing
If you need help on recovering your system, please say so. The bug is closed, but that doesn't mean I want to help you get going again.
I got our emerge copy running again. I did have to recover it from a backup. I've since them resynced and so far so good. Upgrading mpfr worked. I just had to emerge @preserved-rebuild to rebuild what was linked against the old one.