Summary: | media-libs/libepoxy with media-libs/mesa-19.2.0_rc2 - ? | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Marek Bartosiewicz <marek.bartosiewicz> |
Component: | Current packages | Assignee: | Gentoo X packagers <x11> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | hhfeuer |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Marek Bartosiewicz
2019-09-11 10:31:03 UTC
[ebuild R ] media-libs/mesa-19.2.0_rc2::gentoo USE="X classic dri3 egl gallium gbm libglvnd llvm opencl vaapi vdpau vulkan -d3d9 -debug -gles1 -gles2 -lm_sensors -osmesa -pax_kernel (-selinux) -test -unwind -valgrind -vulkan-overlay -wayland -xa -xvmc" ABI_X86="(64) -32 (-x32)" VIDEO_CARDS="i965 intel (-freedreno) -i915 -iris (-lima) -nouveau (-panfrost) -r100 -r200 -r300 -r600 -radeon -radeonsi (-vc4) -virgl (-vivante) -vmware" 0 KiB Manifests in varous failures when emerging packages that use EGL, like mpv. See: https://bugs.gentoo.org/692206 and https://bugzilla.redhat.com/show_bug.cgi?id=1744292 Checking for OpenGL X11 Backend ==> #include <X11/Xlib.h> #include <GL/glx.h> #include <stddef.h> int main(int argc, char *argv[]) { glXCreateContext(NULL, NULL, NULL, True); glXQueryExtensionsString(NULL, 0); glXGetProcAddressARB(""); glXGetCurrentDisplay(); return 0; } <== [1/2] Compiling build/.conf_check_8669a28b591d91ad04fdcd46293a7f95/test.c ['x86_64-pc-linux-gnu-gcc', '-O2', '-pipe', '-march=native', '-ftree-vectorize', '-D_ISOC99_SOURCE', '-D_GNU_SOURCE', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-D_LARGEFILE64_SOURCE', '-std=c99', '-Wall', '-Werror=implicit-function-declaration', '-Wno-error=deprecated-declarations', '-Wno-error=unused-function', '-Wempty-body', '-Wdisabled-optimization', '-Wstrict-prototypes', '-Wno-format-zero-length', '-Werror=format-security', '-Wno-redundant-decls', '-Wvla', '-Wall', '-Wundef', '-Wmissing-prototypes', '-Wshadow', '-Wno-switch', '-Wparentheses', '-Wpointer-arith', '-Wno-pointer-sign', '-Wno-unused-result', '-pthread', '-DDEFAULT_DVD_DEVICE="/dev/sr0"', '-DDEFAULT_CDROM_DEVICE="/dev/sr0"', '-DHAVE_GPL=1', '-DHAVE_LIBAF=1', '-DHAVE_CPLAYER=1', '-DHAVE_LIBDL=1', '-DHAVE_ASM=1', '-DHAVE_LIBM=1', '-DHAVE_POSIX=1', '-DHAVE_POSIX_OR_MINGW=1', '-DHAVE_PTHREADS=1', '-DHAVE_GNUC=1', '-DHAVE_STDATOMIC=1', '-DHAVE_ATOMICS=1', '-DHAVE_LIBRT=1', '-DHAVE_ICONV=1', '-DHAVE_POSIX_SPAWN_NATIVE=1', '-DHAVE_POSIX_SPAWN=1', '-DHAVE_GLOB_POSIX=1', '-DHAVE_GLOB=1', '-DHAVE_FCHMOD=1', '-DHAVE_VT_H=1', '-DHAVE_GBM_H=1', '-DHAVE_GLIBC_THREAD_NAME=1', '-DHAVE_LINUX_FSTATFS=1', '-DHAVE_51=1', '-DHAVE_LUA=1', '-DHAVE_LIBASS=1', '-DHAVE_LIBASS_OSD=1', '-DHAVE_ZLIB=1', '-DHAVE_LIBBLURAY=1', '-DHAVE_DVDREAD=1', '-DHAVE_DVDNAV=1', '-DHAVE_DVDREAD_COMMON=1', '-DHAVE_UCHARDET=1', '-DHAVE_LIBARCHIVE=1', '-DHAVE_SDL2=1', '-DHAVE_PULSE=1', '-DHAVE_OPENAL=1', '-DHAVE_ALSA=1', '-DHAVE_DRM=1', '-DHAVE_DRMPRIME=1', '-DHAVE_X11=1', '-DHAVE_XV=1', '../test.c', '-c', '-o/var/tmp/portage/media-video/mpv-0.29.1-r1/work/mpv-0.29.1/build/.conf_check_8669a28b591d91ad04fdcd46293a7f95/testbuild/test.c.1.o'] [2/2] Linking build/.conf_check_8669a28b591d91ad04fdcd46293a7f95/testbuild/testprog ['x86_64-pc-linux-gnu-gcc', '-O2', '-pipe', '-march=native', '-ftree-vectorize', '-Wl,-O1', '-Wl,--as-needed', '-pthread', 'test.c.1.o', '-o/var/tmp/portage/media-video/mpv-0.29.1-r1/work/mpv-0.29.1/build/.conf_check_8669a28b591d91ad04fdcd46293a7f95/testbuild/testprog', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-lX11', '-lXss', '-lXext', '-lXinerama', '-lXrandr', '-ldl', '-Wl,-O1', '-Wl,--as-needed'] err: test.c.1.o:test.c:function main: error: undefined reference to 'glXCreateContext' test.c.1.o:test.c:function main: error: undefined reference to 'glXQueryExtensionsString' test.c.1.o:test.c:function main: error: undefined reference to 'glXGetProcAddressARB' test.c.1.o:test.c:function main: error: undefined reference to 'glXGetCurrentDisplay' collect2: error: ld returned 1 exit status from /var/tmp/portage/media-video/mpv-0.29.1-r1/work/mpv-0.29.1: Test does not build: Traceback (most recent call last): File "/var/tmp/portage/media-video/mpv-0.29.1-r1/work/mpv-0.29.1/.waf3-2.0.9-10a533182bd85c3f45a157fb5d62db50/waflib/Configure.py", line 324, in run_build bld.compile() File "/var/tmp/portage/media-video/mpv-0.29.1-r1/work/mpv-0.29.1/.waf3-2.0.9-10a533182bd85c3f45a157fb5d62db50/waflib/Build.py", line 176, in compile raise Errors.BuildError(self.producer.error) waflib.Errors.BuildError: Build failed -> task in 'testprog' failed with exit status 1 (run with -v to display more information) from /var/tmp/portage/media-video/mpv-0.29.1-r1/work/mpv-0.29.1: The configuration failed ==> #include <X11/Xlib.h> #include <GL/glx.h> #include <stddef.h> int main(int argc, char *argv[]) { glXCreateContext(NULL, NULL, NULL, True); glXQueryExtensionsString(NULL, 0); glXGetProcAddressARB(""); glXGetCurrentDisplay(); return 0; } <== [1/2] Compiling build/.conf_check_4db92c8d471d8cf0f1d8867d6293555b/test.c ['x86_64-pc-linux-gnu-gcc', '-O2', '-pipe', '-march=native', '-ftree-vectorize', '-D_ISOC99_SOURCE', '-D_GNU_SOURCE', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-D_LARGEFILE64_SOURCE', '-std=c99', '-Wall', '-Werror=implicit-function-declaration', '-Wno-error=deprecated-declarations', '-Wno-error=unused-function', '-Wempty-body', '-Wdisabled-optimization', '-Wstrict-prototypes', '-Wno-format-zero-length', '-Werror=format-security', '-Wno-redundant-decls', '-Wvla', '-Wall', '-Wundef', '-Wmissing-prototypes', '-Wshadow', '-Wno-switch', '-Wparentheses', '-Wpointer-arith', '-Wno-pointer-sign', '-Wno-unused-result', '-pthread', '-DDEFAULT_DVD_DEVICE="/dev/sr0"', '-DDEFAULT_CDROM_DEVICE="/dev/sr0"', '-DHAVE_GPL=1', '-DHAVE_LIBAF=1', '-DHAVE_CPLAYER=1', '-DHAVE_LIBDL=1', '-DHAVE_ASM=1', '-DHAVE_LIBM=1', '-DHAVE_POSIX=1', '-DHAVE_POSIX_OR_MINGW=1', '-DHAVE_PTHREADS=1', '-DHAVE_GNUC=1', '-DHAVE_STDATOMIC=1', '-DHAVE_ATOMICS=1', '-DHAVE_LIBRT=1', '-DHAVE_ICONV=1', '-DHAVE_POSIX_SPAWN_NATIVE=1', '-DHAVE_POSIX_SPAWN=1', '-DHAVE_GLOB_POSIX=1', '-DHAVE_GLOB=1', '-DHAVE_FCHMOD=1', '-DHAVE_VT_H=1', '-DHAVE_GBM_H=1', '-DHAVE_GLIBC_THREAD_NAME=1', '-DHAVE_LINUX_FSTATFS=1', '-DHAVE_51=1', '-DHAVE_LUA=1', '-DHAVE_LIBASS=1', '-DHAVE_LIBASS_OSD=1', '-DHAVE_ZLIB=1', '-DHAVE_LIBBLURAY=1', '-DHAVE_DVDREAD=1', '-DHAVE_DVDNAV=1', '-DHAVE_DVDREAD_COMMON=1', '-DHAVE_UCHARDET=1', '-DHAVE_LIBARCHIVE=1', '-DHAVE_SDL2=1', '-DHAVE_PULSE=1', '-DHAVE_OPENAL=1', '-DHAVE_ALSA=1', '-DHAVE_DRM=1', '-DHAVE_DRMPRIME=1', '-DHAVE_X11=1', '-DHAVE_XV=1', '../test.c', '-c', '-o/var/tmp/portage/media-video/mpv-0.29.1-r1/work/mpv-0.29.1/build/.conf_check_4db92c8d471d8cf0f1d8867d6293555b/testbuild/test.c.1.o'] [2/2] Linking build/.conf_check_4db92c8d471d8cf0f1d8867d6293555b/testbuild/testprog ['x86_64-pc-linux-gnu-gcc', '-O2', '-pipe', '-march=native', '-ftree-vectorize', '-Wl,-O1', '-Wl,--as-needed', '-pthread', 'test.c.1.o', '-o/var/tmp/portage/media-video/mpv-0.29.1-r1/work/mpv-0.29.1/build/.conf_check_4db92c8d471d8cf0f1d8867d6293555b/testbuild/testprog', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-lGL', '-lX11', '-lXss', '-lXext', '-lXinerama', '-lXrandr', '-ldl', '-Wl,-O1', '-Wl,--as-needed'] yes ----------------------------------------------------------------- Checking for OpenGL X11 EGL Backend ['x86_64-pc-linux-gnu-pkg-config', 'egl', '--libs', '--cflags', 'egl'] err: Package egl was not found in the pkg-config search path. Perhaps you should add the directory containing `egl.pc' to the PKG_CONFIG_PATH environment variable Package 'egl', required by 'virtual:world', not found Package 'egl', required by 'virtual:world', not found from /var/tmp/portage/media-video/mpv-0.29.1-r1/work/mpv-0.29.1: The configuration failed no ('egl' not found) Reemerging cairo fixes this:
Emerging (3 of 11) dev-python/pycairo-1.18.1::gentoo
* pycairo-1.18.1.tar.gz BLAKE2B SHA512 size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking pycairo-1.18.1.tar.gz to /var/tmp/portage/dev-python/pycairo-1.18.1/work
>>> Source unpacked in /var/tmp/portage/dev-python/pycairo-1.18.1/work
>>> Preparing source in /var/tmp/portage/dev-python/pycairo-1.18.1/work/pycairo-1.18.1 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-python/pycairo-1.18.1/work/pycairo-1.18.1 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-python/pycairo-1.18.1/work/pycairo-1.18.1 ...
* python2_7: running distutils-r1_run_phase distutils-r1_python_compile
python2.7 setup.py build
running build
running build_py
creating /var/tmp/portage/dev-python/pycairo-1.18.1/work/pycairo-1.18.1-python2_7/lib/cairo
copying cairo/__init__.py -> /var/tmp/portage/dev-python/pycairo-1.18.1/work/pycairo-1.18.1-python2_7/lib/cairo
copying cairo/__init__.pyi -> /var/tmp/portage/dev-python/pycairo-1.18.1/work/pycairo-1.18.1-python2_7/lib/cairo
copying cairo/py.typed -> /var/tmp/portage/dev-python/pycairo-1.18.1/work/pycairo-1.18.1-python2_7/lib/cairo
warning: build_py: byte-compiling is disabled, skipping.
running build_ext
Package egl was not found in the pkg-config search path.
Perhaps you should add the directory containing `egl.pc'
to the PKG_CONFIG_PATH environment variable
Package 'egl', required by 'cairo', not found
Command '['pkg-config', '--cflags-only-I', 'cairo']' returned non-zero exit status 1
Could you please focus on a single package that breaks when building against the new media-libs/mesa? Obviously, when media-libs/mesa introduced sweeping changes, this can break other packages, but it is the other packages that need to be fixed, and we need a single bug report per package, instead of lumping them altogether right here. Yeah, of course. Right now it's mpv. I'm in a middle of world rebuild, will report confirmed breackages. Seems mpv is the only failure on my system/world (but I have lean install with only 811 packages, xorg/i3/firefox-bin and some additional tools). Did some investigation and the reason is this: https://gitlab.freedesktop.org/mesa/mesa/commit/1a25980c469b38d2c6456344fe538ad1bcb47f63 Mesa dropped the pkgconfig file for egl. The deeper reason is this: https://github.com/NVIDIA/libglvnd/pull/86 which resulted in this: https://github.com/NVIDIA/libglvnd/pull/179 So the resolution is that mesa-19.2 needs a brand new libglvnd package and the mesa team would have to sort out which should provide the gl headers. Until then, many packages won't compile with mesa 19.2 and libglvnd. The flag is masked *for this reason*! |