Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 611742 - @world update is not finding update to llvm
Summary: @world update is not finding update to llvm
Status: UNCONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on: 612846
Blocks:
  Show dependency tree
 
Reported: 2017-03-04 22:04 UTC by Dutch Ingraham
Modified: 2017-03-16 20:55 UTC (History)
1 user (show)

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 Dutch Ingraham 2017-03-04 22:04:01 UTC
@world update is not finding update to llvm.

I'm running a systemd/hardened desktop with ACCEPT_KEYWORDS="~amd64". The result of an 'emerge -auDN --with-bdeps=y @world' is 'Nothing to merge; quitting.'

However, if I 'emerge -1a sys-devel/llvm', I get '[ebuild  r  U  ] sys-devel/llvm-3.9.1-r1 [3.7.1-r3]'

Adding --complete-graph and --backtrack=30 has no effect.

llvm was installed as a dependency for mesa -> gallium, not directly installed.

emerge --info follows; if anything further is needed, please let me know.

****************************************************************************

emerge --info
Portage 2.3.4 (python 3.4.6-final-0, hardened/linux/amd64, gcc-5.4.0, glibc-2.23-r3, 4.9.13-hardened x86_64)
=================================================================
System uname: Linux-4.9.13-hardened-x86_64-Intel-R-_Core-TM-2_Duo_CPU_E8400_@_3.00GHz-with-gentoo-2.3
KiB Mem:     8031296 total,   3992352 free
KiB Swap:    3993596 total,   3993596 free
Timestamp of repository gentoo: Sat, 04 Mar 2017 10:45:01 +0000
sh bash 4.4_p12
ld GNU ld (Gentoo 2.27 p1.0) 2.27
app-shells/bash:          4.4_p12::gentoo
dev-lang/perl:            5.24.1-r1::gentoo
dev-lang/python:          2.7.13::gentoo, 3.4.6::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.23.2::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r2::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.27::gentoo
sys-devel/gcc:            5.4.0-r3::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r3::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync5.us.gentoo.org/gentoo-portage
    priority: -1000

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=core2 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://cosmos.illinois.edu/pub/gentoo/ http://mirror.usu.edu/mirrors/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
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 acl amd64 berkdb bzip2 cairo cli cracklib crypt cxx dri gdbm hardened iconv ipv6 justify modules multilib ncurses nptl opengl openmp pam pax_kernel pcre pie readline seccomp session ssl ssp systemd tcpd unicode urandom xattr xinerama xtpax zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx sse sse2 mmxext" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="radeon" 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_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-03-04 22:17:41 UTC
Are you sure that your mesa still needs LLVM? Please paste the output of:

  emerge -1vp media-libs/mesa

Also, could you try:

  emerge --depclean -a

and see if the list contains LLVM?
Comment 2 Dutch Ingraham 2017-03-04 22:33:55 UTC
Sorry - I should have included the fact that depcleaning had no effect:

gentoo3 ~ # emerge -ac

 * Always study the list of packages to be cleaned for any obvious
 * mistakes. Packages that are part of the world set will always
 * be kept.  They can be manually added to this set with
 * `emerge --noreplace <atom>`.  Packages that are listed in
 * package.provided (see portage(5)) will be removed by
 * depclean, even if they are part of the world set.
 * 
 * As a safety measure, depclean will not remove any packages
 * unless *all* required dependencies have been resolved.  As a
 * consequence of this, it often becomes necessary to run 
 * `emerge --update --newuse --deep @world` prior to depclean.

Calculating dependencies... done!
>>> No packages selected for removal by depclean
>>> To see reverse dependencies, use --verbose
Packages installed:   434
Packages in world:    31
Packages in system:   46
Required packages:    434
Number removed:       0
gentoo3 ~ #


As to emerge -1vp media-libs/mesa, I'm not sure how to interpret the output as to whether mesa needs llvm; I've tried disabling the llvm/gallium flags, but mesa loses all 3D support without them:

gentoo3 ~ # emerge -1vp media-libs/mesa

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

Calculating dependencies... done!
[ebuild   R    ] media-libs/mesa-17.0.0::gentoo  USE="classic dri3 egl gallium gbm llvm nptl pax_kernel pic -bindist -d3d9 -debug -gles1 -gles2 -opencl -openmax -osmesa (-selinux) -vaapi -valgrind -vdpau -vulkan -wayland -xa -xvmc" ABI_X86="(64) -32 (-x32)" VIDEO_CARDS="radeon (-freedreno) -i915 -i965 -imx -intel -nouveau -r100 -r200 -r300 -r600 -radeonsi (-vc4) (-vivante) -vmware" 0 KiB

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

If you need anything further, please let me know.
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-03-04 22:36:34 UTC
Hm, one more idea:

  emerge --depclean -v llvm

It should print what's requiring LLVM on your system. It might be that some other package requires old LLVM.
Comment 4 Dutch Ingraham 2017-03-04 22:44:36 UTC
Again, I'll have to leave this up to you to interpret, but just mesa is requiring it:

gentoo3 ~ # emerge -avc llvm

Calculating dependencies... done!
  sys-devel/llvm-3.7.1-r3 pulled in by:
    media-libs/mesa-17.0.0 requires <sys-devel/llvm-5:0/3.7.1=, >=sys-devel/llvm-3.6.0:0[abi_x86_64(-)], <sys-devel/llvm-5:=[abi_x86_64(-)]

>>> No packages selected for removal by depclean
Packages installed:   434
Packages in world:    31
Packages in system:   46
Required packages:    434
Number removed:       0
gentoo3 ~ #


One quirk I found, which may be due to the fact that llvm is a compiler, so it may have to do with bootstrapping somehow, but 'equery depends llvm' returns llvm as a dependency of itself:

media-libs/mesa-17.0.0 [snip a bunch of if-thens]
sys-devel/llvm-3.7.1-r3 (>=sys-devel/llvm-3.5)
Comment 5 Zac Medico gentoo-dev 2017-03-04 23:05:42 UTC
(In reply to Dutch Ingraham from comment #0)
> @world update is not finding update to llvm.
> 
> I'm running a systemd/hardened desktop with ACCEPT_KEYWORDS="~amd64". The
> result of an 'emerge -auDN --with-bdeps=y @world' is 'Nothing to merge;
> quitting.'

Does it make a difference if you add --ignore-built-slot-operator-deps=y to your emerge command?
Comment 6 Dutch Ingraham 2017-03-04 23:16:30 UTC
That works:

gentoo3 ~ # emerge -auDN --with-bdeps=y --ignore-built-slot-operator-deps=y @world

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

Calculating dependencies... done!
[ebuild     U  ] sys-devel/llvm-3.9.1-r1 [3.7.1-r3] USE="sanitize%* -default-compiler-rt% -default-libcxx%" LLVM_TARGETS="AMDGPU%* BPF%* NVPTX%* (X86%*) -AArch64% -ARM% -Hexagon% -MSP430% -Mips% -PowerPC% -Sparc% -SystemZ% -XCore%" 

Would you like to merge these packages? [Yes/No] n

Quitting.

gentoo3 ~ #

Hope this helps (because the description in the man page doesn't help *me* that much!)
Comment 7 Dutch Ingraham 2017-03-05 14:30:18 UTC
'emerge -auDN --with-bdeps=y @world' now seeing the llvm update, so this bug can be closed.

Thanks to all who participated here and on IRC and the mailing list!
Comment 8 Zac Medico gentoo-dev 2017-03-05 18:21:06 UTC
(In reply to Dutch Ingraham from comment #7)
> 'emerge -auDN --with-bdeps=y @world' now seeing the llvm update, so this bug
> can be closed.

Did you make some kind of change to your configuration in order to get it working? It would be useful to know the specific configuration issue that triggered the problem for you.
Comment 9 Dutch Ingraham 2017-03-05 20:40:22 UTC
No, I thought *you* tweaked it! I just went to bed and ran a normal update (eix-sync && emerge -auDN --with-bdeps=y @world) first thing this morning.  Updates to llvm and a rebuild for mesa were there (and they were the only ones.)

Just to rule some common things out, this was not a mirror problem, since the one-shot command found the update (in my initial post); this is also not due to the "state" of my machine, i.e., some configuration change that did not become effective without a reboot, as I first noticed the problem 2 days ago and discussed on #gentoo, shut the system down for the night, then confirmed again the following morning (yesterday for me) and took it to the mailing list before making this bug report.

I don't have any answers, but will provide any other information should you deem fit.
Comment 10 Zac Medico gentoo-dev 2017-03-05 21:47:23 UTC
It's possible that this issue is triggered randomly, depending on random effects which alter the path taken during backtracking. A larger --backtrack value might lead to more predictable results.
Comment 11 Zac Medico gentoo-dev 2017-03-05 21:59:29 UTC
They recently added mesa-17.0.1, so if that update got pulled in, then emerge would not have to trigger a rebuild for mesa-17.0.0:

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5eff6ce6cec54eb7ff5b2ff53f1c24bbfbab8b8f
Comment 12 Dutch Ingraham 2017-03-06 00:16:48 UTC
I had previously tried a backtrack=30, which had no effect on the issue. I suppose I could have tried some larger number, but didn't think of it.  Some other things that were tried are documented in this mailing list thread:

https://archives.gentoo.org/gentoo-user/message/1cae40ecd04093f67b14c908ec8ac17b

Also I just logged into the subject machine and check the logs - in fact mesa was upgraded, not just rebuilt as I stated above:

1488719137:  === (2 of 2) Merging (media-libs/mesa-17.0.1::/usr/portage/media-libs/mesa/mesa-17.0.1.ebuild)
1488719139:  >>> AUTOCLEAN: media-libs/mesa:0
1488719139:  === Unmerging... (media-libs/mesa-17.0.0)
1488719142:  >>> unmerge success: media-libs/mesa-17.0.0
1488719147:  === (2 of 2) Post-Build Cleaning (media-libs/mesa-17.0.1::/usr/portage/media-libs/mesa/mesa-17.0.1.ebuild)
1488719147:  ::: completed emerge (2 of 2) media-libs/mesa-17.0.1 to /

I could speculate that the upgrade of mesa somehow triggered the (up till now hidden from @world) llvm upgrade.  Is that what you were saying?
Comment 13 Zac Medico gentoo-dev 2017-03-06 04:46:19 UTC
(In reply to Dutch Ingraham from comment #12)
> I could speculate that the upgrade of mesa somehow triggered the (up till
> now hidden from @world) llvm upgrade.  Is that what you were saying?

Yes, because the <sys-devel/llvm-5:0/3.7.1= dependency from the previous version of mesa was locked to the 3.7.1 subslot of llvm, and a failure to trigger a rebuild of mesa would prevent the llvm upgrade. Since there was a new version of mesa available, the <sys-devel/llvm-5:0/3.7.1= dependency was no longer relevant, so it suppressed the problem.
Comment 14 Zac Medico gentoo-dev 2017-03-16 20:55:46 UTC
This bug was probably a symptom of bug 612846.