Qt6 BeagleBone Black ARMHF Build Issue
-
Hello everyone,
I am new in the forum. If I do something wrong please warn me.
I have built Qt5 for beaglebone black armhf the last month in qt5. But now I want to change the version of Qt to 6.6.
I have researched the sources, but all of them are about raspberry pi. But I tried my chance I change the ./configure parameters but it does not worked wither.
1-Qt5 configure arguments :
sudo ./configure -sysroot /home/arge13-ubuntu/Downloads/sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabihf -device linux-beagleboard-g++ -device-option CROSS_COMPILE=/home/arge13-ubuntu/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -opensource -confirm-license -optimized-qmake -reduce-exports -release -make libs -prefix /usr/local/qt5bbb -no-xcb -qt-zlib -no-opengl -nomake examples -nomake tests -no-kms -no-eglfs -no-xcb -no-accessibility -no-opengl -skip multimedia -no-gui -no-widgets -no-egl -no-openvg -openssl -no-qml-debug -skip multimedia
After this configuration, config.summary is like this.
Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
Building for: devices/linux-beagleboard-g++ (arm, CPU features: neon)
Target compiler: gcc 7.5.0
Configuration: cross_compile compile_examples enable_new_dtags largefile neon precompile_header shared rpath release c++11 c++14 c++1z concurrent dbus no-pkg-config reduce_exports stlAnd it works. I am currently using qt 5.12.1 version for cross compiling. I can deploy my armhf build project to beaglebone via ssh. I can debug it also.
2-Qt6 configure arguments :
Actually it is almost same.
But config.summary is like this:
Building for: devices/linux-beagleboard-g++ (x86_64, CPU features: )
Compiler: gcc 9.4.0What I have done :
I downloaded qt-everywhere-src-6.6.1
Downlaoded sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabihf for sysroot parameter
Downloaded gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf for CROSS_COMPILE parameter.What am I missing?
-
Unfornunately I can not pass the arguments from the terminal because of this I must add some parameters to CMakeLists.txt file manually.
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) include_directories(/home/arge13-ubuntu/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/c++/7.5.0) add_compile_options(-std=c++17 -lstdc++fs) set(TARGET_SYSROOT /home/arge13-ubuntu/Downloads/sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabihf) set(CMAKE_SYSROOT ${TARGET_SYSROOT}) set(CMAKE_C_COMPILER /home/arge13-ubuntu/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc) set(CMAKE_CXX_COMPILER /home/arge13-ubuntu/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++) set(QT_QMAKE_DEVICE_OPTIONS CROSS_COMPILE=/home/arge13-ubuntu/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- ) set(QT_QMAKE_TARGET_MKSPEC devices/linux-beagleboard-g++)
-- Performing Test HAVE_cxx17_filesystem -- Performing Test HAVE_cxx17_filesystem - Failed
arge13-ubuntu@arge13ubuntu-ROG-Zephyrus-G14-GA401QM-GA401QM:~/Downloads/qt-everywhere-src-6.5.3$ sudo ./configure -prefix /usrlocal/qt6bbb2 -opensource -confirm-license -optimized-qmake -reduce-exports -release -make libs -prefix /usr/local/qt6bbb2 -no-xcb -qt-zlib -no-opengl -qt-libpng -nomake examples -nomake tests -no-kms -no-eglfs -no-xcb -no-accessibility -no-opengl -skip multimedia -no-gui -no-widgets -no-egl -no-openvg -no-qml-debug -skip qtquick3d -skip qtcharts -skip qtdatavis3d -skip qtlottie -skip qtmultimedia -skip qtvirtualkeyboard -skip qtwebengine -skip qtquick3dphysics + mkdir -p qtbase + cd qtbase + exec /home/arge13-ubuntu/Downloads/qt-everywhere-src-6.5.3/qtbase/configure -top-level -prefix /usrlocal/qt6bbb2 -opensource -confirm-license -optimized-qmake -reduce-exports -release -make libs -prefix /usr/local/qt6bbb2 -no-xcb -qt-zlib -no-opengl -qt-libpng -nomake examples -nomake tests -no-kms -no-eglfs -no-xcb -no-accessibility -no-opengl -skip multimedia -no-gui -no-widgets -no-egl -no-openvg -no-qml-debug -skip qtquick3d -skip qtcharts -skip qtdatavis3d -skip qtlottie -skip qtmultimedia -skip qtvirtualkeyboard -skip qtwebengine -skip qtquick3dphysics opt: zlib val: qt opt: libpng val: qt Overriding option 'libpng' with 'qt' (was: 'undefined') CMake Warning at qtbase/cmake/QtProcessConfigureArgs.cmake:292 (message): '-make libs' is not implemented yet. Call Stack (most recent call first): qtbase/cmake/QtProcessConfigureArgs.cmake:818 (qtConfAddWarning) qtbase/cmake/QtProcessConfigureArgs.cmake:880 (check_qt_build_parts) '/usr/bin/cmake' '-DBUILD_multimedia=OFF' '-DBUILD_qtquick3d=OFF' '-DBUILD_qtcharts=OFF' '-DBUILD_qtdatavis3d=OFF' '-DBUILD_qtlottie=OFF' '-DBUILD_qtmultimedia=OFF' '-DBUILD_qtvirtualkeyboard=OFF' '-DBUILD_qtwebengine=OFF' '-DBUILD_qtquick3dphysics=OFF' '-DCMAKE_INSTALL_PREFIX=/usr/local/qt6bbb2' '-DQT_BUILD_EXAMPLES=FALSE' '-DQT_BUILD_TESTS=FALSE' '-DCMAKE_BUILD_TYPE=Release' '-DINPUT_release_tools=yes' '-DINPUT_reduce_exports=yes' '-DINPUT_xcb=no' '-DINPUT_system_zlib=no' '-DINPUT_opengl=no' '-DINPUT_libpng=qt' '-DINPUT_kms=no' '-DINPUT_eglfs=no' '-DINPUT_accessibility=no' '-DINPUT_gui=no' '-DINPUT_widgets=no' '-DINPUT_egl=no' '-DINPUT_openvg=no' '-DINPUT_qml_debug=no' '-G' 'Unix Makefiles' '/home/arge13-ubuntu/Downloads/qt-everywhere-src-6.5.3' CMake Warning at qtbase/cmake/QtAutoDetect.cmake:70 (message): The officially supported CMake generator for building Qt is Ninja. You are using: 'Unix Makefiles' instead. Thus, you might encounter issues. Use at your own risk. Call Stack (most recent call first): qtbase/cmake/QtAutoDetect.cmake:485 (qt_auto_detect_cmake_generator) CMakeLists.txt:31 (include) -- The CXX compiler identification is GNU 7.5.0 -- The C compiler identification is GNU 7.5.0 -- The ASM compiler identification is GNU -- Found assembler: /home/arge13-ubuntu/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -- Check for working CXX compiler: /home/arge13-ubuntu/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -- Check for working CXX compiler: /home/arge13-ubuntu/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /home/arge13-ubuntu/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -- Check for working C compiler: /home/arge13-ubuntu/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Checking dependencies of submodule 'qtbase' -- Checking dependencies of submodule 'qtimageformats' -- Checking dependencies of submodule 'qtlanguageserver' -- Checking dependencies of submodule 'qtshadertools' -- Checking dependencies of submodule 'qtsvg' -- Checking dependencies of submodule 'qtdeclarative' -- Checking dependencies of submodule 'qtquicktimeline' -- Checking dependencies of submodule 'qt3d' -- Skipping optional dependency 'qtmultimedia' of 'qt3d', because building 'qtmultimedia' was explicitly disabled. -- Checking dependencies of submodule 'qt5compat' -- Checking dependencies of submodule 'qtactiveqt' -- Checking dependencies of submodule 'qtcoap' -- Checking dependencies of submodule 'qtconnectivity' -- Checking dependencies of submodule 'qtwebsockets' -- Checking dependencies of submodule 'qthttpserver' -- Checking dependencies of submodule 'qttools' -- Checking dependencies of submodule 'qtserialport' -- Checking dependencies of submodule 'qtpositioning' -- Checking dependencies of submodule 'qtwebchannel' -- Checking dependencies of submodule 'qtdoc' -- Skipping optional dependency 'qtmultimedia' of 'qtdoc', because building 'qtmultimedia' was explicitly disabled. -- Skipping optional dependency 'qtwebengine' of 'qtdoc', because building 'qtwebengine' was explicitly disabled. -- Checking dependencies of submodule 'qtgrpc' -- Checking dependencies of submodule 'qtlocation' -- Checking dependencies of submodule 'qtmqtt' -- Checking dependencies of submodule 'qtnetworkauth' -- Checking dependencies of submodule 'qtopcua' -- Checking dependencies of submodule 'qtquickeffectmaker' -- Skipping optional dependency 'qtquick3d' of 'qtquickeffectmaker', because building 'qtquick3d' was explicitly disabled. -- Checking dependencies of submodule 'qtremoteobjects' -- Checking dependencies of submodule 'qtscxml' -- Checking dependencies of submodule 'qtsensors' -- Checking dependencies of submodule 'qtserialbus' -- Checking dependencies of submodule 'qtspeech' -- Skipping optional dependency 'qtmultimedia' of 'qtspeech', because building 'qtmultimedia' was explicitly disabled. -- Checking dependencies of submodule 'qttranslations' -- Checking dependencies of submodule 'qtwayland' -- Checking dependencies of submodule 'qtwebview' -- Skipping optional dependency 'qtwebengine' of 'qtwebview', because building 'qtwebengine' was explicitly disabled. -- Configuring submodule 'qtbase' -- CMAKE_BUILD_TYPE was set to: 'Release' -- Check for feature set changes -- CMAKE_STRIP (original): /usr/bin/strip -- Performing Test strip --keep-section -- Performing Test strip --keep-section - FALSE -- Building architecture extraction project with the following CMake arguments: -DCMAKE_C_FLAGS_DEBUG=-g -DCMAKE_C_FLAGS_RELEASE=-O3 -DNDEBUG -DCMAKE_C_FLAGS_RELWITHDEBINFO=-O2 -g -DNDEBUG -DCMAKE_CXX_FLAGS_DEBUG=-g -DCMAKE_CXX_FLAGS_RELEASE=-O3 -DNDEBUG -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-O2 -g -DNDEBUG -DCMAKE_OBJCOPY=/usr/bin/objcopy -DCMAKE_C_STANDARD=11 -DCMAKE_C_STANDARD_REQUIRED=ON -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_MODULE_PATH:STRING=/home/arge13-ubuntu/Downloads/qt-everywhere-src-6.5.3/qtbase/cmake/platforms -- Extracting architecture info from /home/arge13-ubuntu/Downloads/qt-everywhere-src-6.5.3/qtbase/config.tests/arch/architecture_test. -- CMAKE_VERSION: "3.16.3" -- CMAKE_HOST_SYSTEM: "Linux-5.15.0-91-generic" -- CMAKE_HOST_SYSTEM_NAME: "Linux" -- CMAKE_HOST_SYSTEM_VERSION: "5.15.0-91-generic" -- CMAKE_HOST_SYSTEM_PROCESSOR: "x86_64" -- CMAKE_SYSTEM: "Linux" -- CMAKE_SYSTEM_NAME: "Linux" -- CMAKE_SYSTEM_VERSION: "5.15.0-91-generic" -- CMAKE_SYSTEM_PROCESSOR: "x86_64" -- CMAKE_CROSSCOMPILING: "FALSE" -- CMAKE_INSTALL_PREFIX: "/usr/local/qt6bbb2" -- CMAKE_STAGING_PREFIX: "" -- QT_BUILD_DIR: "/home/arge13-ubuntu/Downloads/qt-everywhere-src-6.5.3/qtbase" -- QT_INSTALL_DIR: "" -- QT_WILL_INSTALL: "ON" -- CMAKE_C_COMPILER: "/home/arge13-ubuntu/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc" (7.5.0) -- CMAKE_CXX_COMPILER: "/home/arge13-ubuntu/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++" (7.5.0) -- Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found suitable version "1.2.11", minimum required is "1.0.8") -- Could NOT find WrapSystemZLIB (missing: WrapSystemZLIB_FOUND) (Required is at least version "1.0.8") -- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1f") -- Found WrapOpenSSLHeaders: /usr/include (found version "1.1.1f") -- Performing Test HAVE_opensslv11_headers -- Performing Test HAVE_opensslv11_headers - Failed -- Found WrapOpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1f") -- Performing Test HAVE_opensslv11 -- Performing Test HAVE_opensslv11 - Failed -- Performing Test HAVE_opensslv30_headers -- Performing Test HAVE_opensslv30_headers - Failed -- Performing Test HAVE_opensslv30 -- Performing Test HAVE_opensslv30 - Failed -- Could NOT find WrapZSTD (missing: ZSTD_LIBRARIES) (found suitable version "1.4.4", minimum required is "1.3") -- Could NOT find WrapDBus1 (missing: DBus1_LIBRARY DBus1_INCLUDE_DIR WrapDBus1_FOUND) (Required is at least version "1.2") -- Checking for module 'libudev' -- Found libudev, version 245 -- Could NOT find LTTngUST (missing: LTTNGUST_LIBRARIES LTTNGUST_INCLUDE_DIRS) -- Performing Test TEST_use_bfd_linker -- Performing Test TEST_use_bfd_linker - Success -- Performing Test TEST_use_gold_linker -- Performing Test TEST_use_gold_linker - Success -- Performing Test TEST_use_lld_linker -- Performing Test TEST_use_lld_linker - Failed -- Performing Test TEST_use_mold_linker -- Performing Test TEST_use_mold_linker - Success -- Performing Test machine tuple -- Performing Test machine tuple - Success -- Performing Test HAVE_cxx14 -- Performing Test HAVE_cxx14 - Success -- Performing Test HAVE_cxx17 -- Performing Test HAVE_cxx17 - Success -- Performing Test HAVE_cxx20 -- Performing Test HAVE_cxx20 - Failed -- Performing Test HAVE_cxx2b -- Performing Test HAVE_cxx2b - Failed -- Performing Test precompiled header support -- Performing Test precompiled header support - Success -- Performing Test TEST_optimize_debug -- Performing Test TEST_optimize_debug - Success -- Performing Test -mno-direct-extern-access / -fno-direct-access-external-data support -- Performing Test -mno-direct-extern-access / -fno-direct-access-external-data support - Failed -- Performing Test TEST_enable_new_dtags -- Performing Test TEST_enable_new_dtags - Success -- Performing Test TEST_gdb_index -- Performing Test TEST_gdb_index - Failed -- Performing Test HAVE_reduce_relocations -- Performing Test HAVE_reduce_relocations - Failed -- Performing Test separate debug information support -- Performing Test separate debug information support - Failed -- Performing Test HAVE_signaling_nan -- Performing Test HAVE_signaling_nan - Success -- Performing Test Basic x86 intrinsics -- Performing Test Basic x86 intrinsics - Failed -- Performing Test AVX512VBMI2 intrinsics -- Performing Test AVX512VBMI2 intrinsics - Failed -- Performing Test VAES intrinsics -- Performing Test VAES intrinsics - Failed -- Performing Test HAVE_posix_fallocate -- Performing Test HAVE_posix_fallocate - Success -- Performing Test HAVE_alloca_stdlib_h -- Performing Test HAVE_alloca_stdlib_h - Success -- Performing Test HAVE_alloca_h -- Performing Test HAVE_alloca_h - Success -- Performing Test HAVE_alloca_malloc_h -- Performing Test HAVE_alloca_malloc_h - Failed -- Performing Test HAVE_stack_protector -- Performing Test HAVE_stack_protector - Success -- Performing Test HAVE_intelcet -- Performing Test HAVE_intelcet - Failed -- Performing Test HAVE_LD_VERSION_SCRIPT -- Performing Test HAVE_LD_VERSION_SCRIPT - Success -- Check if linker can resolve circular dependencies - FALSE -- Looking for backtrace -- Looking for backtrace - found -- backtrace facility detected in default set of libraries -- Found Backtrace: /home/arge13-ubuntu/Downloads/sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabihf/usr/include -- Could NOT find WrapSystemDoubleConversion (missing: DOUBLE_CONVERSION_LIBRARY DOUBLE_CONVERSION_INCLUDE_DIR __double_conversion_found) -- Found GLIB2: /usr/lib/x86_64-linux-gnu/libglib-2.0.so -- The following ICU libraries were not found: -- i18n (required) -- uc (required) -- data (required) -- Failed to find all ICU components (missing: ICU_LIBRARY _ICU_REQUIRED_LIBS_FOUND) (found suitable version "66.1", minimum required is "50.1") -- Checking for module 'libsystemd' -- No package 'libsystemd' found -- Performing Test HAVE_STDATOMIC -- Performing Test HAVE_STDATOMIC - Success -- Found WrapAtomic: TRUE -- Checking for module 'libb2' -- No package 'libb2' found -- Performing Test HAVE_GETTIME -- Performing Test HAVE_GETTIME - Success -- Found WrapRt: TRUE -- Found WrapSystemPCRE2: /usr/lib/x86_64-linux-gnu/libpcre2-16.so (found suitable version "10.34", minimum required is "10.20") -- Could NOT find Slog2 (missing: Slog2_INCLUDE_DIR Slog2_LIBRARY) -- Performing Test HAVE_atomicfptr -- Performing Test HAVE_atomicfptr - Success -- Performing Test HAVE_clock_monotonic -- Performing Test HAVE_clock_monotonic - Success -- Performing Test HAVE_cloexec -- Performing Test HAVE_cloexec - Success -- Performing Test HAVE_cxx11_future -- Performing Test HAVE_cxx11_future - Success -- Performing Test HAVE_cxx11_random -- Performing Test HAVE_cxx11_random - Success -- Performing Test HAVE_cxx17_filesystem -- Performing Test HAVE_cxx17_filesystem - Failed -- Performing Test HAVE_dladdr -- Performing Test HAVE_dladdr - Success -- Performing Test HAVE_eventfd -- Performing Test HAVE_eventfd - Success -- Performing Test HAVE_futimens -- Performing Test HAVE_futimens - Success -- Performing Test HAVE_getauxval -- Performing Test HAVE_getauxval - Success -- Performing Test HAVE_getentropy -- Performing Test HAVE_getentropy - Success -- Performing Test HAVE_glibc -- Performing Test HAVE_glibc - Success -- Performing Test HAVE_inotify -- Performing Test HAVE_inotify - Success -- Performing Test HAVE_ipc_sysv -- Performing Test HAVE_ipc_sysv - Success -- Performing Test HAVE_ipc_posix -- Performing Test HAVE_ipc_posix - Success -- Performing Test HAVE_linkat -- Performing Test HAVE_linkat - Success -- Performing Test HAVE_ppoll -- Performing Test HAVE_ppoll - Success -- Performing Test HAVE_pollts -- Performing Test HAVE_pollts - Failed -- Performing Test HAVE_poll -- Performing Test HAVE_poll - Success -- Performing Test HAVE_renameat2 -- Performing Test HAVE_renameat2 - Failed -- Performing Test HAVE_statx -- Performing Test HAVE_statx - Failed -- Performing Test HAVE_syslog -- Performing Test HAVE_syslog - Success -- Performing Test HAVE_cpp_winrt -- Performing Test HAVE_cpp_winrt - Failed -- Performing Test HAVE_xlocalescanprint -- Performing Test HAVE_xlocalescanprint - Failed -- Checking for module 'libproxy-1.0' -- No package 'libproxy-1.0' found -- Found GSSAPI: /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so -- Found GLIB2: /usr/lib/x86_64-linux-gnu/libglib-2.0.so found components: GOBJECT -- Found GLIB2: /usr/lib/x86_64-linux-gnu/libglib-2.0.so found components: GIO -- Performing Test HAVE_getifaddrs -- Performing Test HAVE_getifaddrs - Success -- Performing Test HAVE_ifr_index -- Performing Test HAVE_ifr_index - Failed -- Performing Test HAVE_ipv6ifname -- Performing Test HAVE_ipv6ifname - Success -- Performing Test HAVE_linux_netlink -- Performing Test HAVE_linux_netlink - Success -- Performing Test HAVE_sctp -- Performing Test HAVE_sctp - Failed -- Performing Test HAVE_dtls -- Performing Test HAVE_dtls - Failed -- Performing Test HAVE_ocsp -- Performing Test HAVE_ocsp - Failed -- Performing Test HAVE_networklistmanager -- Performing Test HAVE_networklistmanager - Failed -- Tool 'Qt6::syncqt' will be built from source. -- Tool 'Qt6::moc' will be built from source. -- Tool 'Qt6::rcc' will be built from source. -- Tool 'Qt6::tracepointgen' will be built from source. -- Tool 'Qt6::tracegen' will be built from source. -- Tool 'Qt6::cmake_automoc_parser' will be built from source. -- Running syncqt.cpp for module: QtZlib -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Using system PCRE2. -- Found WrapPCRE2: TRUE -- Using Qt bundled ZLIB. -- Found WrapZLIB: TRUE -- Could NOT find WrapSystemDoubleConversion (missing: DOUBLE_CONVERSION_LIBRARY DOUBLE_CONVERSION_INCLUDE_DIR __double_conversion_found) -- Found GLIB2: /usr/lib/x86_64-linux-gnu/libglib-2.0.so -- The following ICU libraries were not found: -- i18n (required) -- uc (required) -- data (required) -- Failed to find all ICU components (missing: ICU_LIBRARY _ICU_REQUIRED_LIBS_FOUND) (found suitable version "66.1", minimum required is "50.1") -- Checking for module 'libsystemd' -- No package 'libsystemd' found -- Checking for module 'libb2' -- No package 'libb2' found -- Could NOT find Slog2 (missing: Slog2_INCLUDE_DIR Slog2_LIBRARY) -- Performing Test HAVE_DASH_UNDEFINED_SYMBOLS -- Performing Test HAVE_DASH_UNDEFINED_SYMBOLS - Success -- Performing Test HAVE_DASH_DASH_NO_UNDEFINED -- Performing Test HAVE_DASH_DASH_NO_UNDEFINED - Success -- Running syncqt.cpp for module: QtCore -- Running syncqt.cpp for module: QtConcurrent -- Running syncqt.cpp for module: QtSql -- Checking for module 'libproxy-1.0' -- No package 'libproxy-1.0' found -- Found GLIB2: /usr/lib/x86_64-linux-gnu/libglib-2.0.so found components: GOBJECT -- Found GLIB2: /usr/lib/x86_64-linux-gnu/libglib-2.0.so found components: GIO -- Running syncqt.cpp for module: QtNetwork -- Running syncqt.cpp for module: QtXml -- Running syncqt.cpp for module: QtDBus -- Tool 'Qt6::uic' will be built from source. -- Tool 'Qt6::qdbuscpp2xml' will be built from source. -- Tool 'Qt6::qdbusxml2cpp' will be built from source. -- Tool 'Qt6::qlalr' will be built from source. -- Tool 'Qt6::qvkgen' will be built from source. -- Tool 'Qt6::qtpaths' will be built from source. -- Tool 'Qt6::androiddeployqt' will be built from source. -- Running syncqt.cpp for module: QtTest -- Could NOT find DB2 (missing: DB2_INCLUDE_DIR DB2_LIBRARY) -- Found MySQL: /usr/lib/x86_64-linux-gnu/libmysqlclient.so -- Could NOT find PostgreSQL (missing: PostgreSQL_LIBRARY) (found version "15.2") -- Could NOT find Oracle (missing: Oracle_LIBRARY Oracle_INCLUDE_DIR) -- Could NOT find ODBC (missing: ODBC_LIBRARY) -- Could NOT find SQLite3 (missing: SQLite3_LIBRARY) (found version "3.31.1") -- Could NOT find Interbase (missing: Interbase_LIBRARY Interbase_INCLUDE_DIR) -- Tool 'Qt6::qmake' will be built from source. -- Generated QtModulePlugins.cmake files for the following modules: Sql;Network -- Configuring submodule 'qtimageformats' -- Check if compiler accepts -pthread -- Check if compiler accepts -pthread - yes Skipping the build as the condition "TARGET Qt::Gui" is not met. -- Configuring submodule 'qtlanguageserver' -- CMAKE_BUILD_TYPE was set to: 'Release' -- Running syncqt.cpp for module: QtJsonRpc -- Running syncqt.cpp for module: QtLanguageServer -- Configuring submodule 'qtshadertools' Skipping the build as the condition "TARGET Qt::Gui" is not met. -- Configuring submodule 'qtsvg' -- CMAKE_BUILD_TYPE was set to: 'Release' -- Configuring submodule 'qtdeclarative' CMake Warning at qtbase/lib/cmake/Qt6OpenGL/Qt6OpenGLConfigVersion.cmake:53 (message): Version 6.5.3 of package Qt6OpenGL was requested but an incompatible version was found: 6.5.3 (64bit). You can pass -DQT_NO_PACKAGE_VERSION_CHECK=TRUE to disable the version check and force the incompatible version to be used. There is no guarantee the build will succeed. Use at your own risk. You can silence this warning by passing -DQT_NO_PACKAGE_VERSION_INCOMPATIBLE_WARNING=TRUE Call Stack (most recent call first): qtbase/lib/cmake/Qt6/Qt6Config.cmake:157 (find_package) qtdeclarative/CMakeLists.txt:17 (find_package) -- Configure summary: Building for: devices/linux-beagleboard-g++ (arm, CPU features: ) Compiler: gcc 7.5.0 Build options: Mode ................................... release Optimize release build for size ........ no Fully optimize release builds (-O3) .... no Building shared libraries .............. yes Using C standard ....................... C11 Using C++ standard ..................... C++17 Using ccache ........................... no Unity Build ............................ no Using new DTAGS ........................ yes Relocatable ............................ yes Using precompiled headers .............. yes Using Link Time Optimization (LTCG) .... no Using Intel CET ........................ no Target compiler supports: ARM Extensions ....................... <none> Sanitizers: Addresses ............................ no Threads .............................. no Memory ............................... no Fuzzer (instrumentation only) ........ no Undefined ............................ no Build parts ............................ libs tools Qt modules and options: Qt Concurrent .......................... yes Qt D-Bus ............................... yes Qt D-Bus directly linked to libdbus .... no Qt Gui ................................. no Qt Network ............................. yes Qt PrintSupport ........................ no Qt Sql ................................. yes Qt Testlib ............................. yes Qt Widgets ............................. no Qt Xml ................................. yes Support enabled for: Using pkg-config ....................... yes udev ................................... yes OpenSSL ................................ no Qt directly linked to OpenSSL ........ no OpenSSL 1.1 ............................ no OpenSSL 3.0 ............................ no Using system zlib ...................... no Zstandard support ...................... no Thread support ......................... yes Common build options: Linker can resolve circular dependencies no CMake policy CMP0099 is supported ...... no Qt Core: backtrace .............................. yes DoubleConversion ....................... yes Using system DoubleConversion ........ no GLib ................................... yes ICU .................................... no Using system libb2 ..................... no Built-in copy of the MIME database ..... yes cpp/winrt base ......................... no Tracing backend ........................ <none> Logging backends: journald ............................. no syslog ............................... no slog2 ................................ no PCRE2 .................................. yes Using system PCRE2 ................... yes CLONE_PIDFD support in forkfd .......... yes Application permissions ................ no Qt Sql: SQL item models ........................ yes Qt Network: getifaddrs() ........................... yes IPv6 ifname ............................ yes libproxy ............................... no Linux AF_NETLINK ....................... yes DTLS ................................... no OCSP-stapling .......................... no SCTP ................................... no Use system proxies ..................... yes GSSAPI ................................. yes Brotli Decompression Support ........... yes qIsEffectiveTLD() ...................... yes Built-in publicsuffix database ....... yes System publicsuffix database ......... yes Core tools: Android deployment tool ................ yes macOS deployment tool .................. no Windows deployment tool ................ no qmake .................................. yes Qt Testlib: Tester for item models ................. yes Batch tests ............................ no Qt Sql Drivers: DB2 (IBM) .............................. no InterBase .............................. no MySql .................................. yes OCI (Oracle) ........................... no ODBC ................................... no PostgreSQL ............................. no SQLite ................................. yes Using system provided SQLite ......... no Qt QML: QML network support .................... yes QML debugging and profiling support .... no QML just-in-time compiler .............. yes QML XML http request ................... yes QML Locale ............................. yes Qt QML Models: QML list model ......................... yes QML delegate model ..................... yes Qt Quick: Qt Quick support ....................... no Qt 5 Compatibility Libraries: iconv ................................ yes Qt Bluetooth: BlueZ ................................ no BlueZ Low Energy ..................... no Linux Crypto API ..................... no WinRT Bluetooth API .................. no Qt Tools: Qt Assistant ......................... no QDoc ................................. no Clang-based lupdate parser ........... no Qt Designer .......................... no Qt Distance Field Generator .......... no Qt Linguist .......................... yes pixeltool ............................ no qdbus ................................ yes Qt Attributions Scanner .............. yes qtdiag ............................... no qtplugininfo ......................... yes Serial Port: ntddmodm ............................. no Qt Protobuf tools: Qt Protobuf generator ................ no Qt GRPC: gRPC support ......................... yes Native gRPC support .................. no Qt GRPC tools: Qt GRPC generator .................... no Qt Opcua: Open62541 ............................ yes Unified Automation C++ SDK ........... no Support for namespace 0 NodeId names . yes Namespace 0 NodeIds generator ........ no Open62541 security support ........... yes Support for global discovery server .. yes Qt Remote Objects: High Availability Manager (ham) ...... no Qt Scxml: ECMAScript data model for QtScxml .... yes Qt Sensors: sensorfw ............................. no sensorfw_enabled_with_cmake .......... no Qt SerialBus: Socket CAN ........................... yes Socket CAN FD ........................ yes SerialPort Support ................... yes Qt TextToSpeech: Flite ................................ no Flite with ALSA ...................... no Speech Dispatcher .................... no Note: Qt Quick modules not built due to not finding the qtshadertools 'qsb' tool. WARNING: QDoc will not be compiled, probably because libclang could not be located. This means that you cannot build the Qt documentation. Either set CMAKE_PREFIX_PATH or LLVM_INSTALL_DIR to the location of your llvm installation. On Linux systems, you may be able to install libclang by installing the libclang-dev or libclang-devel package, depending on your distribution. On macOS, you can use Homebrew's llvm package. You will also need to set the FEATURE_clang CMake variable to ON to re-evaluate this check. WARNING: Clang-based lupdate parser will not be available. LLVM and Clang C++ libraries have not been found. You will need to set the FEATURE_clangcpp CMake variable to ON to re-evaluate this check. WARNING: SensorFW support currently not enabled with cmake -- Qt is now configured for building. Just run 'cmake --build . --parallel' Once everything is built, you must run 'cmake --install .' Qt will be installed into '/usr/local/qt6bbb2' To configure and build other Qt modules, you can use the following convenience script: /usr/local/qt6bbb2/bin/qt-configure-module If reconfiguration fails for some reason, try removing 'CMakeCache.txt' from the build directory -- Configuring done CMake Warning at qtbase/src/corelib/Qt6CoreMacros.cmake:2303 (add_library): Cannot generate a safe runtime search path for target Core because files in some directories may conflict with libraries in implicit directories: runtime library [librt.so.1] in /home/arge13-ubuntu/Downloads/sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabihf/usr/lib may be hidden by files in: /usr/lib/x86_64-linux-gnu Some of these libraries may not be found correctly. Call Stack (most recent call first): qtbase/cmake/QtModuleHelpers.cmake:168 (_qt_internal_add_library) qtbase/src/corelib/CMakeLists.txt:40 (qt_internal_add_module) -- Generating done CMake Warning: Manually-specified variables were not used by the project: BUILD_multimedia INPUT_accessibility INPUT_egl INPUT_eglfs INPUT_kms INPUT_libpng INPUT_opengl INPUT_openvg INPUT_release_tools INPUT_xcb -- Build files have been written to: /home/arge13-ubuntu/Downloads/qt-everywhere-src-6.5.3
But now It says
err #include <filesystem> is not found.
Please help me about correct parameters. I spend 4 days for this.
-
Add: The complete issue is like this
Scanning dependencies of target syncqt [ 0%] Building CXX object qtbase/src/tools/syncqt/CMakeFiles/syncqt.dir/main.cpp.o /home/arge13-ubuntu/Downloads/qt-everywhere-src-6.6.1/qtbase/src/tools/syncqt/main.cpp:24:10: fatal error: filesystem: No such file or directory #include <filesystem> ^~~~~~~~~~~~ compilation terminated. make[2]: *** [qtbase/src/tools/syncqt/CMakeFiles/syncqt.dir/build.make:63: qtbase/src/tools/syncqt/CMakeFiles/syncqt.dir/main.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:14400: qtbase/src/tools/syncqt/CMakeFiles/syncqt.dir/all] Error 2 make: *** [Makefile:141: all] Error 2
-
@kadirtunc said in Qt6 BeagleBone Black ARMHF Build Issue:
filesystem: No such file or directory
Is C++17 enabled?
-
@jsulm Thanks for reply, I added
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF)
But it does not worked.
Some forums says it is about the gcc linaro's version. So I installed the ubuntu 22.04 in docker and installed dependencies,
Now it says,
+ mkdir -p qtbase + cd qtbase + exec /qt6/qtbase/configure -top-level '/usr/bin/cmake' '-DQT_INTERNAL_CALLED_FROM_CONFIGURE:BOOL=TRUE' '-G' 'Unix Makefiles' '/qt6' CMake Warning at qtbase/cmake/QtAutoDetect.cmake:73 (message): The officially supported CMake generator for building Qt is Ninja. You are using: 'Unix Makefiles' instead. Thus, you might encounter issues. Use at your own risk. Call Stack (most recent call first): qtbase/cmake/QtAutoDetect.cmake:504 (qt_auto_detect_cmake_generator) qtbase/cmake/QtBaseTopLevelHelpers.cmake:16 (include) CMakeLists.txt:22 (qt_internal_top_level_setup_autodetect) -- The CXX compiler identification is GNU 11.3.1 -- The C compiler identification is GNU 11.3.1 -- The ASM compiler identification is GNU -- Found assembler: /home/ubuntu/gcc-linaro-11.3.1-2022.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - failed -- Check for working CXX compiler: /home/ubuntu/gcc-linaro-11.3.1-2022.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -- Check for working CXX compiler: /home/ubuntu/gcc-linaro-11.3.1-2022.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ - broken CMake Error at /usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake:62 (message): The C++ compiler "/home/ubuntu/gcc-linaro-11.3.1-2022.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++" is not able to compile a simple test program. It fails with the following output: Change Dir: /qt6/CMakeFiles/CMakeTmp Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_c5b5d/fast && /usr/bin/gmake -f CMakeFiles/cmTC_c5b5d.dir/build.make CMakeFiles/cmTC_c5b5d.dir/build gmake[1]: Entering directory '/qt6/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_c5b5d.dir/testCXXCompiler.cxx.o /home/ubuntu/gcc-linaro-11.3.1-2022.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ --sysroot=/home/ubuntu/sysroot-glibc-linaro-2.34-2022.06-arm-linux-gnueabihf -o CMakeFiles/cmTC_c5b5d.dir/testCXXCompiler.cxx.o -c /qt6/CMakeFiles/CMakeTmp/testCXXCompiler.cxx Linking CXX executable cmTC_c5b5d /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c5b5d.dir/link.txt --verbose=1 /home/ubuntu/gcc-linaro-11.3.1-2022.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ --sysroot=/home/ubuntu/sysroot-glibc-linaro-2.34-2022.06-arm-linux-gnueabihf CMakeFiles/cmTC_c5b5d.dir/testCXXCompiler.cxx.o -o cmTC_c5b5d /home/ubuntu/gcc-linaro-11.3.1-2022.06-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/11.3.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find crt1.o: No such file or directory /home/ubuntu/gcc-linaro-11.3.1-2022.06-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/11.3.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find crti.o: No such file or directory /home/ubuntu/gcc-linaro-11.3.1-2022.06-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/11.3.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lm collect2: error: ld returned 1 exit status gmake[1]: *** [CMakeFiles/cmTC_c5b5d.dir/build.make:99: cmTC_c5b5d] Error 1 gmake[1]: Leaving directory '/qt6/CMakeFiles/CMakeTmp' gmake: *** [Makefile:127: cmTC_c5b5d/fast] Error 2 CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:24 (project) -- Configuring incomplete, errors occurred! See also "/qt6/CMakeFiles/CMakeOutput.log". See also "/qt6/CMakeFiles/CMakeError.log". CMake Error at qtbase/cmake/QtProcessConfigureArgs.cmake:1040 (message): CMake exited with code 1.
sudo apt install gcc-multilib does not worked.
So I have another question, does crti.o and crti1.o files looking armhf compiled version or x86 compiled version?
And another question, while qt5 cross compile is not hard, why qt6 cross compile is so hard? what am I missing ?
-
@kadirtunc said in Qt6 BeagleBone Black ARMHF Build Issue:
does crti.o and crti1.o files looking armhf compiled version or x86 compiled version?
The version matching the compiler.
Is that compiler installed properly? Can you build a simple C/C++ application using it? Is your sysroot installation correct? -
I found this info. in your build and like @jsulm states, C++ 17 seems to fail on your build even though it seems you have it.
@kadirtunc said in Qt6 BeagleBone Black ARMHF Build Issue:
-- Performing Test HAVE_cxx17_filesystem - Failed
-- i18n (required) -- uc (required) -- data (required)
Thos libs. are required obviously. You might need to install them... Also, I noticed you were using
Makefile
instead ofninja
for your compilation.Seth
P.S. I am the person trying to help you on StackOverflow. It seems we are discussing two, separate topics. You want to cross-compile and I want you to install the Debian Distro repo versioning. I am sorry. Good luck for now. I will keep trying.
-
@silver2row Thank you for reply. Actually when I opened this topic I am still trying to achieve my goal. I am trying now also. I tried different versions of gcc linaro, sysroot and qt >=6.5. I want to use new CanBus classes. It comes with qt6.5. I can not find a tool like python cantools. It can parses and decodes frame and gives the value from value table. Because of this I want to use cross compiling. If there is a guide for building Qt 6.5 or higher for beaglebone black It will be helpful. But I saw your answer in StackOverflow. I still have hope. There must be a way to cross compile.
-
You are welcome. I was unaware of you using the libraries within Qt6.x for your programming needs. I might have went off on a tangent thinking you could just use whatever Debian Bookworm had offered.
I am sorry. If I configure the build, I will let you know. I may not be able to be of any assistance though, i.e. due to other items of interest I am currently testing.
Seth
-
Hi do you try to cross compile Qt for arm or you build it on you actual device?
Why am I asking?
From what I see you specified the C/CXX compiler and expect Qt is built using it. You should build/use host Qt when cross-compiling to make Qt tools work.You can take the inspiration from this topic https://wiki.qt.io/Cross-Compile_Qt_6_for_Raspberry_Pi. Scroll to "Building Qt 6" topic. It suggests building Qt6 for host first and then use it by specifying the '-qt-host-path' argument.
Hope this will help you, don't hesitate to ask further questions.