Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 663400 - media-libs/mesa-18.2.0_rc2 - ERROR: Problem encountered: Only one i915 provider can be built
Summary: media-libs/mesa-18.2.0_rc2 - ERROR: Problem encountered: Only one i915 provi...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
: 663578 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-08-12 01:00 UTC by Brian Evans (RETIRED)
Modified: 2018-08-15 19:20 UTC (History)
16 users (show)

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


Attachments
build.log (build.log,5.49 KB, text/plain)
2018-08-12 01:00 UTC, Brian Evans (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Brian Evans (RETIRED) gentoo-dev 2018-08-12 01:00:59 UTC
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.
Comment 1 cyrillic 2018-08-12 20:17:42 UTC
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'/,}"
Comment 2 cyrillic 2018-08-12 23:30:36 UTC
As an added bonus, this patch should fix some other bugs like bug 663470 and bug 663418 ...
Comment 3 Brian Evans (RETIRED) gentoo-dev 2018-08-14 15:24:09 UTC
*** Bug 663578 has been marked as a duplicate of this bug. ***
Comment 4 Larry the Git Cow gentoo-dev 2018-08-14 20:32:06 UTC
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(-)
Comment 5 Sarah Salzstein 2018-08-15 17:58:12 UTC
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
Comment 6 Brian Evans (RETIRED) gentoo-dev 2018-08-15 18:02:19 UTC
(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.
Comment 7 Sarah Salzstein 2018-08-15 18:42:03 UTC
>>> 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
Comment 8 Sarah Salzstein 2018-08-15 19:17:47 UTC
(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?
Comment 9 Brian Evans (RETIRED) gentoo-dev 2018-08-15 19:20:29 UTC
(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.