/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: lib/libbf_intern_ghost.a(GHOST_SystemX11.cpp.o): undefined reference to symbol 'XPending' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libX11.so: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_desktop_gnome_systemd-20210104-123916 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-10.2.0 * /usr/lib/llvm/11 11.0.1 Available Python interpreters, in order of preference: [1] python3.8 [2] python3.9 (fallback) Available Rust versions: [1] rust-1.48.0 * The following VMs are available for generation-2: *) AdoptOpenJDK 8.272_p10 [openjdk-bin-8] Available Java Virtual Machines: [1] openjdk-bin-8 system-vm The Glorious Glasgow Haskell Compilation System, version 8.8.4 timestamp(s) of HEAD at this tinderbox image: /var/db/repos/gentoo Sat Jan 9 03:05:16 AM UTC 2021 emerge -qpvO media-gfx/blender [ebuild N ] media-gfx/blender-2.91.0 USE="bullet dds elbeem jemalloc nls openexr openmp sdl system-numpy system-python tbb tiff -abi6-compat -abi7-compat -alembic -collada -color-management -cuda -cycles -debug (-doc) -ffmpeg -fftw -headless -jack -jpeg2k -llvm -man -ndof -openal -opencl -openimageio -opensubdiv -openvdb -osl -sndfile -standalone -test -valgrind" PYTHON_SINGLE_TARGET="python3_8 -python3_7"
Created attachment 682042 [details] emerge-info.txt
Created attachment 682045 [details] emerge-history.txt
Created attachment 682048 [details] environment
Created attachment 682051 [details] etc.portage.tbz2
Created attachment 682054 [details] logs.tbz2
Created attachment 682057 [details] media-gfx:blender-2.91.0:20210109-035253.log.bz2
Created attachment 682060 [details] temp.tbz2
This patch should fix issue https://git.blender.org/gitweb/gitweb.cgi/blender.git/commitdiff/9258b70453df3c806ea4d056217d6be7767c4a9a
I can confirm that the patch from https://bugs.gentoo.org/764563#c8 fixes the issue with missing XPending symbols for both v2.91.0 and v2.91.2, but compilation still fails later with more missing symbols from X11 libs: ------ /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: lib/libbf_intern_ghost.a(GHOST_DisplayManagerX11.cpp.o): in function `GHOST_DisplayManagerX11::getNumDisplaySettings(unsigned char, int&) const [clone .localalias]': GHOST_DisplayManagerX11.cpp:(.text._ZNK23GHOST_DisplayManagerX1121getNumDisplaySettingsEhRi+0x3c): undefined reference to `XF86VidModeQueryVersion' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: GHOST_DisplayManagerX11.cpp:(.text._ZNK23GHOST_DisplayManagerX1121getNumDisplaySettingsEhRi+0x5c): undefined reference to `XF86VidModeGetAllModeLines' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: lib/libbf_intern_ghost.a(GHOST_DisplayManagerX11.cpp.o): in function `GHOST_DisplayManagerX11::getDisplaySetting(unsigned char, int, GHOST_DisplaySetting&) const [clone .localalias]': GHOST_DisplayManagerX11.cpp:(.text._ZNK23GHOST_DisplayManagerX1117getDisplaySettingEhiR20GHOST_DisplaySetting+0x42): undefined reference to `XF86VidModeQueryVersion' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: GHOST_DisplayManagerX11.cpp:(.text._ZNK23GHOST_DisplayManagerX1117getDisplaySettingEhiR20GHOST_DisplaySetting+0xdc): undefined reference to `XF86VidModeGetAllModeLines' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: lib/libbf_intern_ghost.a(GHOST_DisplayManagerX11.cpp.o): in function `GHOST_DisplayManagerX11::setCurrentDisplaySetting(unsigned char, GHOST_DisplaySetting const&) [clone .localalias]': GHOST_DisplayManagerX11.cpp:(.text._ZN23GHOST_DisplayManagerX1124setCurrentDisplaySettingEhRK20GHOST_DisplaySetting+0x51): undefined reference to `XF86VidModeQueryVersion' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: GHOST_DisplayManagerX11.cpp:(.text._ZN23GHOST_DisplayManagerX1124setCurrentDisplaySettingEhRK20GHOST_DisplaySetting+0x6e): undefined reference to `XF86VidModeGetAllModeLines' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: GHOST_DisplayManagerX11.cpp:(.text._ZN23GHOST_DisplayManagerX1124setCurrentDisplaySettingEhRK20GHOST_DisplaySetting+0x103): undefined reference to `XF86VidModeSwitchToMode' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: GHOST_DisplayManagerX11.cpp:(.text._ZN23GHOST_DisplayManagerX1124setCurrentDisplaySettingEhRK20GHOST_DisplaySetting+0x112): undefined reference to `XF86VidModeSetViewPort' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. ------ NOTE: Package x11-libs/libXxf86vm provides the XF86VidMode* symbols, and Blender's build system handles them in /var/tmp/portage/media-gfx/blender-2.91.2/work/blender-2.91.2/build_files/cmake/platform/platform_unix.cmake but fails to properly detect them during the configure phase (after all, there are not CMake's macros detection for the x11-libs/libXxf86vm libs anywhere in any CMakeLists.txt), thus leading to the aforementioned linking failures.
Fixed already in https://github.com/gentoo/gentoo/pull/20565. See the work in: bug 795003 bug 778008 bug 774372 bug 673422 bug 737388