Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 696168 - =dev-libs/isl-0.15 is not preserved, breaking sys-devel/gcc
Summary: =dev-libs/isl-0.15 is not preserved, breaking sys-devel/gcc
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-10-04 09:43 UTC by Bodo Graumann
Modified: 2019-10-05 07:20 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bodo Graumann 2019-10-04 09:43:21 UTC
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.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2019-10-04 15:30:39 UTC
It should have worked already.

Please post your `emerge --info dev-libs/isl` output in a comment.
Comment 2 Bodo Graumann 2019-10-04 16:17:25 UTC
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)"
Comment 3 Sergei Trofimovich (RETIRED) gentoo-dev 2019-10-04 19:20:33 UTC
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
Comment 4 Arfrever Frehtes Taifersar Arahesis 2019-10-04 19:37:41 UTC
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
Comment 5 Bodo Graumann 2019-10-04 20:51:04 UTC
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
Comment 6 Sergei Trofimovich (RETIRED) gentoo-dev 2019-10-04 21:55:26 UTC
(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.
Comment 7 Sergei Trofimovich (RETIRED) gentoo-dev 2019-10-04 22:08:22 UTC
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.
Comment 8 Bodo Graumann 2019-10-05 07:20:23 UTC
Thank you Sergei. I will follow your advise :-)