Summary: | dev-util/vulkan-utility-libraries-1.3.280.0[test] configure fail : tests/CMakeLists.txt:8 : cannot find magic_enumConfig.cmake | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Arniii <lg3dx6fd> |
Component: | Current packages | Assignee: | Vulkan Gentoo Project <vulkan> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | lg3dx6fd, sam, sarnex |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://github.com/Neargye/magic_enum/pull/374 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | /etc/portage/make.conf // profile default/linux/amd64/17.1/desktop/plasma gcc-13 O3 pipe march=native(verbose) lto graphite ggdb3 testing FEATUREs : testing |
Description
Arniii
2024-06-03 15:50:32 UTC
installed dev-cpp/magic_enum-0.9.5::gentoo[test] │ ~ equery f magic_enum ✔ │ 12s │ root@localhost │ 15:52:27 * Searching for magic_enum ... * Contents of dev-cpp/magic_enum-0.9.5: /usr /usr/include /usr/include/magic_enum.hpp /usr/include/magic_enum_all.hpp /usr/include/magic_enum_containers.hpp /usr/include/magic_enum_flags.hpp /usr/include/magic_enum_format.hpp /usr/include/magic_enum_fuse.hpp /usr/include/magic_enum_iostream.hpp /usr/include/magic_enum_switch.hpp /usr/include/magic_enum_utility.hpp /usr/lib64 /usr/lib64/cmake /usr/lib64/cmake/magic_enum /usr/lib64/cmake/magic_enum/magic_enumConfig.cmake /usr/lib64/cmake/magic_enum/magic_enumConfigVersion.cmake /usr/lib64/pkgconfig /usr/lib64/pkgconfig/magic_enum.pc /usr/share /usr/share/doc /usr/share/doc/magic_enum-0.9.5 /usr/share/doc/magic_enum-0.9.5/README.md.bz2 /usr/share/magic_enum /usr/share/magic_enum/package.xml Created attachment 894995 [details]
/etc/portage/make.conf // profile default/linux/amd64/17.1/desktop/plasma gcc-13 O3 pipe march=native(verbose) lto graphite ggdb3 testing FEATUREs : testing
I was able to reproduce this with FEATURES=test USE="test abi_x86_32" and installing the ABI32 of gtest. @Sam, It looks like magic_enum is header only, but it's installing cmake files to the ABI dependent cmake dir (lib64) and that is causing the cmake on abi32 to fail. Should it be installing the cmake files in an ABI independent directory? I tried modifying the magic_enum ebuild to set CMAKE_INSTALL_LIBDIR to install to /usr/share and that fixed it. https://github.com/Neargye/magic_enum/blob/dae6bbf16c363e9ead4e628a47fdb02956a634f3/CMakeLists.txt#L60C4-L60C111 ``` string(REPLACE "/${CMAKE_LIBRARY_ARCHITECTURE}" "" CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}") ``` https://github.com/Neargye/magic_enum/blob/dae6bbf16c363e9ead4e628a47fdb02956a634f3/CMakeLists.txt#L102 ``` install(EXPORT "${PROJECT_NAME}" FILE "${CMAKE_CONFIG_FILE_BASENAME}" NAMESPACE "${EXPORT_NAMESPACE}" DESTINATION "${CMAKE_INSTALL_LIBDIR_ARCHIND}/cmake/${PROJECT_NAME}" ) ``` I guess magic_enum is ABI-independent, but idk how to check it Sorry, I'd missed this. Looking. (In reply to Arniii from comment #5) > https://github.com/Neargye/magic_enum/blob/ > dae6bbf16c363e9ead4e628a47fdb02956a634f3/CMakeLists.txt#L60C4-L60C111 > ``` > string(REPLACE "/${CMAKE_LIBRARY_ARCHITECTURE}" "" > CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}") > ``` > > https://github.com/Neargye/magic_enum/blob/ > dae6bbf16c363e9ead4e628a47fdb02956a634f3/CMakeLists.txt#L102 > ``` > install(EXPORT "${PROJECT_NAME}" > FILE "${CMAKE_CONFIG_FILE_BASENAME}" > NAMESPACE "${EXPORT_NAMESPACE}" > DESTINATION "${CMAKE_INSTALL_LIBDIR_ARCHIND}/cmake/${PROJECT_NAME}" > ) > ``` > > I guess magic_enum is ABI-independent, but idk how to check it https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html If it's ABI-independent, a simple patch to replace the destination to `"${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME}"` would be enough I guess. In another case, I guess we need to change magic_enum to another multilib package... > I guess magic_enum is ABI-independent, but idk how to check it
It installs only header files, so it should be ABI independent. But, it installs its pkgconfig and cmake files into /usr/lib64 so that probably breaks ABI-independence.
(In reply to Matt Turner from comment #8) > > I guess magic_enum is ABI-independent, but idk how to check it > > It installs only header files, so it should be ABI independent. But, it > installs its pkgconfig and cmake files into /usr/lib64 so that probably > breaks ABI-independence. I guess you are right. Then, I'll go try solve it upstream. Thanks a bunch! |