last change in mesa-9.2.5.ebuild causes a slot conflict and emerge wants to downgrade to llvm-3.3-r3 @preserved-rebuild http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-libs/mesa/mesa-9.2.5.ebuild?r1=1.1&r2=1.2&sortby=date >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. !!! existing preserved libs: >>> package: sys-devel/llvm-3.4 * - /usr/lib64/libLLVM-3.3.so * used by /usr/lib64/OpenCL/vendors/mesa/libOpenCL.so.1.0.0 (media-libs/mesa-9.2.5) * used by /usr/lib64/egl/egl_gallium.so (media-libs/mesa-9.2.5) * used by /usr/lib64/gallium-pipe/pipe_r600.so (media-libs/mesa-9.2.5) * used by 9 other files Use emerge @preserved-rebuild to rebuild packages using these libraries * After world updates, it is important to remove obsolete packages with * emerge --depclean. Refer to `man emerge` for more information. jlgentoo ~ # emerge -avt @preserved-rebuild These are the packages that would be merged, in reverse order: Calculating dependencies... done! [ebuild R ] media-libs/mesa-9.2.5 USE="classic egl gallium gbm llvm llvm-shared-libs nptl opencl openvg osmesa r600-llvm-compiler vdpau xa xorg xvmc -bindist -debug -gles1 -gles2 -pax_kernel -pic (-selinux) -wayland" ABI_X86="(64) -32 (-x32)" VIDEO_CARDS="r600 radeon (-freedreno) -i915 -i965 -ilo -intel -nouveau -r100 -r200 -r300 -radeonsi -vmware" 0 kB [ebuild UD ] sys-devel/llvm-3.3-r3:0/3.3 [3.4:0/3.4] USE="clang libffi static-analyzer xml -debug -doc -gold -multitarget -ocaml -python {-test} -udis86 (-ncurses%*)" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7 -pypy2_0 -python2_6" VIDEO_CARDS="radeon" 0 kB Total: 2 packages (1 downgrade, 1 reinstall), Size of downloads: 0 kB !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: sys-devel/llvm:0 (sys-devel/llvm-3.4::gentoo, installed) pulled in by ~sys-devel/llvm-3.4[clang(-),debug=,multitarget?,python?,static-analyzer,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?] required by (sys-devel/clang-3.4-r100::gentoo, installed) >=sys-devel/llvm-3.4 required by (dev-libs/libclc-0.0.1_pre20140101::gentoo, installed) (sys-devel/llvm-3.3-r3::gentoo, ebuild scheduled for merge) pulled in by <sys-devel/llvm-3.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?] required by (media-libs/mesa-9.2.5::gentoo, ebuild scheduled for merge) (and 1 more with the same problem) It may be possible to solve this problem by using package.mask to prevent one of those packages from being selected. However, it is also possible that conflicting dependencies exist such that they are impossible to satisfy simultaneously. If such a conflict exists in the dependencies of two different packages, then those packages can not be installed simultaneously. You may want to try a larger value of the --backtrack option, such as --backtrack=30, in order to see if that will solve this conflict automatically. For more information, see MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. jlgentoo ~ # cat /usr/portage/profiles/package.mask |grep -i llvm jlgentoo ~ # cat /usr/portage/profiles/package.mask |grep -i mesa =media-libs/mesa-10.0* # Not ready for public consumption, clashes with current mesa-git jlgentoo ~ #
jlgentoo ~ # emerge --info mesa llvm Portage 2.2.8 (default/linux/amd64/13.0, gcc-4.8.2, glibc-2.17, 3.13.0-rc7 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.13.0-rc7-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_4400+-with-gentoo-2.2 KiB Mem: 3599168 total, 2043496 free KiB Swap: 6012920 total, 6012920 free Timestamp of tree: Sun, 12 Jan 2014 12:45:01 +0000 ld GNU ld (GNU Binutils) 2.24 ccache version 3.1.9 [enabled] app-shells/bash: 4.2_p45-r1 dev-java/java-config: 2.2.0 dev-lang/python: 2.7.6, 3.2.5-r3, 3.3.3 dev-util/ccache: 3.1.9-r3 dev-util/cmake: 2.8.12.1-r3 dev-util/pkgconfig: 0.28 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.12.4 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.11.6, 1.12.6, 1.14.1 sys-devel/binutils: 2.24-r1 sys-devel/gcc: 4.8.2-r1 sys-devel/gcc-config: 1.8 sys-devel/libtool: 2.4.2 sys-devel/make: 4.0-r1 sys-kernel/linux-headers: 3.12 (virtual/os-headers) sys-libs/glibc: 2.17 Repositories: gentoo overlay_jl ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb" 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=native -O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--autounmask-write=y --keep-going --quiet-build=y" FCFLAGS="-march=native -O2 -pipe" FEATURES="assume-digests binpkg-logs ccache 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="-march=native -O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="de_DE.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j2" 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" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="3dnow 3dnowext 64bit X Xaw3d a52 aac aacplus aacs aalib ace acl acpi activefilter ads aften alsa amd64 ap apm apng archive async audacious audiofile automount avcodec bash-completion bazaar berkdb binary-drivers binfilter blender-game bluray boost bzip2 bzr cairo canusb ccache cdda cddb cdio cdparanoia cdr cdrdao cdrom cgi charconv chm chroot city cjk clang cleartype cli colordiff colors compress consolekit corefonts cpio cracklib crypt css cue cups curl curlwrappers cvs cxx daemon dbus declarative demo device-mapper dga dhcp doom doomsday dos dri dts dv dvb dvd dvdnav eap eap-sim eap-tls ebook egl emerald emoticon enca encode enscript equalizer exif extensions extras faac faad fam farsight farstream fat fax fbcon fdformat ffmpeg fftw firefox flac fluidsynth fontconfig foomatic foomaticdb fortran freedoom ftp fts3 fuse g3dvl gallium gbm gd gdbm gdu geoip gif gimp git glamor glib glut gme gnutls gphoto2 gpm graphite gsm gstreamer gtk gtk3 gudev gui gzip hddtemp hdf hdf5 heretic hexen highlight hwdb iconv icq icu id3 id3tag idn imagemagick introspection ios ipc ipod ipv6 irc java javascript jit jpeg jpeg2k kde keymap ladspa lame laptop lcms ldap lensfun lha libass libcaca libcanberra libkms libnl libnotify libsamplerate libssh2 libv4l libv4l2 libwww live llvm llvm-shared-libs lm_sensors logrotate lua lxde lzma lzo mad madwifi magic man matroska md5sum metalink midi mikmod mime minizip mixer mjpeg mmap mms mmx mmxext mng mobi mod modplug modules mono mouse mozilla mp3 mp4 mpeg mplayer mtp mudflap multilib multislot musepack musicbrainz nano-syntax ncat ncurses ndiff network nfs nfsidmap nfsv3 nfsv4 nfsv41 nls nmap nmap-update nokia normalize nowlistening nping nptl nsplugin nss ntfs ntfsprogs ntp nvidia nvram obex ocr ogg ogm openal opencl opengl openmp openvg optimized-qmake oscar osdmenu osmesa otr p2p pam pango panorama parport parse-clocks pcap pci pcre pdf pdfimport phonon pipes plasma plugins pm-utils pmu png policykit postscript ppds privacy projectm projectx pulseaudio pvr python3 qalculate qt3support qt4 quicktime r600-llvm-compiler radio rar raw rdesktop readline recording redeyes reiser4 reiserfs remote-access remoteosd replaygain resources rpm rtc rtmp rtsp rubberband samba sbsms scanner schroedinger sdl secure-delete semantic-desktop sensord session sftp sha512 shorten shout skins slang smbclient smi sndfile snowberry sockets sound soundtouch speex spell sql sqlite sqlite3 sse sse2 sse3 ssh ssl startup-notification statistics stk stream subtitles subversion svg swat symlink syslog szip taglib tcpd texteffect tftp theora threads thumbnail tiff translator truetype twolame udev udisks unicode upcall upower urlpicpreview usb v4l vaapi vamp vboxwebsrv vcd vcdx vdpau video videos vidmode vim-syntax virtualbox vlm vnc vorbis vpx vroot vst wad wav wavpack webgl webkit webm webpresence wifi winbind winpopup wireshark wmf wps wxwidgets x264 xa xattr xcb xcomposite xfs xine xinerama xinetd xml xmp xorg xosd xpm xrandr xscreensaver xv xvfb xvid xvmc zip 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" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2 python3_3" RUBY_TARGETS="ruby19 ruby18 ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="fbdev vesa svga vga radeon v4l modesetting r600" 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: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON ================================================================= Package Settings ================================================================= media-libs/mesa-9.2.5 was built with the following: USE="classic egl gallium gbm llvm llvm-shared-libs nptl opencl openvg osmesa r600-llvm-compiler vdpau xa xorg xvmc -bindist -debug -gles1 -gles2 -pax_kernel -pic (-selinux) -wayland" ABI_X86="64 -32 -x32" VIDEO_CARDS="r600 radeon -freedreno -i915 -i965 -ilo -intel -nouveau -r100 -r200 -r300 -radeonsi -vmware" sys-devel/llvm-3.4 was built with the following: USE="clang libffi ncurses static-analyzer xml -debug -doc -gold -multitarget -ocaml -python -test -udis86" ABI_X86="64 -32 -x32" PYTHON_TARGETS="python2_7 -pypy2_0 -python2_6" VIDEO_CARDS="radeon"
You can downgrade to =dev-libs/libclc-0.0.1_pre20131010 to work around this.
That workaround does not work good.: jlgentoo ~ # emerge -vaD1 =dev-libs/libclc-0.0.1_pre20131010 These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild UD ] dev-libs/libclc-0.0.1_pre20131010 [0.0.1_pre20140101] 0 kB Total: 1 package (1 downgrade), Size of downloads: 0 kB Would you like to merge these packages? [Yes/No] >>> Verifying ebuild manifests >>> Emerging (1 of 1) dev-libs/libclc-0.0.1_pre20131010 >>> Installing (1 of 1) dev-libs/libclc-0.0.1_pre20131010 >>> Jobs: 1 of 1 complete Load avg: 0.87, 0.77, 0.48 >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. !!! existing preserved libs: >>> package: sys-devel/llvm-3.4 * - /usr/lib64/libLLVM-3.3.so * used by /usr/lib64/OpenCL/vendors/mesa/libOpenCL.so.1.0.0 (media-libs/mesa-9.2.5) * used by /usr/lib64/egl/egl_gallium.so (media-libs/mesa-9.2.5) * used by /usr/lib64/gallium-pipe/pipe_r600.so (media-libs/mesa-9.2.5) * used by 9 other files Use emerge @preserved-rebuild to rebuild packages using these libraries jlgentoo ~ # emerge -avt @preserved-rebuild These are the packages that would be merged, in reverse order: Calculating dependencies... done! [ebuild R ] media-libs/mesa-9.2.5 USE="classic egl gallium gbm llvm llvm-shared-libs nptl opencl openvg osmesa r600-llvm-compiler vdpau xa xorg xvmc -bindist -debug -gles1 -gles2 -pax_kernel -pic (-selinux) -wayland" ABI_X86="(64) -32 (-x32)" VIDEO_CARDS="r600 radeon (-freedreno) -i915 -i965 -ilo -intel -nouveau -r100 -r200 -r300 -radeonsi -vmware" 0 kB [ebuild UD ] sys-devel/llvm-3.3-r3:0/3.3 [3.4:0/3.4] USE="clang libffi static-analyzer xml -debug -doc -gold -multitarget -ocaml -python {-test} -udis86 (-ncurses%*)" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7 -pypy2_0 -python2_6" VIDEO_CARDS="radeon" 0 kB Total: 2 packages (1 downgrade, 1 reinstall), Size of downloads: 0 kB !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: sys-devel/llvm:0 (sys-devel/llvm-3.3-r3::gentoo, ebuild scheduled for merge) pulled in by <sys-devel/llvm-3.4[video_cards_radeon,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?] required by (media-libs/mesa-9.2.5::gentoo, ebuild scheduled for merge) (and 1 more with the same problem) (sys-devel/llvm-3.4::gentoo, installed) pulled in by ~sys-devel/llvm-3.4[clang(-),debug=,multitarget?,python?,static-analyzer,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?] required by (sys-devel/clang-3.4-r100::gentoo, installed) Should I merge it with nodeps? Should I add =dev-libs/libclc-0.0.1_pre20140101 mask?
I tried to merge mesa-9.2.5 with nodeps but then compile phase fails with llvm-3.4 and clang-3.4-r100. That happens with both versions of libclc. I could file another bug for that. /bin/sh ../../../../libtool --tag=CXX --mode=link x86_64-pc-linux-gnu-g++ -std=c++0x -march=native -O2 -pipe -Wall -fno-strict-aliasing -fno-builtin-memcmp -Wl,-O1 -Wl,--as-needed -o libcltgsi.la tgsi/libcltgsi_la-compiler.lo ../../../../libtool: line 6470: get_libdir: command not found libtool: compile: x86_64-pc-linux-gnu-g++ -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_TARNAME=\"mesa\" -DPACKAGE_VERSION=\"9.2.5\" "-DPACKAGE_STRING=\"Mesa 9.2.5\"" "-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"" -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"9.2.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DYYTEXT_POINTER=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD=1 -DHAVE_LIBEXPAT=1 -I. -DHAVE_PIPE_LOADER_DRM -DHAVE_PIPE_LOADER_XCB -DPIPE_SEARCH_DIR=\"/usr/lib64/gallium-pipe\" -I../../../../include -I../../../../src/gallium/include -I../../../../src/gallium/drivers -I../../../../src/gallium/auxiliary -I../../../../src/gallium/winsys -I. -std=c++98 -I/usr/include -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -DHAVE_PTHREAD -DTEXTURE_FLOAT_ENABLED - DUSE_X86_64_ASM -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DHAVE_PTHREAD -DUSE_EXTERNAL_DXTN_LIB=1 -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XEXTPROTO_71 -DHAVE_LLVM=0x0304 -DLIBCLC_INCLUDEDIR=\"/usr/include/\" -DLIBCLC_LIBEXECDIR=\"/usr/lib/clc/\" -DCLANG_RESOURCE_DIR=\"/usr/lib/clang/3.4\" -march=native -O2 -pipe -Wall -fno-strict-aliasing -fno-builtin-memcmp -c llvm/invocation.cpp -fPIC -DPIC -o llvm/.libs/libclllvm_la-invocation.o libtool: link: x86_64-pc-linux-gnu-ar cru .libs/libcltgsi.a tgsi/.libs/libcltgsi_la-compiler.o libtool: link: x86_64-pc-linux-gnu-ranlib .libs/libcltgsi.a libtool: link: ( cd ".libs" && rm -f "libcltgsi.la" && ln -s "../libcltgsi.la" "libcltgsi.la" ) llvm/invocation.cpp: In function 'void {anonymous}::link(llvm::Module*, const string&, const string&, const std::vector<llvm::Function*>&)': llvm/invocation.cpp:279:63: error: no matching function for call to 'createInternalizePass(std::vector<const char*>&, std::vector<const char*>&)' PM.add(llvm::createInternalizePass(export_list, dso_list)); ^ llvm/invocation.cpp:279:63: note: candidates are: In file included from llvm/invocation.cpp:49:0: /usr/include/llvm/Transforms/IPO.h:116:13: note: llvm::ModulePass* llvm::createInternalizePass(llvm::ArrayRef<const char*>) ModulePass *createInternalizePass(ArrayRef<const char *> ExportList); ^
Created attachment 367952 [details, diff] mesa-9.2.5.ebuild.patch
Created attachment 367954 [details, diff] Patch to put in 'files'-directory Modified from http://lists.freedesktop.org/archives/mesa-dev/2013-November/047501.html
Confirming both bug and patches. Compiles fine from local overlay here with the following USE-flags, cannot tell if it's functional though: # emerge -pv mesa These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] media-libs/mesa-9.2.5::x-portage USE="classic egl gallium gbm gles1 gles2 llvm llvm-shared-libs nptl opencl openvg osmesa r600-llvm-compiler vdpau wayland xa xorg xvmc -bindist -debug -pax_kernel -pic (-selinux)" ABI_X86="32 (64) (-x32)" VIDEO_CARDS="i915 i965 intel nouveau r100 r200 r300 r600 radeon radeonsi vmware (-freedreno) -ilo" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB
I can confirm these 2 patches close these 2 bugs. tested on two machines.
This breakage is not present upstream. The offending patch is in mesa-9.2-gentoo-patches-02.tar.xz (0002-llvm3_4-createinternalizepass.patch), introduced in bug 488064. It sounds like removing this patch will fix the build, and there shouldn't be any further breakage as llvm 3.4 has now been released. (The ebuild needs updating too, to remove <sys-devel/llvm-3.4 from DEPEND.)
Fixed in 9.2.5 without a revbump.