I just did a normal `emerge -auDNv world --keep-going` and it updated dev-libs/isl from 0.15 to 0.21. Unfortunately gcc depends on isl and so compilation was broken. Luckily I could workaround this problem by `ln -s /usr/lib/libisl.so.{21.0.0,15}`. I thought such a problem would be mitigated by the presvere-library feature⁉ Not sure how exactly that feature works though. Also this is maybe also my fault, because I haven’t updated this machine for a while.
It should have worked already. Please post your `emerge --info dev-libs/isl` output in a comment.
Portage 2.3.66 (python 3.6.5-final-0, default/linux/amd64/17.0/desktop/plasma, gcc-8.3.0, glibc-2.29-r2, 4.19.52-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.19.52-gentoo-x86_64-AMD_Athlon-tm-_X4_740_Quad_Core_Processor-with-gentoo-2.6 KiB Mem: 16324608 total, 1018236 free KiB Swap: 16777212 total, 16755596 free Timestamp of repository gentoo: Thu, 03 Oct 2019 09:45:01 +0000 Head commit of repository gentoo: a1ddeefb53647830f2c1b781c51487eecd290d4a Head commit of repository paludis-gentoo-overlay: c5b3ad8a69a8e4444915c3398dd43afa00eccec1 Head commit of repository steam-overlay: 5b099b835b5b8dc7f37390e37e44cebba7cc315d sh dash 0.5.9.1-r3 ld GNU ld (Gentoo 2.31.1 p7) 2.31.1 distcc 3.3.2 x86_64-pc-linux-gnu [disabled] ccache version 3.7.2 [disabled] app-shells/bash: 4.4_p23-r1::gentoo dev-java/java-config: 2.2.0-r4::gentoo dev-lang/perl: 5.28.2-r1::gentoo dev-lang/python: 2.7.15::gentoo, 3.6.5::gentoo dev-util/ccache: 3.7.2::gentoo dev-util/cmake: 3.14.6::gentoo dev-util/pkgconfig: 0.29.2::<unknown repository> sys-apps/baselayout: 2.6-r1::gentoo sys-apps/openrc: 0.41.2::gentoo sys-apps/sandbox: 2.13::<unknown repository> sys-devel/autoconf: 2.13-r1::<unknown repository>, 2.69-r4::<unknown repository> sys-devel/automake: 1.11.6-r3::<unknown repository>, 1.13.4-r2::<unknown repository>, 1.15.1-r2::<unknown repository>, 1.16.1-r1::<unknown repository> sys-devel/binutils: 2.31.1-r6::gentoo, 2.32-r1::gentoo sys-devel/gcc: 8.3.0-r1::gentoo sys-devel/gcc-config: 2.0::<unknown repository> sys-devel/libtool: 2.4.6-r3::gentoo sys-devel/make: 4.2.1-r4::<unknown repository> sys-kernel/linux-headers: 4.19::gentoo (virtual/os-headers) sys-libs/glibc: 2.29-r2::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync8.de.gentoo.org/gentoo-portage priority: -1000 sync-rsync-extra-opts: sync-rsync-verify-max-age: 24 sync-rsync-verify-jobs: 1 sync-rsync-verify-metamanifest: yes paludis-gentoo-overlay location: /var/paludis/repositories/paludis-gentoo-overlay sync-type: git sync-uri: https://github.com/MageSlayer/paludis-gentoo-overlay.git masters: gentoo steam-overlay location: /usr/local/portage/steam-overlay sync-type: git sync-uri: https://github.com/anyc/steam-overlay.git masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE CC-BY-ND-3.0 MPEG-4" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.1/ext-active/ /etc/php/apache2-php7.3/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cgi-php7.3/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/php/cli-php7.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/usr/portage/distfiles" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs candy config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="https://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo" LANG="de_DE.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="de en en_GB" MAKEOPTS="-j4" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac aalib accessibility acl acpi activities alsa amd64 apache2 bcmath berkdb bluetooth branding bzip2 cairo cdda cdparanoia cdr cli consolekit crypt cups curl cxx dbus declarative djvu dri dts dvd dvdr emboss encode exif fam ffmpeg flac fontconfig fortran ftp gd gdbm gif glamor gpm gtk iconv icu imap ipv6 jack java javascript jpeg jpeg2k kde kipi latex latin1 lcms libcaca libnotify libtirpc mad mng mp3 mp4 mpeg multilib mysql mysqli ncurses nls nptl ogg openal opengl openmp oss pam pango pcre pdf phonon php plasma png policykit ppds pulseaudio python qml qt5 readline sdl seccomp semantic-desktop slang sockets spell split-usr ssl startup-notification svg tcpd theora tiff tk truetype udev udisks unicode upower usb v4l vcd vhosts vorbis widgets wxwidgets x264 xattr xcb xcomposite xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2018" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 aes avx fma3 fma4 popcnt sse3 sse4_1 sse4_2 sse4a ssse3 xop" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" L10N="de en en-GB" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-1" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24 ruby25" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa vga" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS ================================================================= Package Settings ================================================================= dev-libs/isl-0.21::gentoo was built with the following: USE="-static-libs" ABI_X86="(64) -32 (-x32)"
I agree FEATURES=preserved-libs should have worked. I'll try to reproduce locally. Meanwhile can you show the past history of gcc and isl install/uninstall orders? $ qlop -muv gcc isl
Maybe /var/db/pkg/sys-devel/gcc-*/NEEDED.ELF.2 was missing or corrupted. If you have not yet rebuilt sys-devel/gcc, then please show: grep "libisl.so" /var/db/pkg/*/*/NEEDED.ELF.2
I have already rebuild gcc. The merge history is short, because I used paludis since 2011 and only switched back to emerge at the beginning of the year. So maybe paludis messed something up when installing isl-0.15 in 2017? # qlop -luv gcc isl Tue Apr 2 08:32:26 2019 <<< sys-devel/gcc-6.4.0-r1 Tue Apr 2 08:32:33 2019 <<< sys-devel/gcc-7.3.0-r3 Thu May 23 11:49:24 2019 >>> sys-devel/gcc-8.3.0-r1 Sat May 25 10:36:38 2019 <<< sys-devel/gcc-8.2.0-r6 Sat May 25 11:27:53 2019 <<< sys-devel/gcc-8.3.0-r1 Sat May 25 11:28:02 2019 >>> sys-devel/gcc-8.3.0-r1 Sat May 25 11:59:02 2019 <<< sys-devel/gcc-8.3.0-r1 Sat May 25 11:59:11 2019 >>> sys-devel/gcc-8.3.0-r1 Sat May 25 15:58:17 2019 <<< sys-devel/gcc-8.3.0-r1 Sat May 25 15:58:28 2019 >>> sys-devel/gcc-8.3.0-r1 Fri Oct 4 10:54:19 2019 <<< dev-libs/isl-0.15 Fri Oct 4 10:54:22 2019 >>> dev-libs/isl-0.21 Fri Oct 4 13:06:45 2019 <<< sys-devel/gcc-8.3.0-r1 Fri Oct 4 13:06:57 2019 >>> sys-devel/gcc-8.3.0-r1
(In reply to Bodo Graumann from comment #5) > I have already rebuild gcc. > The merge history is short, because I used paludis since 2011 and only > switched back to emerge at the beginning of the year. So maybe paludis > messed something up when installing isl-0.15 in 2017? I think it's exactly what happened, yes. Normally portage generates /var/db/pkg/dev-libs/isl-0.21/PROVIDES files to resolve which package should be preserved by files specified in /var/db/pkg/sys-devel/gcc-8.3.0*/NEEDED.ELF.2 I guess paludis does not generate any of these files and switch from paludis to portage did not generate it.
Just to clarify: rebuilding isl with portage restored all the metadata files. You might want to rebuild rest of package with portage to avoid getting into similar situation with other packages. I had a similar problem when switched from paludis and am now using the following script to list packages that were not rebuilt for a while: https://github.com/trofi/root/blob/master/gentoo/old-packages.sh It could be adopted to list all pre-portage packages for you. IIRC missing 'BUILD_TIME' file is a sign of paludis package. Lack of 'repository' file is also a sign of paludis-built package. that's why you get '<unknown repository>' in emerge --info.
Thank you Sergei. I will follow your advise :-)