Closed papoteur-mga closed 1 year ago
Can you surround the liblcf finding in cmake with this: and post the output of cmake?
set(CMAKE_FIND_DEBUG_MODE TRUE)
set(CMAKE_FIND_DEBUG_MODE FALSE)
Thanks for your quick reply. I'm not sure of the place. What I obtain:
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find liblcf (missing: LIBLCF_LIBRARY) (found version "0.7.0")
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
/usr/lib64/cmake/liblcf/liblcf-config.cmake:78 (find_package_handle_standard_args)
CMakeLists.txt:616 (find_package)
CMake Debug Log at CMakeLists.txt:616 (find_package):
find_package considered the following paths for Findliblcf.cmake:
/builddir/build/BUILD/easyrpg-player-0.7.0/builds/cmake/Modules/Findliblcf.cmake
/usr/share/cmake/Modules/Findliblcf.cmake
The file was not found.
The internally managed CMAKE_FIND_PACKAGE_REDIRECTS_DIR.
/builddir/build/BUILD/easyrpg-player-0.7.0/build/CMakeFiles/pkgRedirects
<PackageName>_ROOT CMake variable [CMAKE_FIND_USE_PACKAGE_ROOT_PATH].
none
CMAKE_PREFIX_PATH variable [CMAKE_FIND_USE_CMAKE_PATH].
none
CMAKE_FRAMEWORK_PATH and CMAKE_APPBUNDLE_PATH variables
[CMAKE_FIND_USE_CMAKE_PATH].
none
Env variable liblcf_DIR [CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH].
none
CMAKE_PREFIX_PATH env variable [CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH].
none
CMAKE_FRAMEWORK_PATH and CMAKE_APPBUNDLE_PATH env variables
[CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH].
none
Paths specified by the find_package HINTS option.
none
Standard system environment variables
[CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH].
/usr
/
/usr/local/games
/usr/games
/usr/local
CMake User Package Registry [CMAKE_FIND_USE_PACKAGE_REGISTRY].
none
CMake variables defined in the Platform file
[CMAKE_FIND_USE_CMAKE_SYSTEM_PATH].
/usr/X11R6
/usr/pkg
/opt
CMake System Package Registry
[CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY].
none
Paths specified by the find_package PATHS option.
none
find_package considered the following locations for liblcf's Config module:
/builddir/build/BUILD/easyrpg-player-0.7.0/build/CMakeFiles/pkgRedirects/liblcfConfig.cmake
/builddir/build/BUILD/easyrpg-player-0.7.0/build/CMakeFiles/pkgRedirects/liblcf-config.cmake
/usr/liblcfConfig.cmake
/usr/liblcf-config.cmake
/usr/lib64/cmake/liblcf/liblcfConfig.cmake
/usr/lib64/cmake/liblcf/liblcf-config.cmake
The file was found at
/usr/lib64/cmake/liblcf/liblcf-config.cmake
I have the debug commands between thesse 2 lines : https://github.com/EasyRPG/Player/blob/d9fa057dba51f040749edb340f30cbd5d2cb053d/CMakeLists.txt#L787-L788
Can you verify where liblcf.so
is located?
I found a fix (at least for me).
The issue is that PATHS in liblcf-config.make is set to /usr//usr/lib64 in our build of liblcf.
This comes from here:
https://github.com/EasyRPG/liblcf/blob/0ed38af4e781c2f523979ce26c8843b78bcfa1ff/builds/liblcf-config.cmake.in#L61
and
https://github.com/EasyRPG/liblcf/blob/0ed38af4e781c2f523979ce26c8843b78bcfa1ff/builds/liblcf-config.cmake.in#L67
It seems that CMAKE_INSTALL_LIBDIR
already includes the PREFIX, thus ${_IMPORT_PREFIX}/
isn't needed.
moved to liblcf as obviously a problem with the cmake-config file
Trying to build easyrpg for Mageia and update it, I found an error which was already reported, but solved with the way of static library, what we avoid in distribution.
What surprise me is that something is found, because version number is reported. The shared library is at 0.7.0 version.
The problem was already present before I try to update to 0.7.0: http://pkgsubmit.mageia.org/autobuild/cauldron/x86_64/core/2022-11-15/easyrpg-player-0.6.2.3-2.mga9.src.rpm/build.x86_64.0.20221115174342.log