Created attachment 543118 [details] build.log When either of these conditions exist, the build fails in the configure phase: 1) video_cards_intel is set without video_cards_i965 2) video_cards_i915 is set This appears to be a change in the meson build scripts to allow either classic or gallium to be built. It does not seem to allow both.
Ever since the conversion from autotools to meson, I have had similar trouble. Trying to build drivers for multiple video cards at the same time, like intel(classic) and radeonsi(gallium) simply does not work anymore. The way I have fixed it is to introduce USE="minimal" to preserve existing ebuild behavior, and when USE="-minimal" all drivers supported by the given platform are built. diff -u /mnt/overlay/{gentoo,fixes}/media-libs/mesa/mesa-9999.ebuild --- /mnt/overlay/gentoo/media-libs/mesa/mesa-9999.ebuild 2018-08-10 10:57:56.937824000 -0400 +++ /mnt/overlay/fixes/media-libs/mesa/mesa-9999.ebuild 2018-08-12 15:51:53.340236000 -0400 @@ -37,12 +37,13 @@ IUSE="${IUSE_VIDEO_CARDS} +classic d3d9 debug +dri3 +egl +gallium +gbm gles1 gles2 +llvm lm_sensors - opencl osmesa openmax pax_kernel pic selinux test unwind vaapi valgrind - vdpau vulkan wayland xa xvmc" + minimal opencl osmesa openmax pax_kernel pic selinux test unwind vaapi + valgrind vdpau vulkan wayland xa xvmc" REQUIRED_USE=" d3d9? ( dri3 gallium ) llvm? ( gallium ) + minimal? ( ^^ ( gallium classic ) ) opencl? ( gallium llvm || ( video_cards_r600 video_cards_radeonsi ) ) openmax? ( gallium ) gles1? ( egl ) @@ -358,6 +359,12 @@ emesonargs+=( -Dosmesa=$(usex osmesa classic none) ) fi + if use !minimal; then + DRI_DRIVERS=( auto ) + GALLIUM_DRIVERS=( auto ) + VULKAN_DRIVERS=( auto ) + fi + driver_list() { local drivers="$(sort -u <<< "${1// /$'\n'}")" echo "${drivers//$'\n'/,}"
As an added bonus, this patch should fix some other bugs like bug 663470 and bug 663418 ...
*** Bug 663578 has been marked as a duplicate of this bug. ***
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c38db89c56279684dce2769dad09d23a4ed2cc8f commit c38db89c56279684dce2769dad09d23a4ed2cc8f Author: Matt Turner <mattst88@gentoo.org> AuthorDate: 2018-08-14 20:29:55 +0000 Commit: Matt Turner <mattst88@gentoo.org> CommitDate: 2018-08-14 20:31:55 +0000 media-libs/mesa: Default to classic i915 The new meson build system does not like it if you ask it to build both the classic and gallium versions of i915 and fails to configure. If both classic and gallium are enabled build only the classic i915 driver since it is better supported and supports more hardware. Closes: https://bugs.gentoo.org/663400 media-libs/mesa/mesa-18.2.0_rc2.ebuild | 12 ++++++++---- media-libs/mesa/mesa-9999.ebuild | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-)
Hi, I still can't compile 18.2.0-rc2. It's failing for me. Do I have to use 'minimal' as USE flag? This is my make.conf: ############ CFLAGS="-march=native -O2 -pipe" CXXFLAGS="${CFLAGS}" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sse sse2 sse3 pni sse4_1 sse4_2 ssse3" CHOST="x86_64-pc-linux-gnu" USE="-kde -gnome -gnome2 -gtk -gtk3 -gtk2 -gpm -bindist -emacs -snmp acl aio alsa alsa-plugin apng avi bluetooth bluray busybox cdda cdio cdparanoia cdr cleartype consolekit corefonts crypt cryptsetup cups dbus dri dri3 drm dvd dvdr dvdread encode fdt ffmpeg gcj gdbm gif glamor glib gpg gudev hardened hp hpcups icu imlib introspection jack jpeg jpg jre libcacca libotr librtmp luks minizip mmx mng mp3 native-headset ncurses network nsplugin numa openal opengl orc otr pgp png pulse pulseaudio python sdl sdl2 security smp sna spice sqlite sse sse2 sse3 ssl test-programs truetype two type1 udev usb usbredir uxa v4l v4l2 vaapi vhost-net virgl virtfs vorbis wps X xmlrpc xvid xvmc xwmc" QEMU_SOFTMMU_TARGETS="*" QEMU_USER_TARGETS="*" PORTDIR="/usr/portage" DISTDIR="${PORTDIR}/distfiles" PKGDIR="${PORTDIR}/packages" MAKEOPTS="-j5" FEATURES="strict sfperms parallel-fetch userfetch suidctl fixlafiles sandbox parallel-install fail-clean cgroup ipc-sandbox parallel-install -splitdebug -compressdebug" ACCEPT_LICENSE="*" ACCEPT_KEYWORDS="~amd64 amd64" AUTOCLEAN="yes" EMERGE_DEFAULT_OPTS="--quiet-build=n" GENTOO_MIRRORS="http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://mirror.netcologne.de/gentoo/" #GENTOO_MIRRORS="http://packages.gentooexperimental.org/packages/amd64-unstable/" INPUT_DEVICES="evdev synaptics" VIDEO_CARDS="intel i965" PORTAGE_TMPDIR="/tmp" CLEAN_DELAY=3 #ABI_X86="64 32" source /var/lib/layman/make.conf ############### Kind Regards
(In reply to Sarah Salzstein from comment #5) > I still can't compile 18.2.0-rc2. It's failing for me. Do I have to use > 'minimal' as USE flag? This is my make.conf: The 'minimal' USE flag was a suggestion by a user. However, this bug was solved a different way. Perhaps you have run across one of the other bugs on this version. You don't list an error, so this bug stands.
>>> Emerging (2 of 2) media-libs/mesa-18.2.0_rc2::gentoo * mesa-18.2.0-rc2.tar.xz BLAKE2B SHA512 size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking mesa-18.2.0-rc2.tar.xz to /tmp/portage/media-libs/mesa-18.2.0_rc2/work >>> Source unpacked in /tmp/portage/media-libs/mesa-18.2.0_rc2/work >>> Preparing source in /tmp/portage/media-libs/mesa-18.2.0_rc2/work/mesa-18.2.0-rc2 ... >>> Source prepared. >>> Configuring source in /tmp/portage/media-libs/mesa-18.2.0_rc2/work/mesa-18.2.0-rc2 ... * abi_x86_64.amd64: running multilib-minimal_abi_src_configure meson --buildtype plain --libdir lib64 --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload -Dplatforms=x11,surfaceless,drm -Dgallium-nine=false -Dllvm=true -Dgallium-omx=disabled -Dgallium-va=true -Dgallium-vdpau=false -Dgallium-xa=false -Dgallium-xvmc=true -Dva-libs-path=/usr/lib64/va/drivers -Dosmesa=none -Dbuild-tests=false -Dglx=dri -Dshared-glapi=true -Ddri3=true -Degl=true -Dgbm=true -Dgles1=false -Dgles2=false -Dselinux=false -Dlibunwind=false -Dlmsensors=false -Dvalgrind=false -Ddri-drivers=i965 -Dgallium-drivers=swrast -Dvulkan-drivers= --buildtype plain /tmp/portage/media-libs/mesa-18.2.0_rc2/work/mesa-18.2.0-rc2 /tmp/portage/media-libs/mesa-18.2.0_rc2/work/mesa-18.2.0-rc2-abi_x86_64.amd64 The Meson build system Version: 0.47.1 Source dir: /tmp/portage/media-libs/mesa-18.2.0_rc2/work/mesa-18.2.0-rc2 Build dir: /tmp/portage/media-libs/mesa-18.2.0_rc2/work/mesa-18.2.0-rc2-abi_x86_64.amd64 Build type: native build Program python found: YES (/tmp/portage/media-libs/mesa-18.2.0_rc2/temp/python2.7/bin/python) Project name: mesa Project version: 18.2.0-rc2 Appending CFLAGS from environment: '-march=native -O2 -pipe' Appending LDFLAGS from environment: '-Wl,-O1 -Wl,--as-needed' Native C compiler: x86_64-pc-linux-gnu-gcc (gcc 7.3.0 "x86_64-pc-linux-gnu-gcc (Gentoo Hardened 7.3.0-r3 p1.4) 7.3.0") Appending CXXFLAGS from environment: '-march=native -O2 -pipe' Appending LDFLAGS from environment: '-Wl,-O1 -Wl,--as-needed' Native C++ compiler: x86_64-pc-linux-gnu-g++ (gcc 7.3.0 "x86_64-pc-linux-gnu-g++ (Gentoo Hardened 7.3.0-r3 p1.4) 7.3.0") Build machine cpu family: x86_64 Build machine cpu: x86_64 Program pkg-config found: YES (/usr/bin/pkg-config) meson.build:441:4: ERROR: Problem encountered: XVMC state tracker requires at least one of the following gallium drivers: r600, nouveau. A full log can be found at /tmp/portage/media-libs/mesa-18.2.0_rc2/work/mesa-18.2.0-rc2-abi_x86_64.amd64/meson-logs/meson-log.txt * ERROR: media-libs/mesa-18.2.0_rc2::gentoo failed (configure phase): * (no error message) * * Call stack: * ebuild.sh, line 124: Called src_configure * environment, line 3267: Called multilib-minimal_src_configure * environment, line 1824: Called multilib_foreach_abi 'multilib-minimal_abi_src_configure' * environment, line 2038: Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure' * environment, line 1754: Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure' * environment, line 1752: Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure' * environment, line 797: Called multilib-minimal_abi_src_configure * environment, line 1818: Called multilib_src_configure * environment, line 2322: Called meson_src_configure * environment, line 1691: Called die * The specific snippet of code: * tc-env_build "$@" || die * * If you need support, post the output of `emerge --info '=media-libs/mesa-18.2.0_rc2::gentoo'`, * the complete build log and the output of `emerge -pqv '=media-libs/mesa-18.2.0_rc2::gentoo'`. * The complete build log is located at '/tmp/portage/media-libs/mesa-18.2.0_rc2/temp/build.log'. * The ebuild environment file is located at '/tmp/portage/media-libs/mesa-18.2.0_rc2/temp/environment'. * Working directory: '/tmp/portage/media-libs/mesa-18.2.0_rc2/work/mesa-18.2.0-rc2-abi_x86_64.amd64' * S: '/tmp/portage/media-libs/mesa-18.2.0_rc2/work/mesa-18.2.0-rc2' >>> Failed to emerge media-libs/mesa-18.2.0_rc2
(In reply to Brian Evans from comment #6) > (In reply to Sarah Salzstein from comment #5) > > I still can't compile 18.2.0-rc2. It's failing for me. Do I have to use > > 'minimal' as USE flag? This is my make.conf: > > The 'minimal' USE flag was a suggestion by a user. However, this bug was > solved a different way. > > Perhaps you have run across one of the other bugs on this version. You > don't list an error, so this bug stands. I've posted the error below. What else would you like to know?
(In reply to Sarah Salzstein from comment #8) > (In reply to Brian Evans from comment #6) > > (In reply to Sarah Salzstein from comment #5) > > > I still can't compile 18.2.0-rc2. It's failing for me. Do I have to use > > > 'minimal' as USE flag? This is my make.conf: > > > > The 'minimal' USE flag was a suggestion by a user. However, this bug was > > solved a different way. > > > > Perhaps you have run across one of the other bugs on this version. You > > don't list an error, so this bug stands. > > I've posted the error below. What else would you like to know? Your error is not related to the "Only one i915 provider can be built" problem. It is a different bug.