Hi!
I'm trying to cross-compile a RPi4 version of LibreElec with x11 support (I'd like to be able to use xrandr and other X related stuff for a project I'm working on). I don't know if that's the right approach, but I changed the build options to include x11 by setting DISPLAYSERVER="x11".
The build was going along nicely until it tried building libxkbcommon and failed. I tried with 9.2.2 and 9.2.1 tags so far, doing a full clean inbetween. Here is the build log output for libxkbcommon:
Code
BUILD libxkbcommon (target)
TOOLCHAIN meson (auto-detect)
Executing (target): meson --prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --localstatedir=/var --buildtype=plain --cross-file=/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/libxkbcommon-0.8.4/.armv8a-libreelec-linux-gnueabi/meson.conf -Denable-docs=false -Denable-x11=true -Denable-wayland=false /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/libxkbcommon-0.8.4
Directory already configured.
Just run your build command (e.g. ninja) and Meson will regenerate as necessary.
If ninja fails, run "ninja reconfigure" or "meson --reconfigure"
to force Meson to regenerate.
If build failures persist, run "meson setup --wipe" to rebuild from scratch
using the same options as passed when configuring the build.
To change option values, run "meson configure" instead.
Executing (target): ninja
[0/1] Regenerating build files.
The Meson build system
Version: 0.49.1
Source dir: /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/libxkbcommon-0.8.4
Build dir: /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/libxkbcommon-0.8.4/.armv8a-libreelec-linux-gnueabi
Build type: cross build
Project name: libxkbcommon
Project version: 0.8.4
Native C compiler: /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/bin/host-gcc (gcc 8.3.0 "gcc (Debian 8.3.0-6) 8.3.0")
Cross C compiler: /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/bin/armv8a-libreelec-linux-gnueabi-gcc (gcc 8.3.0)
Host machine cpu family: arm
Host machine cpu: armv8-a
Target machine cpu family: arm
Target machine cpu: armv8-a
Build machine cpu family: x86_64
Build machine cpu: x86_64
Compiler for C supports arguments -fvisibility=hidden: YES
Compiler for C supports arguments -fno-strict-aliasing: YES
Compiler for C supports arguments -fsanitize-undefined-trap-on-error: YES
Compiler for C supports arguments -Wextra: YES
Compiler for C supports arguments -Wno-unused-parameter -Wunused-parameter: YES
Compiler for C supports arguments -Wno-missing-field-initializers -Wmissing-field-initializers: YES
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Wmissing-declarations: YES
Compiler for C supports arguments -Wformat=2: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Wnested-externs: YES
Compiler for C supports arguments -Wbad-function-cast: YES
Compiler for C supports arguments -Wshadow: YES
Compiler for C supports arguments -Wlogical-op: YES
Compiler for C supports arguments -Wdate-time: YES
Compiler for C supports arguments -Wwrite-strings: YES
Compiler for C supports arguments -Wno-documentation-deprecated-sync -Wdocumentation-deprecated-sync: NO
Dependency xkeyboard-config found: YES (cached)
Checking if "__builtin_expect" links: YES
Checking if "__builtin_popcount" links: YES
Header <unistd.h> has symbol "eaccess" : YES
Header <unistd.h> has symbol "euidaccess" : YES
Header <sys/mman.h> has symbol "mmap" : YES
Header <stdlib.h> has symbol "mkostemp" : YES
Header <fcntl.h> has symbol "posix_fallocate" : YES
Header <stdlib.h> has symbol "secure_getenv" : YES
Configuring config.h using configuration
Checking if "-Wl,--version-script" links: YES
Program bison found: YES (/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/bin/bison)
Dependency xcb found: YES (cached)
Dependency xcb-xkb found: YES (cached)
meson.build:202: DEPRECATION: Library xkbcommon was passed to the "libraries" keyword argument of a previous call to generate() method instead of first positional argument. Adding xkbcommon to "Requires" field, but this is a deprecated behaviour that will change in a future version of Meson. Please report the issue if this warning cannot be avoided in your case.
Program test/symbols-leak-test.bash found: YES (/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/libxkbcommon-0.8.4/test/symbols-leak-test.bash)
Has header "linux/input.h" : YES
Configuring xkeyboard-config-test using configuration
Build targets in project: 32
Option b_lundef is: True [default: true]
Found ninja-1.9.0 at /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/bin/ninja
[1/27] Linking target fuzz-compose.
[2/27] Linking target libxkbcommon-x11.so.0.0.0.
FAILED: libxkbcommon-x11.so.0.0.0
/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/bin/armv8a-libreelec-linux-gnueabi-gcc -o libxkbcommon-x11.so.0.0.0 'xkbcommon-x11@sha/src_x11_keymap.c.o' 'xkbcommon-x11@sha/src_x11_state.c.o' 'xkbcommon-x11@sha/src_x11_util.c.o' 'xkbcommon-x11@sha/src_context-priv.c.o' 'xkbcommon-x11@sha/src_keymap-priv.c.o' 'xkbcommon-x11@sha/src_atom.c.o' -Wl,--no-undefined -Wl,--as-needed -shared -fPIC -Wl,--start-group -Wl,-soname,libxkbcommon-x11.so.0 libxkbcommon.so.0.0.0 -Wl,--version-script=/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/libxkbcommon-0.8.4/xkbcommon-x11.map /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb.a /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb-xkb.a -Wl,--end-group '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/libxkbcommon-0.8.4/.armv8a-libreelec-linux-gnueabi/ -march=armv8-a+crc -mtune=cortex-a53 -Wl,--as-needed -fuse-ld=gold
/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb.a(xcb_auth.o):xcb_auth.c:function get_authptr: error: undefined reference to 'XauGetBestAuthByAddr'
/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb.a(xcb_auth.o):xcb_auth.c:function _xcb_get_auth_info: error: undefined reference to 'XauDisposeAuth'
/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb.a(xcb_auth.o):xcb_auth.c:function _xcb_get_auth_info: error: undefined reference to 'XauDisposeAuth'
collect2: error: ld returned 1 exit status
[3/27] Linking target test-x11.
FAILED: test-x11
/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/bin/armv8a-libreelec-linux-gnueabi-gcc -o test-x11 'test-x11@exe/test_x11.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,--start-group libxkbcommon-x11-internal.a libxkbcommon.so.0.0.0 libxkbcommon-test-internal.a /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb.a /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb-xkb.a -Wl,--end-group '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/libxkbcommon-0.8.4/.armv8a-libreelec-linux-gnueabi/ -march=armv8-a+crc -mtune=cortex-a53 -Wl,--as-needed -fuse-ld=gold
/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb.a(xcb_auth.o):xcb_auth.c:function get_authptr: error: undefined reference to 'XauGetBestAuthByAddr'
/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb.a(xcb_auth.o):xcb_auth.c:function _xcb_get_auth_info: error: undefined reference to 'XauDisposeAuth'
/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb.a(xcb_auth.o):xcb_auth.c:function _xcb_get_auth_info: error: undefined reference to 'XauDisposeAuth'
collect2: error: ld returned 1 exit status
[4/27] Linking target test-x11comp.
FAILED: test-x11comp
/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/bin/armv8a-libreelec-linux-gnueabi-gcc -o test-x11comp 'test-x11comp@exe/test_x11comp.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,--start-group libxkbcommon-x11-internal.a libxkbcommon.so.0.0.0 libxkbcommon-test-internal.a /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb.a /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb-xkb.a -Wl,--end-group '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/libxkbcommon-0.8.4/.armv8a-libreelec-linux-gnueabi/ -march=armv8-a+crc -mtune=cortex-a53 -Wl,--as-needed -fuse-ld=gold
/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb.a(xcb_auth.o):xcb_auth.c:function get_authptr: error: undefined reference to 'XauGetBestAuthByAddr'
/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb.a(xcb_auth.o):xcb_auth.c:function _xcb_get_auth_info: error: undefined reference to 'XauDisposeAuth'
/home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/toolchain/armv8a-libreelec-linux-gnueabi/sysroot/usr/lib/libxcb.a(xcb_auth.o):xcb_auth.c:function _xcb_get_auth_info: error: undefined reference to 'XauDisposeAuth'
collect2: error: ld returned 1 exit status
[5/27] Linking target test-compose.
[6/27] Linking target test-rulescomp.
[7/27] Linking target fuzz-keymap.
[8/27] Compiling C object 'xkbcommon-bench-internal@sta/bench_bench.c.o'.
[9/27] Compiling C object 'rmlvo-to-keymap@exe/test_rmlvo-to-keymap.c.o'.
[10/27] Compiling C object 'rmlvo-to-kccgst@exe/test_rmlvo-to-kccgst.c.o'.
[11/27] Compiling C object 'print-compiled-keymap@exe/test_print-compiled-keymap.c.o'.
[12/27] Compiling C object 'interactive-x11@exe/test_interactive-x11.c.o'.
[13/27] Compiling C object 'interactive-evdev@exe/test_interactive-evdev.c.o'.
ninja: build stopped: subcommand failed.
FAILURE: scripts/install libxkbcommon has failed!
[254/290] [FAIL] install libxkbcommon
The following logs for this failure are available:
stdout: /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/.threads/logs/264/stdout
stderr: /home/leobaillard/src/LibreELEC.tv/build.LibreELEC-RPi4.arm-9.2-devel/.threads/logs/264/stderr
parallel: This job failed:
package_worker 2 264 290 'install libxkbcommon'
Parallel build failure - see log for details. Time of failure: Sat Apr 11 20:31:27 CEST 2020
make: *** [Makefile:12: image] Error 1
Display More
I've done a quick search for the error but could not find useful info as of yet.
I'm open to ideas, an especially if what I'm doing if possible or if I did it wrong!
Thanks!