conan-io / conan-center-index

Recipes for the ConanCenter repository
https://conan.io/center
MIT License
958 stars 1.75k forks source link

[package] qt/5.15.4: Qt not building QXcbIntegrationSupport when cross building #13466

Closed Zvicii closed 2 years ago

Zvicii commented 2 years ago

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.

[100%] Linking CXX executable ../../bin/cross-platform-tester
/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 -lqxcb
/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 -lQt5XcbQpa
/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 -lQt5XkbCommonSupport

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 to no. 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 ........................ Logging backends: journald ............................. no syslog ............................... no slog2 ................................ no PCRE2 .................................. yes Using system PCRE2 ................... yes Qt Network: getifaddrs() ........................... yes IPv6 ifname ............................ yes libproxy ............................... no Linux AF_NETLINK ....................... yes OpenSSL ................................ yes Qt directly linked to OpenSSL ........ yes OpenSSL 1.1 ............................ yes DTLS ................................... yes OCSP-stapling .......................... yes SCTP ................................... no Use system proxies ..................... yes GSSAPI ................................. no Qt Gui: Accessibility .......................... yes FreeType ............................... yes Using system FreeType ................ yes HarfBuzz ............................... no Using system HarfBuzz ................ no Fontconfig ............................. yes Image formats: GIF .................................. yes ICO .................................. yes JPEG ................................. no Using system libjpeg ............... no PNG .................................. no Using system libpng ................ no Text formats: HtmlParser ........................... yes CssParser ............................ yes OdfWriter ............................ yes MarkdownReader ....................... yes Using system libmd4c ............... yes MarkdownWriter ....................... yes EGL .................................... no OpenVG ................................. no OpenGL: Desktop OpenGL ....................... yes OpenGL ES 2.0 ........................ no OpenGL ES 3.0 ........................ no OpenGL ES 3.1 ........................ no OpenGL ES 3.2 ........................ no Vulkan ................................. no Session Management ..................... yes Features used by QPA backends: evdev .................................. yes libinput ............................... no INTEGRITY HID .......................... no mtdev .................................. no tslib .................................. no xkbcommon .............................. yes X11 specific: XLib ................................. yes XCB Xlib ............................. yes EGL on X11 ........................... no xkbcommon-x11 ........................ yes QPA backends: DirectFB ............................... no EGLFS .................................. no LinuxFB ................................ yes VNC .................................... yes XCB: Using system-provided xcb-xinput ..... no Native painting (experimental) ....... no GL integrations: GLX Plugin ......................... yes XCB GLX .......................... yes EGL-X11 Plugin ..................... no Qt Sql: SQL item models ........................ yes Qt Widgets: GTK+ ................................... no Styles ................................. Fusion Windows Qt PrintSupport: CUPS ................................... no Qt Sql Drivers: DB2 (IBM) .............................. no InterBase .............................. no MySql .................................. no OCI (Oracle) ........................... no ODBC ................................... no PostgreSQL ............................. no SQLite2 ................................ no SQLite ................................. yes Using system provided SQLite ......... no TDS (Sybase) ........................... no Qt Testlib: Tester for item models ................. yes ```
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 ........................ Logging backends: journald ............................. no syslog ............................... no slog2 ................................ no PCRE2 .................................. yes Using system PCRE2 ................... yes Qt Network: getifaddrs() ........................... yes IPv6 ifname ............................ yes libproxy ............................... no Linux AF_NETLINK ....................... yes OpenSSL ................................ yes Qt directly linked to OpenSSL ........ yes OpenSSL 1.1 ............................ yes DTLS ................................... yes OCSP-stapling .......................... yes SCTP ................................... no Use system proxies ..................... yes GSSAPI ................................. no Qt Gui: Accessibility .......................... yes FreeType ............................... yes Using system FreeType ................ yes HarfBuzz ............................... no Using system HarfBuzz ................ no Fontconfig ............................. yes Image formats: GIF .................................. yes ICO .................................. yes JPEG ................................. no Using system libjpeg ............... no PNG .................................. no Using system libpng ................ no Text formats: HtmlParser ........................... yes CssParser ............................ yes OdfWriter ............................ yes MarkdownReader ....................... yes Using system libmd4c ............... yes MarkdownWriter ....................... yes EGL .................................... no OpenVG ................................. no OpenGL: Desktop OpenGL ....................... yes OpenGL ES 2.0 ........................ no OpenGL ES 3.0 ........................ no OpenGL ES 3.1 ........................ no OpenGL ES 3.2 ........................ no Vulkan ................................. no Session Management ..................... yes Features used by QPA backends: evdev .................................. yes libinput ............................... no INTEGRITY HID .......................... no mtdev .................................. no tslib .................................. no xkbcommon .............................. no X11 specific: XLib ................................. yes XCB Xlib ............................. yes EGL on X11 ........................... no xkbcommon-x11 ........................ no QPA backends: DirectFB ............................... no EGLFS .................................. no LinuxFB ................................ yes VNC .................................... yes Qt Sql: SQL item models ........................ yes Qt Widgets: GTK+ ................................... no Styles ................................. Fusion Windows Qt PrintSupport: CUPS ................................... no Qt Sql Drivers: DB2 (IBM) .............................. no InterBase .............................. no MySql .................................. no OCI (Oracle) ........................... no ODBC ................................... no PostgreSQL ............................. no SQLite2 ................................ no SQLite ................................. yes Using system provided SQLite ......... no TDS (Sybase) ........................... yes Qt Testlib: Tester for item models ................. yes ```
ericLemanissier commented 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.

Zvicii commented 2 years ago

conan_cross_build_qt.log log is too big, I have to use a file to upload

Zvicii commented 2 years ago

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
Zvicii commented 2 years ago

maybe its because I have these libs(Xcomposite Xi XRes Xtst) installed as x64, let me try to reinstall them

Zvicii commented 2 years ago

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:

``` 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, most of them are needed by qt(https://doc.qt.io/qt-5/linux-requirements.html) RUN sudo dpkg --add-architecture arm64 # Install and copy arm64 packages to toolchain folder for them to be found. # If you know how to install them directly into toolchain folder, please let me know. RUN sudo apt-get -q -y install libgl1-mesa-dev:arm64 libxcb-xkb-dev:arm64 freetds-dev:arm64 libfontenc-dev:arm64 libice-dev:arm64 libsm-dev:arm64 libxaw7-dev:arm64 libxt-dev:arm64 libxcomposite-dev:arm64 libxcursor-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 libxtst-dev:arm64 libxv-dev:arm64 libxvmc-dev:arm64 libxcb-icccm4-dev:arm64 libxcb-image0-dev:arm64 libxcb-shm0-dev:arm64 libxcb-keysyms1-dev:arm64 libxcb-render-util0-dev:arm64 libxcb-xinerama0-dev:arm64 libxcb-util-dev:arm64 libxcb-shape0-dev:arm64 libxcb-randr0-dev:arm64 libxcb-xfixes0-dev:arm64 libxcb-sync-dev:arm64 libxcb-keysyms1-dev:arm64 libxkbcommon-x11-dev:arm64 libsm-dev:arm64 libice-dev:arm64 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 && 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 && 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 && 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 && sudo cp -rn /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 # Now install x64 version for xorg/system to detect, its ugly but works. RUN sudo apt-get -q -y install libgl1-mesa-dev libxcb-xkb-dev freetds-dev libfontenc-dev libice-dev libsm-dev libxaw7-dev libxt-dev libxcomposite-dev libxcursor-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxtst-dev libxv-dev libxvmc-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-shm0-dev libxcb-keysyms1-dev libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-util-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-xfixes0-dev libxcb-sync-dev libxcb-keysyms1-dev libxkbcommon-x11-dev libsm-dev libice-dev CMD sudo chown -R conan ~/workspace ~/.conan ```
ericLemanissier commented 2 years ago

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

Zvicii commented 2 years ago

What fails if you remove the last apt-get -q -y install ... (x64) line ? I get the following error


ERROR: 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.
ericLemanissier commented 2 years ago

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

ericLemanissier commented 2 years ago

@Zvicii the bug is actually in xorg recipe, it should be fixed with https://github.com/conan-io/conan-center-index/pull/13538