Closed Zvicii closed 2 years ago
please send the full cross compilation log, so that we have a chance to understand why xkbcommon is not detected by qt.
conan_cross_build_qt.log log is too big, I have to use a file to upload
maybe its due to the following lines?
test config.qtbase_gui.tests.xcb_syslibs succeeded
Checking for xkbcommon >= 0.5.0...
Trying source 0 (type pkgConfig) of library xkbcommon ...
pkg-config use disabled globally.
=> source produced no result.
Trying source 1 (type inline) of library xkbcommon ...
+ cd /home/conan/.conan/data/qt/5.15.4/_/_/build/c36ecf625689b6d99429ed52eafea8615329886c/build_folder/config.tests/xkbcommon && /home/conan/.conan/data/qt/5.15.4/_/_/build/c36ecf625689b6d99429ed52eafea8615329886c/build_folder/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static warn_off console single_arch" 'DEFINES += PCRE2_STATIC U_STATIC_IMPLEMENTATION _DEFAULT_SOURCE _BSD_SOURCE HAS_FCHOWN HAS_STICKY_DIR_BIT XML_STATIC LIBXML_STATIC FFI_BUILDING _GLIBCXX_USE_CXX11_ABI=1' 'INCLUDEPATH += /home/conan/.conan/data/pcre2/10.40/_/_/package/b385f66ddacaea8f8dc6622d45204e1153b63ee8/include /home/conan/.conan/data/double-conversion/3.2.1/_/_/package/4d653e2028a38fb67cd7250a8b911bb0cfd0dfaf/include /home/conan/.conan/data/fontconfig/2.13.93/_/_/package/1000ea44314d87684d0eaa834e3bf9090ac3f0a9/include /home/conan/.conan/data/icu/71.1/_/_/package/097f353942228b3d504a0e3c54e0b4f313a31e1f/include /home/conan/.conan/data/xkbcommon/1.4.1/_/_/package/f7328dfc9c42fc6206d9144c8f150542e9ae693c/include /usr/include/libdrm /home/conan/.conan/data/md4c/0.4.8/_/_/package/dc9ada156f6a3aa934871a7f0e9b9720433423e6/include /home/conan/.conan/data/freetype/2.12.1/_/_/package/2ba00e6a67421284baaa3dd4ad72a9e0a8369746/include /home/conan/.conan/data/freetype/2.12.1/_/_/package/2ba00e6a67421284baaa3dd4ad72a9e0a8369746/include/freetype2 /home/conan/.conan/data/libuuid/1.0.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/include /home/conan/.conan/data/libuuid/1.0.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/include/uuid /usr/include/uuid /home/conan/.conan/data/wayland/1.21.0/_/_/package/e7fe6d00c2e8fadd056c0ec4c294fa6925173acb/include /home/conan/.conan/data/bzip2/1.0.8/_/_/package/75c0a8a066a2422a4e85cba63decf52760f1010c/include /home/conan/.conan/data/libpng/1.6.38/_/_/package/4c8eccb3da689f218a0f97ca9fff2e839fcf7bef/include /home/conan/.conan/data/brotli/1.0.9/_/_/package/d282d846f8b69daf277177839276ed2a6a0b5b74/include /home/conan/.conan/data/brotli/1.0.9/_/_/package/d282d846f8b69daf277177839276ed2a6a0b5b74/include/brotli /home/conan/.conan/data/expat/2.4.9/_/_/package/8ca280ee2b2069bbe2754a427afd38b56aff1751/include /home/conan/.conan/data/libxml2/2.9.14/_/_/package/567a33571ec0f7e332612d29d3ba19e5b4564386/include /home/conan/.conan/data/libxml2/2.9.14/_/_/package/567a33571ec0f7e332612d29d3ba19e5b4564386/include/libxml2 /home/conan/.conan/data/libffi/3.4.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/include /home/conan/.conan/data/zlib/1.2.12/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/include /home/conan/.conan/data/libiconv/1.17/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/include /home/conan/.conan/data/openssl/1.1.1n/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/include' 'QMAKE_LIBDIR+=/home/conan/.conan/data/pcre2/10.40/_/_/package/b385f66ddacaea8f8dc6622d45204e1153b63ee8/lib /home/conan/.conan/data/double-conversion/3.2.1/_/_/package/4d653e2028a38fb67cd7250a8b911bb0cfd0dfaf/lib /home/conan/.conan/data/fontconfig/2.13.93/_/_/package/1000ea44314d87684d0eaa834e3bf9090ac3f0a9/lib /home/conan/.conan/data/icu/71.1/_/_/package/097f353942228b3d504a0e3c54e0b4f313a31e1f/lib /home/conan/.conan/data/xkbcommon/1.4.1/_/_/package/f7328dfc9c42fc6206d9144c8f150542e9ae693c/lib /home/conan/.conan/data/md4c/0.4.8/_/_/package/dc9ada156f6a3aa934871a7f0e9b9720433423e6/lib /home/conan/.conan/data/freetype/2.12.1/_/_/package/2ba00e6a67421284baaa3dd4ad72a9e0a8369746/lib /home/conan/.conan/data/libuuid/1.0.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib /home/conan/.conan/data/wayland/1.21.0/_/_/package/e7fe6d00c2e8fadd056c0ec4c294fa6925173acb/lib /home/conan/.conan/data/bzip2/1.0.8/_/_/package/75c0a8a066a2422a4e85cba63decf52760f1010c/lib /home/conan/.conan/data/libpng/1.6.38/_/_/package/4c8eccb3da689f218a0f97ca9fff2e839fcf7bef/lib /home/conan/.conan/data/brotli/1.0.9/_/_/package/d282d846f8b69daf277177839276ed2a6a0b5b74/lib /home/conan/.conan/data/expat/2.4.9/_/_/package/8ca280ee2b2069bbe2754a427afd38b56aff1751/lib /home/conan/.conan/data/libxml2/2.9.14/_/_/package/567a33571ec0f7e332612d29d3ba19e5b4564386/lib /home/conan/.conan/data/libffi/3.4.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib /home/conan/.conan/data/zlib/1.2.12/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib /home/conan/.conan/data/libiconv/1.17/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib /home/conan/.conan/data/openssl/1.1.1n/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib' QMAKE_RPATHLINKDIR+=/home/conan/.conan/data/pcre2/10.40/_/_/package/b385f66ddacaea8f8dc6622d45204e1153b63ee8/lib:/home/conan/.conan/data/double-conversion/3.2.1/_/_/package/4d653e2028a38fb67cd7250a8b911bb0cfd0dfaf/lib:/home/conan/.conan/data/fontconfig/2.13.93/_/_/package/1000ea44314d87684d0eaa834e3bf9090ac3f0a9/lib:/home/conan/.conan/data/icu/71.1/_/_/package/097f353942228b3d504a0e3c54e0b4f313a31e1f/lib:/home/conan/.conan/data/xkbcommon/1.4.1/_/_/package/f7328dfc9c42fc6206d9144c8f150542e9ae693c/lib:/home/conan/.conan/data/md4c/0.4.8/_/_/package/dc9ada156f6a3aa934871a7f0e9b9720433423e6/lib:/home/conan/.conan/data/freetype/2.12.1/_/_/package/2ba00e6a67421284baaa3dd4ad72a9e0a8369746/lib:/home/conan/.conan/data/libuuid/1.0.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib:/home/conan/.conan/data/wayland/1.21.0/_/_/package/e7fe6d00c2e8fadd056c0ec4c294fa6925173acb/lib:/home/conan/.conan/data/bzip2/1.0.8/_/_/package/75c0a8a066a2422a4e85cba63decf52760f1010c/lib:/home/conan/.conan/data/libpng/1.6.38/_/_/package/4c8eccb3da689f218a0f97ca9fff2e839fcf7bef/lib:/home/conan/.conan/data/brotli/1.0.9/_/_/package/d282d846f8b69daf277177839276ed2a6a0b5b74/lib:/home/conan/.conan/data/expat/2.4.9/_/_/package/8ca280ee2b2069bbe2754a427afd38b56aff1751/lib:/home/conan/.conan/data/libxml2/2.9.14/_/_/package/567a33571ec0f7e332612d29d3ba19e5b4564386/lib:/home/conan/.conan/data/libffi/3.4.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib:/home/conan/.conan/data/zlib/1.2.12/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib:/home/conan/.conan/data/libiconv/1.17/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib:/home/conan/.conan/data/openssl/1.1.1n/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib QMAKE_CC=aarch64-linux-gnu-gcc QMAKE_LINK_C=aarch64-linux-gnu-gcc QMAKE_LINK_C_SHLIB=aarch64-linux-gnu-gcc QMAKE_CXX=aarch64-linux-gnu-g++ QMAKE_LINK=aarch64-linux-gnu-g++ QMAKE_LINK_SHLIB=aarch64-linux-gnu-g++ -early "CONFIG += cross_compile" 'QMAKE_USE += xkbcommon' 'QMAKE_LIBS_XKBCOMMON = -lxkbcommon-x11 -lxkbcommon -lxkbregistry -lX11 -lX11-xcb -lxcb -lfontenc -lICE -lSM -lXau -lXaw7 -lXt -lXcomposite -lXcursor -lXdamage -lXfixes -lXdmcp -lXext -lXi -lXinerama -lxkbfile -lXmu -lXmuu -lXpm -lXrandr -lXrender -lXRes -lXss -lXtst -lXv -lXvMC -lXxf86vm -lxcb-xkb -lxcb-icccm -lxcb-image -lxcb-shm -lxcb-keysyms -lxcb-randr -lxcb-render -lxcb-render-util -lxcb-shape -lxcb-sync -lxcb-xfixes -lxcb-xinerama -lxcb-util -lxcb-dri3 -luuid -lxml2 -lm -lpthread -lz -liconv -lcharset -lwayland-server -lwayland-cursor -lwayland-egl -lwayland-client -lrt -lffi -lexpat' /home/conan/.conan/data/qt/5.15.4/_/_/build/c36ecf625689b6d99429ed52eafea8615329886c/build_folder/config.tests/xkbcommon
+ cd /home/conan/.conan/data/qt/5.15.4/_/_/build/c36ecf625689b6d99429ed52eafea8615329886c/build_folder/config.tests/xkbcommon && MAKEFLAGS= /usr/bin/make
> aarch64-linux-gnu-g++ -c -pipe -O2 -w -fPIC -DPCRE2_STATIC -DU_STATIC_IMPLEMENTATION -D_DEFAULT_SOURCE -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -DXML_STATIC -DLIBXML_STATIC -DFFI_BUILDING -D_GLIBCXX_USE_CXX11_ABI=1 -I. -I/home/conan/.conan/data/pcre2/10.40/_/_/package/b385f66ddacaea8f8dc6622d45204e1153b63ee8/include -I/home/conan/.conan/data/double-conversion/3.2.1/_/_/package/4d653e2028a38fb67cd7250a8b911bb0cfd0dfaf/include -I/home/conan/.conan/data/fontconfig/2.13.93/_/_/package/1000ea44314d87684d0eaa834e3bf9090ac3f0a9/include -I/home/conan/.conan/data/icu/71.1/_/_/package/097f353942228b3d504a0e3c54e0b4f313a31e1f/include -I/home/conan/.conan/data/xkbcommon/1.4.1/_/_/package/f7328dfc9c42fc6206d9144c8f150542e9ae693c/include -I/usr/include/libdrm -I/home/conan/.conan/data/md4c/0.4.8/_/_/package/dc9ada156f6a3aa934871a7f0e9b9720433423e6/include -I/home/conan/.conan/data/freetype/2.12.1/_/_/package/2ba00e6a67421284baaa3dd4ad72a9e0a8369746/include -I/home/conan/.conan/data/freetype/2.12.1/_/_/package/2ba00e6a67421284baaa3dd4ad72a9e0a8369746/include/freetype2 -I/home/conan/.conan/data/libuuid/1.0.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/include -I/home/conan/.conan/data/libuuid/1.0.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/include/uuid -I/usr/include/uuid -I/home/conan/.conan/data/wayland/1.21.0/_/_/package/e7fe6d00c2e8fadd056c0ec4c294fa6925173acb/include -I/home/conan/.conan/data/bzip2/1.0.8/_/_/package/75c0a8a066a2422a4e85cba63decf52760f1010c/include -I/home/conan/.conan/data/libpng/1.6.38/_/_/package/4c8eccb3da689f218a0f97ca9fff2e839fcf7bef/include -I/home/conan/.conan/data/brotli/1.0.9/_/_/package/d282d846f8b69daf277177839276ed2a6a0b5b74/include -I/home/conan/.conan/data/brotli/1.0.9/_/_/package/d282d846f8b69daf277177839276ed2a6a0b5b74/include/brotli -I/home/conan/.conan/data/expat/2.4.9/_/_/package/8ca280ee2b2069bbe2754a427afd38b56aff1751/include -I/home/conan/.conan/data/libxml2/2.9.14/_/_/package/567a33571ec0f7e332612d29d3ba19e5b4564386/include -I/home/conan/.conan/data/libxml2/2.9.14/_/_/package/567a33571ec0f7e332612d29d3ba19e5b4564386/include/libxml2 -I/home/conan/.conan/data/libffi/3.4.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/include -I/home/conan/.conan/data/zlib/1.2.12/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/include -I/home/conan/.conan/data/libiconv/1.17/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/include -I/home/conan/.conan/data/openssl/1.1.1n/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/include -I/home/conan/.conan/data/qt/5.15.4/_/_/source/qt5/qtbase/mkspecs/linux-aarch64-gnu-g++ -o main.o main.cpp
> aarch64-linux-gnu-g++ -Wl,-O1 -Wl,-rpath-link,/home/conan/.conan/data/pcre2/10.40/_/_/package/b385f66ddacaea8f8dc6622d45204e1153b63ee8/lib:/home/conan/.conan/data/double-conversion/3.2.1/_/_/package/4d653e2028a38fb67cd7250a8b911bb0cfd0dfaf/lib:/home/conan/.conan/data/fontconfig/2.13.93/_/_/package/1000ea44314d87684d0eaa834e3bf9090ac3f0a9/lib:/home/conan/.conan/data/icu/71.1/_/_/package/097f353942228b3d504a0e3c54e0b4f313a31e1f/lib:/home/conan/.conan/data/xkbcommon/1.4.1/_/_/package/f7328dfc9c42fc6206d9144c8f150542e9ae693c/lib:/home/conan/.conan/data/md4c/0.4.8/_/_/package/dc9ada156f6a3aa934871a7f0e9b9720433423e6/lib:/home/conan/.conan/data/freetype/2.12.1/_/_/package/2ba00e6a67421284baaa3dd4ad72a9e0a8369746/lib:/home/conan/.conan/data/libuuid/1.0.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib:/home/conan/.conan/data/wayland/1.21.0/_/_/package/e7fe6d00c2e8fadd056c0ec4c294fa6925173acb/lib:/home/conan/.conan/data/bzip2/1.0.8/_/_/package/75c0a8a066a2422a4e85cba63decf52760f1010c/lib:/home/conan/.conan/data/libpng/1.6.38/_/_/package/4c8eccb3da689f218a0f97ca9fff2e839fcf7bef/lib:/home/conan/.conan/data/brotli/1.0.9/_/_/package/d282d846f8b69daf277177839276ed2a6a0b5b74/lib:/home/conan/.conan/data/expat/2.4.9/_/_/package/8ca280ee2b2069bbe2754a427afd38b56aff1751/lib:/home/conan/.conan/data/libxml2/2.9.14/_/_/package/567a33571ec0f7e332612d29d3ba19e5b4564386/lib:/home/conan/.conan/data/libffi/3.4.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib:/home/conan/.conan/data/zlib/1.2.12/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib:/home/conan/.conan/data/libiconv/1.17/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib:/home/conan/.conan/data/openssl/1.1.1n/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib -o xkbcommon main.o -L/home/conan/.conan/data/pcre2/10.40/_/_/package/b385f66ddacaea8f8dc6622d45204e1153b63ee8/lib -L/home/conan/.conan/data/double-conversion/3.2.1/_/_/package/4d653e2028a38fb67cd7250a8b911bb0cfd0dfaf/lib -L/home/conan/.conan/data/fontconfig/2.13.93/_/_/package/1000ea44314d87684d0eaa834e3bf9090ac3f0a9/lib -L/home/conan/.conan/data/icu/71.1/_/_/package/097f353942228b3d504a0e3c54e0b4f313a31e1f/lib -L/home/conan/.conan/data/xkbcommon/1.4.1/_/_/package/f7328dfc9c42fc6206d9144c8f150542e9ae693c/lib -L/home/conan/.conan/data/md4c/0.4.8/_/_/package/dc9ada156f6a3aa934871a7f0e9b9720433423e6/lib -L/home/conan/.conan/data/freetype/2.12.1/_/_/package/2ba00e6a67421284baaa3dd4ad72a9e0a8369746/lib -L/home/conan/.conan/data/libuuid/1.0.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib -L/home/conan/.conan/data/wayland/1.21.0/_/_/package/e7fe6d00c2e8fadd056c0ec4c294fa6925173acb/lib -L/home/conan/.conan/data/bzip2/1.0.8/_/_/package/75c0a8a066a2422a4e85cba63decf52760f1010c/lib -L/home/conan/.conan/data/libpng/1.6.38/_/_/package/4c8eccb3da689f218a0f97ca9fff2e839fcf7bef/lib -L/home/conan/.conan/data/brotli/1.0.9/_/_/package/d282d846f8b69daf277177839276ed2a6a0b5b74/lib -L/home/conan/.conan/data/expat/2.4.9/_/_/package/8ca280ee2b2069bbe2754a427afd38b56aff1751/lib -L/home/conan/.conan/data/libxml2/2.9.14/_/_/package/567a33571ec0f7e332612d29d3ba19e5b4564386/lib -L/home/conan/.conan/data/libffi/3.4.3/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib -L/home/conan/.conan/data/zlib/1.2.12/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib -L/home/conan/.conan/data/libiconv/1.17/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib -L/home/conan/.conan/data/openssl/1.1.1n/_/_/package/8fd38d381db52e2495321ce060b9f457656f6c8f/lib -lxkbcommon-x11 -lxkbcommon -lxkbregistry -lX11 -lX11-xcb -lxcb -lfontenc -lICE -lSM -lXau -lXaw7 -lXt -lXcomposite -lXcursor -lXdamage -lXfixes -lXdmcp -lXext -lXi -lXinerama -lxkbfile -lXmu -lXmuu -lXpm -lXrandr -lXrender -lXRes -lXss -lXtst -lXv -lXvMC -lXxf86vm -lxcb-xkb -lxcb-icccm -lxcb-image -lxcb-shm -lxcb-keysyms -lxcb-randr -lxcb-render -lxcb-render-util -lxcb-shape -lxcb-sync -lxcb-xfixes -lxcb-xinerama -lxcb-util -lxcb-dri3 -luuid -lxml2 -lm -lpthread -lz -liconv -lcharset -lwayland-server -lwayland-cursor -lwayland-egl -lwayland-client -lrt -lffi -lexpat
> /home/conan/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.5.0/../../../../aarch64-linux-gnu/bin/ld: cannot find -lXcomposite
> /home/conan/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.5.0/../../../../aarch64-linux-gnu/bin/ld: cannot find -lXi
> /home/conan/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.5.0/../../../../aarch64-linux-gnu/bin/ld: cannot find -lXRes
> /home/conan/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.5.0/../../../../aarch64-linux-gnu/bin/ld: cannot find -lXtst
> collect2: error: ld returned 1 exit status
> Makefile:67: recipe for target 'xkbcommon' failed
> make: *** [xkbcommon] Error 1
=> source failed verification.
test config.qtbase_gui.libraries.xkbcommon FAILED
maybe its because I have these libs(Xcomposite Xi XRes Xtst) installed as x64, let me try to reinstall them
for anyone having the same problem. I solve this by doing: 1、add multiple libraries(arm64) required by qt(https://doc.qt.io/qt-5/linux-requirements.html) to apt-get installation list 2、copy them to my toolchain folder 3、install these libraries again in x64 arch for them to be detected by xorg/system my final dockerfile, its ugly, please let me know if there is a better way:
What fails if you remove the last apt-get -q -y install ...
(x64) line ?
you should be able to remove the arm64 apt-get -q -y install ...
line with conan install xorg/system -pr:b=profile_build -pr:h=profile_host
What fails if you remove the last
apt-get -q -y install ...
(x64) line ? I get the following errorERROR: xorg/system: Error in package_info() method, line 80 self.cpp_info.components[name], is_system=self.settings.os != "FreeBSD") ConanException: pkg-config command ['pkg-config', '--print-provides', 'x11-xcb', '--print-errors'] failed with error: Command 'pkg-config --print-provides x11-xcb --print-errors' returned non-zero exit status 1. Package x11-xcb was not found in the pkg-config search path. Perhaps you should add the directory containing `x11-xcb.pc' to the PKG_CONFIG_PATH environment variable No package 'x11-xcb' found
CMake Error at build/conan.cmake:651 (message): Conan install failed='1' Call Stack (most recent call first): CMakeLists.txt:73 (conan_cmake_install)
> you should be able to remove the arm64 apt-get -q -y install ... line with conan install xorg/system -pr:b=profile_build -pr:h=profile_host
I'll try it out latter.
I think this is actually a bug: xorg/system@
should install packages matching your host arch, not the default system arch. I reported it in https://github.com/conan-io/conan/issues/12312
@Zvicii the bug is actually in xorg recipe, it should be fixed with https://github.com/conan-io/conan-center-index/pull/13538
Description
I'm building qt statically. it works fine when building natively for x64. But when cross build for linux arm64, it's not building xcb related plugins. so although qt compiles successfully, my program fails at linking.
I check qt package dir, those libs are not there ( they exist when build natively ). I did some digging, the
Configure summary
varies beteen native build and cross build. See logs. I noticed that when cross building,xkbcommon
is set tono
. Maybe its the reason why those plugins aren't being built. But why xcbcommon isnt detected? Its a conan require, and is already built successfully.Package and Environment Details
Conan profile
Configuration (profile_host): [settings] arch=armv8 arch_build=x86_64 build_type=Release compiler=gcc compiler.cppstd=14 compiler.libcxx=libstdc++11 compiler.version=7 os=Linux os_build=Linux [options] [build_requires] [env] AR=aarch64-linux-gnu-ar AS=aarch64-linux-gnu-as CC=aarch64-linux-gnu-gcc CFLAGS=-fvisibility=hidden -fvisibility-inlines-hidden CMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ CMAKE_C_COMPILER=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ CXXFLAGS=-fvisibility=hidden -fvisibility-inlines-hidden FC=aarch64-linux-gnu-gfortran LD=aarch64-linux-gnu-ld RANLIB=aarch64-linux-gnu-ranlib STRIP=aarch64-linux-gnu-strip Configuration (profile_build): [settings] arch=x86_64 build_type=Release compiler=gcc compiler.cppstd=14 compiler.libcxx=libstdc++11 compiler.version=7 os=Linux [options] [build_requires] [env] AR=ar AS=as CC=gcc CFLAGS=-fvisibility=hidden -fvisibility-inlines-hidden CMAKE_CXX_COMPILER=g++ CMAKE_C_COMPILER=gcc CXX=g++ CXXFLAGS=-fvisibility=hidden -fvisibility-inlines-hidden FC=gfortran LD=ld RANLIB=ranlib STRIP=strip
Steps to reproduce
conan install -r conancenter qt/5.15.4@ --build=missing --build=qt -pr:b=profile_build -pr:h=profile_host
need x11(arm64) and some other packages installed in toolchain dir. below is my dockerfile
Click to expand dockerfile
``` FROM conanio/gcc7-ubuntu16.04-jenkins LABEL maintainer="zvicii@qq.com" ENV CC=aarch64-linux-gnu-gcc \ CXX=aarch64-linux-gnu-g++ \ CMAKE_C_COMPILER=aarch64-linux-gnu-gcc \ CMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \ STRIP=aarch64-linux-gnu-strip \ RANLIB=aarch64-linux-gnu-ranlib \ AS=aarch64-linux-gnu-as \ AR=aarch64-linux-gnu-ar \ LD=aarch64-linux-gnu-ld \ FC=aarch64-linux-gnu-gfortran COPY sources.list /etc/apt/sources.list RUN mkdir ~/aarch64-linux-gnu ~/workspace RUN sudo wget -c https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz -O ~/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz RUN sudo tar -xf ~/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz -C ~/aarch64-linux-gnu RUN sudo wget -c https://releases.linaro.org/components/toolchain/binaries/6.5-2018.12/aarch64-linux-gnu/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu.tar.xz -O ~/aarch64-linux-gnu/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu.tar.xz RUN sudo tar -xf ~/aarch64-linux-gnu/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu.tar.xz -C ~/aarch64-linux-gnu RUN sudo rm -rf /home/conan/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc RUN sudo cp -r /home/conan/aarch64-linux-gnu/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc /home/conan/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu RUN sudo rm -rf /home/conan/aarch64-linux-gnu/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu RUN sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc ~/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc 100 RUN sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-g++ aarch64-linux-gnu-g++ ~/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ 100 RUN sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-gcov aarch64-linux-gnu-gcov ~/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcov 100 RUN sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-gcov-dump aarch64-linux-gnu-gcov-dump ~/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcov-dump 100 RUN sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-gcov-tool aarch64-linux-gnu-gcov-tool ~/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcov-tool 100 RUN sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-ar aarch64-linux-gnu-ar ~/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ar 100 RUN sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-as aarch64-linux-gnu-as ~/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-as 100 RUN sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-ld aarch64-linux-gnu-ld ~/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ld 100 RUN sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-ranlib aarch64-linux-gnu-ranlib ~/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ranlib 100 RUN sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-gfortran aarch64-linux-gnu-gfortran ~/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gfortran 100 RUN sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-strip aarch64-linux-gnu-strip ~/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-strip 100 RUN conan profile new default --detect --force RUN sudo pip3 install --upgrade cmake RUN sudo apt-get -q update RUN sudo curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - RUN sudo apt-get -q -y install nodejs openssh-client RUN sudo npm install @yxfe/nepublisher -g --registry=http://npm.netease.im/ RUN conan remote add NetEaseConan http://yunxin-conan.netease.im:8082/artifactory/api/conan/NetEaseConan # setup cross build env RUN sudo apt-get -q -y libgl1-mesa-dev libx11-dev libx11-xcb-dev libfontenc-dev libice-dev libsm-dev libxau-dev libxaw7-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev libxxf86vm-dev xtrans-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-xkb-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-xinerama0-dev xkb-data libxcb-dri3-dev uuid-dev libxcb-util-dev RUN sudo apt-get -q -y install libxau6:arm64 freetds-dev:arm64 libxcb1-dev:arm64 libbsd0:arm64 libx11-xcb-dev:arm64 libxcb-shm0-dev libgl1-mesa-dev:arm64 libx11-dev:arm64 libfontenc-dev:arm64 libice-dev:arm64 libsm-dev:arm64 libxau-dev:arm64 libxaw7-dev:arm64 libxcomposite-dev:arm64 libxcursor-dev:arm64 libxdamage-dev:arm64 libxdmcp-dev:arm64 libxext-dev:arm64 libxfixes-dev:arm64 libxi-dev:arm64 libxinerama-dev:arm64 libxkbfile-dev:arm64 libxmu-dev:arm64 libxmuu-dev:arm64 libxpm-dev:arm64 libxrandr-dev:arm64 libxrender-dev:arm64 libxres-dev:arm64 libxss-dev:arm64 libxt-dev:arm64 libxtst-dev:arm64 libxv-dev:arm64 libxvmc-dev:arm64 libxxf86vm-dev:arm64 libxcb-render0-dev:arm64 libxcb-render-util0-dev:arm64 libxcb-xkb-dev:arm64 libxcb-icccm4-dev:arm64 libxcb-image0-dev:arm64 libxcb-keysyms1-dev:arm64 libxcb-randr0-dev:arm64 libxcb-shape0-dev:arm64 libxcb-sync-dev:arm64 libxcb-xfixes0-dev:arm64 libxcb-xinerama0-dev:arm64 libxcb-dri3-dev:arm64 uuid-dev:arm64 libxcb-util-dev:arm64 # todo zlib1g:arm64 libexpat1:arm64 libkeyutils1:arm64 # copy installed arm64 packages to toolchain folder for them to be found. # I'm not using sysroot cause some x86 lib may be linked. if you have a better approch, please let me know. RUN sudo cp -r /lib/aarch64-linux-gnu /home/conan/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib RUN sudo cp -r /usr/lib/aarch64-linux-gnu /home/conan/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/usr/lib RUN sudo cp -r /lib/aarch64-linux-gnu/* /home/conan/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib RUN sudo cp -r /usr/lib/aarch64-linux-gnu/* /home/conan/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib RUN sudo cp -r /usr/include/* /home/conan/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/usr/include CMD sudo chown -R conan ~/workspace ~/.conan ```Logs
Click to expand log(native build x64 -> x64)
``` Configure summary: Build type: linux-g++ (x86_64, CPU features: mmx sse sse2) Compiler: gcc 7.5.0 Configuration: sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl compile_examples enable_new_dtags f16c largefile precompile_header rdrnd shani silent x86SimdAlways release c++11 c++14 c++17 c++1z concurrent reduce_exports reduce_relocations static stl Build options: Mode ................................... release Optimize release build for size ........ no Building shared libraries .............. no Using C standard ....................... C11 Using C++ standard ..................... C++17 Using ccache ........................... no Using new DTAGS ........................ yes Relocatable ............................ no Using precompiled headers .............. yes Using LTCG ............................. no Target compiler supports: SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX .................................. AVX AVX2 AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI Other x86 ............................ AES F16C RDRAND SHA Intrinsics without -mXXX option ...... yes Build parts ............................ libs tools Qt modules and options: Qt Concurrent .......................... yes Qt D-Bus ............................... no Qt D-Bus directly linked to libdbus .... no Qt Gui ................................. yes Qt Network ............................. yes Qt Sql ................................. yes Qt Testlib ............................. yes Qt Widgets ............................. yes Qt Xml ................................. yes Support enabled for: Using pkg-config ....................... yes udev ................................... no Using system zlib ...................... yes Zstandard support ...................... no Qt Core: DoubleConversion ....................... yes Using system DoubleConversion ........ yes GLib ................................... no iconv .................................. no ICU .................................... yes Built-in copy of the MIME database ..... yes Tracing backend ........................Click to expand log (cross build x64 -> arm64)
``` Configure summary: Building on: linux-g++ (x86_64, CPU features: mmx sse sse2) Building for: linux-aarch64-gnu-g++ (arm64, CPU features: neon) Target compiler: gcc 7.5.0 Configuration: cross_compile compile_examples enable_new_dtags largefile neon precompile_header silent release c++11 c++14 c++17 c++1z concurrent no-pkg-config reduce_exports static stl Build options: Mode ................................... release Optimize release build for size ........ no Building shared libraries .............. no Using C standard ....................... C11 Using C++ standard ..................... C++17 Using ccache ........................... no Using new DTAGS ........................ yes Relocatable ............................ no Using precompiled headers .............. yes Using LTCG ............................. no Target compiler supports: NEON ................................. yes Build parts ............................ libs Qt modules and options: Qt Concurrent .......................... yes Qt D-Bus ............................... no Qt D-Bus directly linked to libdbus .... no Qt Gui ................................. yes Qt Network ............................. yes Qt Sql ................................. yes Qt Testlib ............................. yes Qt Widgets ............................. yes Qt Xml ................................. yes Support enabled for: Using pkg-config ....................... no udev ................................... no Using system zlib ...................... yes Zstandard support ...................... no Qt Core: DoubleConversion ....................... yes Using system DoubleConversion ........ yes GLib ................................... no iconv .................................. no ICU .................................... yes Built-in copy of the MIME database ..... yes Tracing backend ........................