Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMAKE_PREFIX_PATH is not set with gnome extenstion #5272

Open
ilya-fedin opened this issue Feb 20, 2025 · 1 comment
Open

CMAKE_PREFIX_PATH is not set with gnome extenstion #5272

ilya-fedin opened this issue Feb 20, 2025 · 1 comment

Comments

@ilya-fedin
Copy link

Bug Description

I'm trying to migrate my snap from snapcraft-desktop-helpers to the gnome extension but cmake is unable to find libraries located in the sdk with find_library calls. pkg_check_modules works but I can't change cmake rules of all libraries I use. I believe that's because snapcraft sets PKG_CONFIG_PATH but not CMAKE_PREFIX_PATH.

To Reproduce

Build any cmake project which is using find_library on dependencies provided by the gnome sdk

Environment

Snapcraft is running using LXD, installed via snap package on Arch which is running inside LXC container on NixOS (as snap has no support for NixOS).

snapcraft.yaml

name: telegram-desktop
adopt-info: telegram
icon: Telegram/Resources/art/[email protected]

base: core24
grade: stable
confinement: strict
compression: lzo

apps:
  telegram-desktop:
    command: usr/bin/telegram-desktop
    common-id: org.telegram.desktop
    desktop: usr/share/applications/org.telegram.desktop.desktop
    autostart: telegram-desktop_telegram-desktop.desktop
    extensions: [gnome]
    plugs:
      - alsa
      - audio-playback
      - audio-record
      - camera
      - hardware-observe
      - home
      - network
      - network-bind
      - network-status
      - removable-media
      - unity7
    slots:
      - mpris

layout:
  /usr/share/alsa:
    bind: $SNAP/usr/share/alsa

parts:
  telegram:
    plugin: cmake
    source: .
    source-type: git
    parse-info: [usr/share/metainfo/org.telegram.desktop.metainfo.xml]
    build-environment:
      - LD_LIBRARY_PATH: $CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
      - LDFLAGS: ${LDFLAGS:+$LDFLAGS} -s
    build-packages:
      - clang
      - protobuf-compiler
      - libasound2-dev
      - libavif-dev
      - libboost-regex-dev
      - libopenal-dev
      - libopus-dev
      - libprotobuf-dev
      - libssl-dev
      - libxcb-keysyms1-dev
      - libxcb-record0-dev
      - libxcb-screensaver0-dev
    stage-packages:
      - libasound2t64
      - libavif16
      - libboost-regex1.83.0
      - libgeoclue-2-0
      - libopenal1
      - libopus0
      - libprotobuf-lite32t64
      - libssl3t64
      - libxcb-keysyms1
      - libxcb-record0
      - libxcb-screensaver0
    cmake-generator: Ninja
    cmake-parameters:
      - -DCMAKE_BUILD_TYPE=Release
      - -DCMAKE_INSTALL_PREFIX=/usr
      - -DCMAKE_PREFIX_PATH=$CRAFT_STAGE/usr
      - -DTDESKTOP_API_ID=611335
      - -DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c
      - -DDESKTOP_APP_USE_PACKAGED_LAZY=ON
    override-pull: |
      craftctl default

      version_file=Telegram/build/version
      version=$(sed -n "s/AppVersionStr[ ]\+\(.*\)\+/\1/p" $version_file)
      beta=$(sed -n "s/BetaChannel[ ]\+\(.*\)\+/\1/p" $version_file)

      if [ "$beta" != "0" ]; then
        version="$version-beta"
      fi

      version="${version}$(git describe --tags | sed 's,^v[^-]\+,,')"

      craftctl set version="$version"

      sed -i 's|^Icon=telegram$|Icon=${SNAP}/meta/gui/icon.png|g' lib/xdg/org.telegram.desktop.desktop
    override-build: |
      craftctl default
      rm -rf "$CRAFT_PART_INSTALL/usr/share/icons"
    after:
      - ada
      - ffmpeg
      - libjxl
      - qt
      - rnnoise
      - webrtc

  patches:
    source: https://github.com/desktop-app/patches.git
    source-depth: 1
    source-commit: 61bbacab28d377d0a2771cc87e008554e2f23ffb
    plugin: dump
    override-pull: |
      craftctl default
      cp -r . "$CRAFT_STAGE/patches"
    override-prime: |
      rm -rf patches
    stage: [-./*]

  ada:
    source: https://github.com/ada-url/ada.git
    source-depth: 1
    source-tag: v2.9.0
    plugin: cmake
    build-environment:
      - LDFLAGS: ${LDFLAGS:+$LDFLAGS} -s
    cmake-generator: Ninja
    cmake-parameters:
      - -DCMAKE_BUILD_TYPE=Release
      - -DCMAKE_INSTALL_PREFIX=/usr
      - -DADA_TESTING=OFF
      - -DADA_TOOLS=OFF
    prime:
      - -./usr/include
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/cmake
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/*.a

  ffmpeg:
    plugin: nil
    build-packages:
      - libavcodec-dev
      - libavfilter-dev
      - libavformat-dev
      - libavutil-dev
      - libswresample-dev
      - libswscale-dev
    stage-packages:
      - libavcodec60
      - libavfilter9
      - libavformat60
      - libavutil58
      - libswresample4
      - libswscale7
    override-build: |
      craftctl default
      mv "$CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/blas/"* "$CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR"
      rmdir "$CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/blas"
      mv "$CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/lapack/"* "$CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR"
      rmdir "$CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/lapack"

  libjxl:
    source: https://github.com/libjxl/libjxl.git
    source-depth: 1
    source-tag: v0.11.1
    plugin: cmake
    build-environment:
      - LDFLAGS: ${LDFLAGS:+$LDFLAGS} -s
    cmake-generator: Ninja
    cmake-parameters:
      - -DCMAKE_BUILD_TYPE=Release
      - -DCMAKE_INSTALL_PREFIX=/usr
      - -DBUILD_TESTING=OFF
      - -DJPEGXL_ENABLE_DEVTOOLS=OFF
      - -DJPEGXL_ENABLE_TOOLS=OFF
      - -DJPEGXL_INSTALL_JPEGLI_LIBJPEG=ON
      - -DJPEGXL_ENABLE_DOXYGEN=OFF
      - -DJPEGXL_ENABLE_MANPAGES=OFF
      - -DJPEGXL_ENABLE_BENCHMARK=OFF
      - -DJPEGXL_ENABLE_EXAMPLES=OFF
      - -DJPEGXL_ENABLE_JNI=OFF
      - -DJPEGXL_ENABLE_SJPEG=OFF
      - -DJPEGXL_ENABLE_OPENEXR=OFF
      - -DJPEGXL_ENABLE_SKCMS=OFF
    stage:
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/libbrotli*
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/libhwy*
    prime:
      - -./usr/bin
      - -./usr/include
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/cmake
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/pkgconfig
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/*.a
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/*.so
      - -./usr/share

  qt:
    plugin: nil
    build-environment:
      - LDFLAGS: ${LDFLAGS:+$LDFLAGS} -s
    build-packages:
      - libssl-dev
      - libxcb-cursor-dev
      - libxcb-glx0-dev
      - libxcb-icccm4-dev
      - libxcb-image0-dev
      - libxcb-keysyms1-dev
      - libxcb-randr0-dev
      - libxcb-render-util0-dev
      - libxcb-shape0-dev
      - libxcb-sync-dev
      - libxcb-util-dev
      - libxcb-xfixes0-dev
      - libxcb-xkb-dev
      - libxkbcommon-x11-dev
    stage-packages:
      - libssl3t64
      - libxcb-cursor0
      - libxcb-glx0
      - libxcb-icccm4
      - libxcb-image0
      - libxcb-keysyms1
      - libxcb-randr0
      - libxcb-render-util0
      - libxcb-shape0
      - libxcb-sync1
      - libxcb-util1
      - libxcb-xfixes0
      - libxcb-xkb1
      - libxkbcommon-x11-0
    override-pull: |
      QT=6.8.2

      git clone -b v${QT} --depth=1 https://github.com/qt/qt5.git .
      git submodule update --init --recursive --depth=1 qtbase qtdeclarative qtwayland qtimageformats qtsvg qtshadertools

      cd qtbase
      find $CRAFT_STAGE/patches/qtbase_${QT} -type f -print0 | sort -z | xargs -r0 git apply
      cd ../qtwayland
      find $CRAFT_STAGE/patches/qtwayland_${QT} -type f -print0 | sort -z | xargs -r0 git apply
      cd ..
    override-build: |
      cmake -GNinja -B $CRAFT_PART_BUILD \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_PREFIX_PATH=$CRAFT_STAGE/usr \
        -DINSTALL_LIBDIR=/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR \
        -DQT_GENERATE_SBOM=OFF \
        -DINPUT_openssl=linked

      cmake --build . -j$CRAFT_PARALLEL_BUILD_COUNT
      DESTDIR="$CRAFT_PART_INSTALL" cmake --install .
    prime:
      - -./usr/bin
      - -./usr/doc
      - -./usr/include
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/cmake
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/pkgconfig
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/*.a
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/*.la
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/*.prl
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/*.so
      - -./usr/libexec
      - -./usr/metatypes
      - -./usr/mkspecs
      - -./usr/modules
      - -./**/objects-*
    after:
      - libjxl
      - patches

  rnnoise:
    source: https://gitlab.xiph.org/xiph/rnnoise.git
    source-depth: 1
    source-commit: 7f449bf8bd3b933891d12c30112268c4090e4d59
    plugin: autotools
    build-environment:
      - CFLAGS: -O2 -s
    autotools-configure-parameters:
      - --prefix=/usr
      - --libdir=\${exec_prefix}/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR
      - --disable-static
      - --disable-examples
      - --disable-doc
    prime:
      - -./usr/include
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/pkgconfig
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/*.la
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/*.so
      - -./usr/share

  systemd:
    plugin: nil
    stage-packages:
      - systemd
    stage:
      - ./usr/bin/systemd-detect-virt

  webrtc:
    source: https://github.com/desktop-app/tg_owt.git
    source-depth: 1
    source-commit: 8198c4d8b91e22d68eb5c7327fd408e3b6abcc79
    plugin: cmake
    build-environment:
      - LDFLAGS: ${LDFLAGS:+$LDFLAGS} -s
    build-packages:
      - yasm
      - libopenh264-dev
      - libopus-dev
      - libpipewire-0.3-dev
      - libssl-dev
      - libvpx-dev
    stage-packages:
      - libopenh264-7
      - libopus0
      - libpipewire-0.3-0t64
      - libssl3t64
      - libvpx9
    cmake-generator: Ninja
    cmake-parameters:
      - -DCMAKE_BUILD_TYPE=Release
      - -DCMAKE_INSTALL_PREFIX=/usr
      - -DCMAKE_PREFIX_PATH=$CRAFT_STAGE/usr
    prime:
      - -./usr/include
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/cmake
      - -./usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/*.a
    after:
      - ffmpeg
      - libjxl

Relevant log output

2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.078 Executing PosixPath('/tmp/tmpeebj76d4/scriptlet.sh')
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.079 :: + cmake -GNinja -B /root/parts/qt/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/root/stage/usr -DINSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu -DQT_GENERATE_SBOM=OFF -DINPUT_openssl=linked
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.138 :: -- The CXX compiler identification is GNU 13.3.0
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.171 :: -- The C compiler identification is GNU 13.3.0
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.178 :: -- The ASM compiler identification is GNU
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.180 :: -- Found assembler: /usr/bin/cc
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.191 :: -- Detecting CXX compiler ABI info
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.242 :: -- Detecting CXX compiler ABI info - done
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.251 :: -- Check for working CXX compiler: /usr/bin/c++ - skipped
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.251 :: -- Detecting CXX compile features
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.252 :: -- Detecting CXX compile features - done
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.260 :: -- Detecting C compiler ABI info
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.302 :: -- Detecting C compiler ABI info - done
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.311 :: -- Check for working C compiler: /usr/bin/cc - skipped
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.311 :: -- Detecting C compile features
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.312 :: -- Detecting C compile features - done
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.323 :: -- Checking dependencies of submodule 'qtbase'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.323 :: -- Checking dependencies of submodule 'qtimageformats'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.323 :: -- Checking dependencies of submodule 'qtlanguageserver'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.323 :: -- Checking dependencies of submodule 'qtshadertools'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.323 :: -- Checking dependencies of submodule 'qtsvg'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.323 :: -- Checking dependencies of submodule 'qtdeclarative'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.323 :: -- Skipping optional dependency 'qtlanguageserver' of 'qtdeclarative', because qtlanguageserver's CMakeLists.txt couldn't be found.
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.323 :: -- Checking dependencies of submodule 'qtwayland'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.324 :: -- Configuring submodule 'qtbase'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:03.360 :: -- [QtBase] CMAKE_BUILD_TYPE was already explicitly set to: 'Release'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.018 :: CMake Warning at /root/parts/qt/build/CMakeFiles/CMakeScratch/TryCompile-kGlgXY/CMakeLists.txt:23 (add_executable):
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.018 ::   Cannot generate a safe runtime search path for target cmTC_e0990 because
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.018 ::   files in some directories may conflict with libraries in implicit
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.018 ::   directories:
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.019 ::
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.019 ::     runtime library [libxcb-randr.so.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.019 ::       /snap/gnome-46-2404-sdk/current/usr/lib/x86_64-linux-gnu
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.019 ::     runtime library [libxcb-sync.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.019 ::       /snap/gnome-46-2404-sdk/current/usr/lib/x86_64-linux-gnu
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.019 ::     runtime library [libxcb-xfixes.so.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.019 ::       /snap/gnome-46-2404-sdk/current/usr/lib/x86_64-linux-gnu
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.019 ::     runtime library [libxcb-xkb.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.019 ::       /snap/gnome-46-2404-sdk/current/usr/lib/x86_64-linux-gnu
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.019 ::
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.019 ::   Some of these libraries may not be found correctly.
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.019 ::
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:13.019 ::
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:16.693 :: -- Configuring submodule 'qtimageformats'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:16.897 :: -- Configuring submodule 'qtlanguageserver'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:16.897 :: -- Configuring submodule 'qtshadertools'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:17.033 :: -- Configuring submodule 'qtsvg'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:17.188 :: -- Configuring submodule 'qtdeclarative'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:21.725 :: -- Configuring submodule 'qtwayland'
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:22.722 :: CMake Warning (dev) at qtbase/lib/x86_64-linux-gnu/cmake/Qt6Core/Qt6CoreMacros.cmake:3353 (message):
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:22.722 ::   Qt policy QTP0004 is not set: You need qmldir files for each extra
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:22.722 ::   directory that contains .qml files for your module.  Check
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:22.722 ::   https://doc.qt.io/qt-6/qt-cmake-policy-qtp0004.html for policy details.
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:22.722 ::   Use the qt_policy command to set the policy and suppress this warning.
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:22.722 ::
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:22.722 :: Call Stack (most recent call first):
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:22.722 ::   qtbase/lib/x86_64-linux-gnu/cmake/Qt6Qml/Qt6QmlMacros.cmake:3486 (__qt_internal_setup_policy)
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:22.722 ::   qtbase/lib/x86_64-linux-gnu/cmake/Qt6Qml/Qt6QmlMacros.cmake:896 (qt6_target_qml_sources)
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:22.722 ::   qtbase/lib/x86_64-linux-gnu/cmake/Qt6Qml/Qt6QmlBuildInternals.cmake:312 (qt6_add_qml_module)
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:22.722 ::   qtwayland/src/compositor/CMakeLists.txt:236 (qt_internal_add_qml_module)
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:22.722 :: This warning is for project developers.  Use -Wno-dev to suppress it.
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:22.722 ::
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 ::
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 :: -- Configuration summary has been written to /root/parts/qt/build/config.summary
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 ::
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 :: ERROR: The OpenGL functionality tests failed! You might need to modify the OpenGL package search path by setting the OpenGL_DIR CMake variable to the OpenGL library's installation directory.
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 ::
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 :: CMake Error at qtbase/cmake/QtBuildInformation.cmake:220 (message):
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 ::   Check the configuration messages for an error that has occurred.
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 :: Call Stack (most recent call first):
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 ::   qtbase/cmake/QtBuildInformation.cmake:39 (qt_configure_print_summary)
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 ::   qtbase/cmake/QtBaseTopLevelHelpers.cmake:88 (qt_print_feature_summary)
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 ::   qtbase/cmake/QtBaseTopLevelHelpers.cmake:76 (qt_internal_print_top_level_info)
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 ::   CMakeLists.txt:120 (qt_internal_top_level_end)
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 ::
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.000 ::
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.019 :: -- Configuring incomplete, errors occurred!
2025-02-20 18:21:23.498 :: 2025-02-20 18:21:23.136 'override-build' in part 'qt' failed with code 1.

Additional context

I also reported this as https://bugs.launchpad.net/snapcraft/+bug/2098893

@ilya-fedin
Copy link
Author

ilya-fedin commented Feb 27, 2025

kde-neon-6 seem to already have it, it just should be ported to the gnome one:

{
"CMAKE_PREFIX_PATH": prepend_to_env(
"CMAKE_PREFIX_PATH",
[
"$CRAFT_STAGE",
f"/snap/{qt6_sdk_snap}/current",
f"/snap/{kf6_sdk_snap}/current",
"/usr",
],
separator=";",
),
},

But keep in mind that the kde-neon-6 implementation seem to have a bug: according to cmake documentation, environment variable (opposed to cmake variable named the same) uses : as separator on UNIX: https://cmake.org/cmake/help/latest/envvar/CMAKE_PREFIX_PATH.html

P. S. Speaking of kde-neon-6 bugs, CMAKE_FIND_ROOT_PATH isn't a valid environment variable at all, it exists only as a cmake variable (i.e. could only be set as -DCMAKE_FIND_ROOT_PATH= argument): https://cmake.org/cmake/help/latest/variable/CMAKE_FIND_ROOT_PATH.html#variable:CMAKE_FIND_ROOT_PATH

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant