Repository navigation
Can't add libp2p to project using hunter( libp2p versions available: [] [hunter ** INTERNAL **] Unexpected empty string) #138
Description
- In manjaro Linux kernel 4.19.187-1-MANJARO
- cmake 3.20.1
- gcc 10.2
download HunterGate.cmake,
in main CMakeLists.txt
include("cmake/HunterGate.cmake")
HunterGate(
URL "https://github.com/cpp-pm/hunter/archive/v0.23.297.tar.gz"
SHA1 "3319fe6a3b08090df7df98dee75134d68e2ef5a3"
)
project(sync_db_cpp LANGUAGES CXX)
hunter_add_package(libp2p)
find_package(libp2p REQUIRED)
then I try to make project using command
cmake -H. -B_builds -DHUNTER_STATUS_DEBUG=ON -DCMAKE_BUILD_TYPE=Release
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] HUNTER_ROOT set using HOME environment variable
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] HUNTER_ROOT: /home/dev/.hunter
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] Settings (initialize):
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] HunterGate done (NO)
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] Cache init (YES)
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] Single-configuration generator
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] Using default cache server
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] List of cache servers:
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] * https://github.com/cpp-pm/hunter-cache
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] Settings (finalize):
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] HunterGate done (NO)
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] Cache init (YES)
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] Variables from HunterGate:
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] HUNTER_GATE_ROOT: /home/dev/.hunter
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] HUNTER_GATE_VERSION: 0.23.297
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] HUNTER_GATE_SHA1: 3319fe6a3b08090df7df98dee75134d68e2ef5a3
-- [hunter] Calculating Toolchain-SHA1
-- [hunter *** DEBUG *** 2021-04-25T17:05:02] [/home/dev/Projects/sync_db_cpp/_builds/_3rdParty/Hunter/toolchain] > "/usr/bin/cmake" "-DTOOLCHAIN_INFO_FILE=/home/dev/Projects/sync_db_cpp/_builds/_3rdParty/Hunter/toolchain/toolchain.info.NOLF" "-DHUNTER_SELF=/home/dev/.hunter/_Base/Download/Hunter/0.23.297/3319fe6/Unpacked" "-GUnix Makefiles" "-H/home/dev/Projects/sync_db_cpp/_builds/_3rdParty/Hunter/toolchain" "-B/home/dev/Projects/sync_db_cpp/_builds/_3rdParty/Hunter/toolchain/_builds" "-DCMAKE_MAKE_PROGRAM=/usr/bin/make" "-DCMAKE_RELEASE_POSTFIX=" "-DCMAKE_DEBUG_POSTFIX=d"
-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dev/Projects/sync_db_cpp/_builds/_3rdParty/Hunter/toolchain/_builds
-- [hunter *** DEBUG *** 2021-04-25T17:05:03] Already exists: /home/dev/.hunter/_Base/3319fe6/020aca2/toolchain.info
-- [hunter] Calculating Config-SHA1
-- [hunter *** DEBUG *** 2021-04-25T17:05:03] Cache data is up-to-date
-- [hunter] HUNTER_ROOT: /home/dev/.hunter
-- [hunter *** DEBUG *** 2021-04-25T17:05:03] HUNTER_TOOLCHAIN_ID_PATH: /home/dev/.hunter/_Base/3319fe6/020aca2
-- [hunter *** DEBUG *** 2021-04-25T17:05:03] HUNTER_CONFIGURATION_TYPES: Release;Debug
-- [hunter *** DEBUG *** 2021-04-25T17:05:03] HUNTER_BUILD_SHARED_LIBS:
-- [hunter] [ Hunter-ID: 3319fe6 | Toolchain-ID: 020aca2 | Config-ID: 65f8faa ]
-- [hunter *** DEBUG *** 2021-04-25T17:05:03] File not found (injected package): /home/dev/.hunter/_Base/Download/Hunter/0.23.297/3319fe6/Unpacked/cmake/projects/libp2p/hunter.cmake
-- [hunter *** DEBUG *** 2021-04-25T17:05:03] Injected package 'libp2p'
-- [hunter *** DEBUG *** 2021-04-25T17:05:03] libp2p versions available: []
[hunter ** INTERNAL **] Unexpected empty string
[hunter ** INTERNAL **] [Directory:/home/dev/Projects/sync_db_cpp]
------------------------------ ERROR -----------------------------
https://hunter.readthedocs.io/en/latest/reference/errors/error.internal.html
CMake Error at /home/dev/.hunter/_Base/Download/Hunter/0.23.297/3319fe6/Unpacked/cmake/modules/hunter_error_page.cmake:12 (message):
Call Stack (most recent call first):
/home/dev/.hunter/_Base/Download/Hunter/0.23.297/3319fe6/Unpacked/cmake/modules/hunter_internal_error.cmake:13 (hunter_error_page)
/home/dev/.hunter/_Base/Download/Hunter/0.23.297/3319fe6/Unpacked/cmake/modules/hunter_assert_not_empty_string.cmake:9 (hunter_internal_error)
/home/dev/.hunter/_Base/Download/Hunter/0.23.297/3319fe6/Unpacked/cmake/modules/hunter_get_package_sha1.cmake:26 (hunter_assert_not_empty_string)
/home/dev/.hunter/_Base/Download/Hunter/0.23.297/3319fe6/Unpacked/cmake/modules/hunter_download.cmake:83 (hunter_get_package_sha1)
/home/dev/.hunter/_Base/Download/Hunter/0.23.297/3319fe6/Unpacked/cmake/modules/hunter_add_package.cmake:53 (hunter_download)
CMakeLists.txt:15 (hunter_add_package)
Activity
akash-siv commentedon May 5, 2022
same here.
do you find a solution?
Ben3World commentedon Jul 5, 2023
so do I.
what is the solution?
zach-r-hughes commentedon Oct 18, 2023
Okay, I think I (might) know what's going wrong here:
"FindOpenSSL.cmake" line ~303
Here, a regex match attempts to extract the version number from "openssl/opensslv.h".
Inside the header, it seraches for:
Investigating, it appears some versions of OpenSSL (perhaps newer ones), this fails.
In my header, the "OPEN_SSL_VERSION" is defined as a combination of macros.
The regex expects something like this:
#define OPEN_SSL_VERSION 12345However, it instead encounters this:
Consequently, the extracted version number ends up being empty.
(Note: I am using OPENSSL_VERSION_STR "3.1.3")
PS:
I've hack-fixed this locally by modifying the "opensslv.h" header via:
... not the best, but it looks like things are building now.
NikolayBlagoev commentedon Feb 7, 2024
You need to specify where it can get the version from:
Change your cmake to this:
(add the local keyword in HunterGate to specify locally where huntergate can get the packages).
Then add a config.cmake in a Hunter folder, which should be in the same folder as your HunterGate.cmake (so cmake/Hunter/config.cmake for you) and write:
This fixed it for me (might have to play with the hashes a bit, as in the SHA1 value). Also this for me fixed the issue above BUT lead me into another list of issues, which I can't even fix.
raphael10-collab commentedon Oct 4, 2024
@NikolayBlagoev
I followed your suggestions #138 (comment)
and I'm getting this bunch of errors :
How to make it work?