Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.3.1
-
None
Description
Hello,
I can't build the documentation of any Qt module, because the file name of qattributionsscanner is expanded to the libexec dir of qtbase instead of that of qttools:
starting phase `build-doc' /gnu/store/j65q3aw414010gdfvmsynwpzfb2jyyd3-cmake-minimal-3.21.4/bin/cmake -S/tmp/guix-build-qtsvg-6.3.1.drv-0/qtsvg-everywhere-src-6.3.1 -B/tmp/guix-build-qtsvg-6.3.1.drv-0/build --check-build-system CMakeFiles/Makefile.cmake 0 /gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/bin/make -f CMakeFiles/Makefile2 docs make[1]: Entering directory '/tmp/guix-build-qtsvg-6.3.1.drv-0/build' /gnu/store/j65q3aw414010gdfvmsynwpzfb2jyyd3-cmake-minimal-3.21.4/bin/cmake -S/tmp/guix-build-qtsvg-6.3.1.drv-0/qtsvg-everywhere-src-6.3.1 -B/tmp/guix-build-qtsvg-6.3.1.drv-0/build --check-build-system CMakeFiles/Makefile.cmake 0 /gnu/store/j65q3aw414010gdfvmsynwpzfb2jyyd3-cmake-minimal-3.21.4/bin/cmake -E cmake_progress_start /tmp/guix-build-qtsvg-6.3.1.drv-0/build/CMakeFiles 0 /gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/bin/make -f CMakeFiles/Makefile2 CMakeFiles/docs.dir/all make[2]: Entering directory '/tmp/guix-build-qtsvg-6.3.1.drv-0/build' /gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/bin/make -f src/svg/CMakeFiles/qattributionsscanner_Svg.dir/build.make src/svg/CMakeFiles/qattributionsscanner_Svg.dir/depend make[3]: Entering directory '/tmp/guix-build-qtsvg-6.3.1.drv-0/build' cd /tmp/guix-build-qtsvg-6.3.1.drv-0/build && /gnu/store/j65q3aw414010gdfvmsynwpzfb2jyyd3-cmake-minimal-3.21.4/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/guix-build-qtsvg-6.3.1.drv-0/qtsvg-everywhere-src-6.3.1 /tmp/guix-build-qtsvg-6.3.1.drv-0/qtsvg-everywhere-src-6.3.1/src/svg /tmp/guix-build-qtsvg-6.3.1.drv-0/build /tmp/guix-build-qtsvg-6.3.1.drv-0/build/src/svg /tmp/guix-build-qtsvg-6.3.1.drv-0/build/src/svg/CMakeFiles/qattributionsscanner_Svg.dir/DependInfo.cmake --color= make[3]: Leaving directory '/tmp/guix-build-qtsvg-6.3.1.drv-0/build' /gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/bin/make -f src/svg/CMakeFiles/qattributionsscanner_Svg.dir/build.make src/svg/CMakeFiles/qattributionsscanner_Svg.dir/build make[3]: Entering directory '/tmp/guix-build-qtsvg-6.3.1.drv-0/build' cd /tmp/guix-build-qtsvg-6.3.1.drv-0/build/src/svg && /gnu/store/8h5viwhsa23inp1jdcs78x6bacxgcgzs-qtbase-6.3.1/lib/qt6/libexec/qtattributionsscanner /tmp/guix-build-qtsvg-6.3.1.drv-0/qtsvg-everywhere-src-6.3.1 --filter QDocModule=qtsvg -o /tmp/guix-build-qtsvg-6.3.1.drv-0/build/src/svg/codeattributions.qdoc /gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/sh: line 1: /gnu/store/8h5viwhsa23inp1jdcs78x6bacxgcgzs-qtbase-6.3.1/lib/qt6/libexec/qtattributionsscanner: No such file or directory make[3]: *** [src/svg/CMakeFiles/qattributionsscanner_Svg.dir/build.make:73: src/svg/CMakeFiles/qattributionsscanner_Svg] Error 127 make[3]: Leaving directory '/tmp/guix-build-qtsvg-6.3.1.drv-0/build' make[2]: *** [CMakeFiles/Makefile2:2030: src/svg/CMakeFiles/qattributionsscanner_Svg.dir/all] Error 2 make[2]: Leaving directory '/tmp/guix-build-qtsvg-6.3.1.drv-0/build' make[1]: *** [CMakeFiles/Makefile2:1063: CMakeFiles/docs.dir/rule] Error 2 make[1]: Leaving directory '/tmp/guix-build-qtsvg-6.3.1.drv-0/build' make: *** [Makefile:494: docs] Error 2 error: in phase 'build-doc': uncaught exception: %exception #<&invoke-error program: "cmake" arguments: ("--build" "." "--target=docs") exit-status: 2 term-signal: #f stop-signal: #f> phase `build-doc' failed after 0.0 seconds
This seems to be defined in qtbase's cmake/QtDocsHelpers.cmake:
set(qtattributionsscanner_bin "${doc_tools_libexec}/qtattributionsscanner${CMAKE_EXECUTABLE_SUFFIX}")
In other words, it assumes every component are installed to the same prefix, which falls apart on non-FHS systems such as Guix or Nix.
It seems to me that QtDocsHelpers.cmake would be better located along the qttools package, which provides these tools, perhaps?
Thanks!