libp2p / libp2p/cpp-libp2p

Building phase : error: ‘regex_t’ does not name a type

Open
#283 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
492
Forks
130
PR merge metrics
No merged PRs in 30d

Description

Summary

Building phase : error: ‘regex_t’ does not name a type

Expected behavior

No errors

Actual behavior
raphy@raohy:~/cpp-libp2p/build$ cmake -DCLANG_TIDY=ON ..
Binary cache uploading is DISABLED.
-- The C compiler identification is GNU 12.3.0
-- The CXX compiler identification is GNU 14.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
-- [libp2p] C flags: 
-- [libp2p] CXX flags: 
-- [libp2p] Using CMAKE_TOOLCHAIN_FILE=/home/raphy/cpp-libp2p/cmake/toolchain/cxx20.cmake
-- [hunter] Calculating Toolchain-SHA1
-- [hunter] Calculating Config-SHA1
-- [hunter] HUNTER_ROOT: /home/raphy/.hunter
-- [hunter] [ Hunter-ID: 3fb5849 | Toolchain-ID: 82e7ed9 | Config-ID: 251b1a7 ]
-- [hunter] GTEST_ROOT: /home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Install (ver.: 1.15.2)
-- [hunter] Building GTest
loading initial cache file /home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/cache.cmake
loading initial cache file /home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/args.cmake
-- The C compiler identification is GNU 12.3.0
-- The CXX compiler identification is GNU 14.2.0
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Build
[  6%] Creating directories for 'GTest-Release'
[ 12%] Performing download step (download, verify and extract) for 'GTest-Release'
-- verifying file...
       file='/home/raphy/.hunter/_Base/Download/GTest/1.15.2/568d58e/v1.15.2.tar.gz'
-- File already exists and hash match (skip download):
  file='/home/raphy/.hunter/_Base/Download/GTest/1.15.2/568d58e/v1.15.2.tar.gz'
  SHA1='568d58e26bd4e838449ca7ab8ebc152b3cbd210d'
-- extracting...
     src='/home/raphy/.hunter/_Base/Download/GTest/1.15.2/568d58e/v1.15.2.tar.gz'
     dst='/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 18%] No update step for 'GTest-Release'
[ 25%] No patch step for 'GTest-Release'
[ 31%] Performing configure step for 'GTest-Release'
loading initial cache file /home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/cache.cmake
loading initial cache file /home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/args.cmake
-- The C compiler identification is GNU 12.3.0
-- The CXX compiler identification is GNU 14.2.0
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done (0.2s)
-- Generating done (0.0s)
-- Build files have been written to: /home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Build/GTest-Release-prefix/src/GTest-Release-build
[ 37%] Performing build step for 'GTest-Release'
[ 12%] Building CXX object googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
In file included from /home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/include/gtest/gtest-message.h:57,
                 from /home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/include/gtest/gtest-assertion-result.h:46,
                 from /home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/include/gtest/gtest.h:63,
                 from /home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-all.cc:38:
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/include/gtest/internal/gtest-port.h:1042:3: error: ‘regex_t’ does not name a type
 1042 |   regex_t full_regex_;     // For FullMatch().
      |   ^~~~~~~
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/include/gtest/internal/gtest-port.h:1043:3: error: ‘regex_t’ does not name a type
 1043 |   regex_t partial_regex_;  // For PartialMatch().
      |   ^~~~~~~
In file included from /home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-all.cc:45:
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc: In destructor ‘testing::internal::RE::~RE()’:
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:689:14: error: ‘partial_regex_’ was not declared in this scope
  689 |     regfree(&partial_regex_);
      |              ^~~~~~~~~~~~~~
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:689:5: error: ‘regfree’ was not declared in this scope; did you mean ‘free’?
  689 |     regfree(&partial_regex_);
      |     ^~~~~~~
      |     free
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:690:14: error: ‘full_regex_’ was not declared in this scope
  690 |     regfree(&full_regex_);
      |              ^~~~~~~~~~~
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc: In static member function ‘static bool testing::internal::RE::FullMatch(const char*, const testing::internal::RE&)’:
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:698:3: error: ‘regmatch_t’ was not declared in this scope; did you mean ‘rpmatch’?
  698 |   regmatch_t match;
      |   ^~~~~~~~~~
      |   rpmatch
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:699:22: error: ‘const class testing::internal::RE’ has no member named ‘full_regex_’
  699 |   return regexec(&re.full_regex_, str, 1, &match, 0) == 0;
      |                      ^~~~~~~~~~~
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:699:44: error: ‘match’ was not declared in this scope; did you mean ‘rpmatch’?
  699 |   return regexec(&re.full_regex_, str, 1, &match, 0) == 0;
      |                                            ^~~~~
      |                                            rpmatch
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:699:10: error: ‘regexec’ was not declared in this scope; did you mean ‘rexec’?
  699 |   return regexec(&re.full_regex_, str, 1, &match, 0) == 0;
      |          ^~~~~~~
      |          rexec
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc: In static member function ‘static bool testing::internal::RE::PartialMatch(const char*, const testing::internal::RE&)’:
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:707:3: error: ‘regmatch_t’ was not declared in this scope; did you mean ‘rpmatch’?
  707 |   regmatch_t match;
      |   ^~~~~~~~~~
      |   rpmatch
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:708:22: error: ‘const class testing::internal::RE’ has no member named ‘partial_regex_’
  708 |   return regexec(&re.partial_regex_, str, 1, &match, 0) == 0;
      |                      ^~~~~~~~~~~~~~
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:708:47: error: ‘match’ was not declared in this scope; did you mean ‘rpmatch’?
  708 |   return regexec(&re.partial_regex_, str, 1, &match, 0) == 0;
      |                                               ^~~~~
      |                                               rpmatch
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:708:10: error: ‘regexec’ was not declared in this scope; did you mean ‘rexec’?
  708 |   return regexec(&re.partial_regex_, str, 1, &match, 0) == 0;
      |          ^~~~~~~
      |          rexec
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc: In member function ‘void testing::internal::RE::Init(const char*)’:
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:723:29: error: ‘REG_EXTENDED’ was not declared in this scope
  723 |   constexpr int reg_flags = REG_EXTENDED;
      |                             ^~~~~~~~~~~~
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:732:24: error: ‘full_regex_’ was not declared in this scope; did you mean ‘full_regex_len’?
  732 |   is_valid_ = regcomp(&full_regex_, full_pattern, reg_flags) == 0;
      |                        ^~~~~~~~~~~
      |                        full_regex_len
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:732:15: error: ‘regcomp’ was not declared in this scope
  732 |   is_valid_ = regcomp(&full_regex_, full_pattern, reg_flags) == 0;
      |               ^~~~~~~
/home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest/Source/googletest/src/gtest-port.cc:743:26: error: ‘partial_regex_’ was not declared in this scope; did you mean ‘partial_regex’?
  743 |     is_valid_ = regcomp(&partial_regex_, partial_regex, reg_flags) == 0;
      |                          ^~~~~~~~~~~~~~
      |                          partial_regex
gmake[5]: *** [googletest/CMakeFiles/gtest.dir/build.make:76: googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o] Error 1
gmake[4]: *** [CMakeFiles/Makefile2:172: googletest/CMakeFiles/gtest.dir/all] Error 2
gmake[3]: *** [Makefile:146: all] Error 2
gmake[2]: *** [CMakeFiles/GTest-Release.dir/build.make:86: GTest-Release-prefix/src/GTest-Release-stamp/GTest-Release-build] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:85: CMakeFiles/GTest-Release.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2

[hunter ** FATAL ERROR **] Build step failed (dir: /home/raphy/.hunter/_Base/3fb5849/82e7ed9/251b1a7/Build/GTest
[hunter ** FATAL ERROR **] [Directory:/home/raphy/.hunter/_Base/Download/Hunter/0.25.3-qdrvm23/3fb5849/Unpacked/cmake/projects/GTest]

------------------------------ ERROR -----------------------------
    https://hunter.readthedocs.io/en/latest/reference/errors/error.external.build.failed.html
------------------------------------------------------------------

CMake Error at /home/raphy/.hunter/_Base/Download/Hunter/0.25.3-qdrvm23/3fb5849/Unpacked/cmake/modules/hunter_error_page.cmake:12 (message):
Call Stack (most recent call first):
  /home/raphy/.hunter/_Base/Download/Hunter/0.25.3-qdrvm23/3fb5849/Unpacked/cmake/modules/hunter_fatal_error.cmake:20 (hunter_error_page)
  /home/raphy/.hunter/_Base/Download/Hunter/0.25.3-qdrvm23/3fb5849/Unpacked/cmake/modules/hunter_download.cmake:623 (hunter_fatal_error)
  /home/raphy/.hunter/_Base/Download/Hunter/0.25.3-qdrvm23/3fb5849/Unpacked/cmake/projects/GTest/hunter.cmake:348 (hunter_download)
  /home/raphy/.hunter/_Base/Download/Hunter/0.25.3-qdrvm23/3fb5849/Unpacked/cmake/modules/hunter_add_package.cmake:62 (include)
  cmake/dependencies.cmake:9 (hunter_add_package)
  CMakeLists.txt:54 (include)


-- Configuring incomplete, errors occurred!
raphy@raohy:~/cpp-libp2p/build$ 
Relevant log output

No response

Possible Solution

No response

Version

Master branch latest

Would you like to work on fixing this bug ?

No. I wouldn't know where to start and look at

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with cmake -DCLANG_TIDY=ON .. and inspect the CMake/Hunter GTest build shown in the log. Trace why GTest's POSIX regex declarations are unavailable under the reported C++ toolchain, then verify that the dependency builds successfully and the project configuration completes without the regex_t errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.