Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
6.5.1
-
None
Description
While trying to build QtPdf with the configuration command below (with qtwebengine_build disabled), I found the configuration passes.
However, build fails with errors showing that some dependencies are missing.
Configuration command:
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON -GNinja -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu --log-level=STATUS -DCMAKE_INSTALL_PREFIX=/usr/lib/qt-android-6.5-arm64-v8a -DBUILD_WITH_PCH=OFF -DANDROID_SDK_ROOT=/builds/bastif/qt-android/android-sdk -DCMAKE_TOOLCHAIN_FILE=/builds/bastif/qt-android/r25b/android-ndk-r25b/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DQT_USE_CCACHE=ON -DQT_HOST_PATH=/usr/lib/qt-android-6.5-host -DCMAKE_BUILD_TYPE=Release -DBUILD_qtwayland=OFF -DFEATURE_qtwebengine_build=OFF -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON ../..
I actually had to install also the packages providing:
- "pkg-config"
- "gio-2.0.pc / glib-2.0.pc"
- "nss.pc"
- "libdrm.pc"
- "dbus-1.pc"
Are these dependencies really required to crossbuild QtPdf for Android?
If not, maybe the build of the components requiring them can be disbled?
If they are required, maybe there should be a check at configuration time?
Errors reported:
- "pkg-config"
CMake Error at /builds/bastif/qt-android/debian/output/source_dir/qtwebengine/cmake/Gn.cmake:75 (message): -- GN FAILED ERROR at //build/config/linux/pkg_config.gni:104:17 (//build/toolchain/linux:clang_x64): Script returned non-zero exit code. pkgresult = exec_script(pkg_config_script, args, "value") ^---------- Current dir: /builds/bastif/qt-android/debian/output/source_dir/debian/build-arm64-v8a/qtwebengine/src/pdf/Release/aarch64/ Command: /usr/bin/python3 /builds/bastif/qt-android/debian/output/source_dir/qtwebengine/src/3rdparty/chromium/build/config/linux/pkg-config.py nss -v -lssl3 Returned 1. stderr: Could not run pkg-config. See //build/config/linux/nss/BUILD.gn:11:3: whence it was called. pkg_config("nss") { ^------------------ See //net/BUILD.gn:1452:24: which caused the file to be included. public_configs = [ "//build/config/linux/nss" ] ^------------------------- 1
- "gio-2.0.pc / glib-2.0.pc"
CMake Error at /mnt/packages/git_repos/dpkg/qt-android/qtwebengine/cmake/Gn.cmake:75 (message): -- GN FAILED ERROR at //build/config/linux/pkg_config.gni:104:17 (//build/toolchain/linux:clang_x64): Script returned non-zero exit code. pkgresult = exec_script(pkg_config_script, args, "value") ^---------- Current dir: /mnt/packages/git_repos/dpkg/qt-android/debian/mm/qtwebengine/src/pdf/Release/i686/ Command: /usr/bin/python3 /mnt/packages/git_repos/dpkg/qt-android/qtwebengine/src/3rdparty/chromium/build/config/linux/pkg-config.py gio-2.0 Returned 1. stderr: Package gio-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gio-2.0.pc' to the PKG_CONFIG_PATH environment variable Package 'gio-2.0', required by 'virtual:world', not found Could not run pkg-config. See //build/linux/BUILD.gn:9:3: whence it was called. pkg_config("gio_config") { ^------------------------- See //net/BUILD.gn:1659:25: which caused the file to be included. public_configs += [ "//build/linux:gio_config" ] ^------------------------- 1
- "nss.pc"
ERROR at //build/config/linux/pkg_config.gni:104:17 (//build/toolchain/linux:clang_x64): Script returned non-zero exit code. pkgresult = exec_script(pkg_config_script, args, "value") ^---------- Current dir: /builds/bastif/qt-android/debian/output/source_dir/debian/build-arm64-v8a/qtwebengine/src/pdf/Release/aarch64/ Command: /usr/bin/python3 /builds/bastif/qt-android/debian/output/source_dir/qtwebengine/src/3rdparty/chromium/build/config/linux/pkg-config.py nss -v -lssl3 Returned 1. stderr: Package nss was not found in the pkg-config search path. Perhaps you should add the directory containing `nss.pc' to the PKG_CONFIG_PATH environment variable No package 'nss' found Could not run pkg-config. See //build/config/linux/nss/BUILD.gn:11:3: whence it was called. pkg_config("nss") { ^------------------ See //net/BUILD.gn:1452:24: which caused the file to be included. public_configs = [ "//build/config/linux/nss" ] ^------------------------- 1
- "libdrm.pc"
CMake Error at /builds/bastif/qt-android/debian/output/source_dir/qtwebengine/cmake/Gn.cmake:75 (message): -- GN FAILED ERROR at //build/config/linux/pkg_config.gni:104:17 (//build/toolchain/linux:clang_x64): Script returned non-zero exit code. pkgresult = exec_script(pkg_config_script, args, "value") ^---------- Current dir: /builds/bastif/qt-android/debian/output/source_dir/debian/build-arm64-v8a/qtwebengine/src/pdf/Release/aarch64/ Command: /usr/bin/python3 /builds/bastif/qt-android/debian/output/source_dir/qtwebengine/src/3rdparty/chromium/build/config/linux/pkg-config.py libdrm Returned 1. stderr: Package libdrm was not found in the pkg-config search path. Perhaps you should add the directory containing `libdrm.pc' to the PKG_CONFIG_PATH environment variable No package 'libdrm' found Could not run pkg-config. See //build/config/linux/libdrm/BUILD.gn:18:3: whence it was called. pkg_config("libdrm_config") { ^---------------------------- See //ui/gfx/BUILD.gn:594:15: which caused the file to be included. deps += [ "//build/config/linux/libdrm" ] ^---------------------------- 1
- "dbus-1.pc"
CMake Error at /builds/bastif/qt-android/debian/output/source_dir/qtwebengine/cmake/Gn.cmake:75 (message): -- GN FAILED ERROR at //build/config/linux/pkg_config.gni:104:17 (//build/toolchain/linux:clang_x64): Script returned non-zero exit code. pkgresult = exec_script(pkg_config_script, args, "value") ^---------- Current dir: /builds/bastif/qt-android/debian/output/source_dir/debian/build-arm64-v8a/qtwebengine/src/pdf/Release/aarch64/ Command: /usr/bin/python3 /builds/bastif/qt-android/debian/output/source_dir/qtwebengine/src/3rdparty/chromium/build/config/linux/pkg-config.py dbus-1 Returned 1. stderr: Package dbus-1 was not found in the pkg-config search path. Perhaps you should add the directory containing `dbus-1.pc' to the PKG_CONFIG_PATH environment variable No package 'dbus-1' found Could not run pkg-config. See //build/config/linux/dbus/BUILD.gn:12:1: whence it was called. pkg_config("dbus") { ^------------------- See //dbus/BUILD.gn:46:22: which caused the file to be included. public_configs = [ "//build/config/linux/dbus" ] ^-------------------------- 1