Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Debug builds for the Module branch #123

Open
matheusgomes28 opened this issue Jan 24, 2024 · 0 comments
Open

Fix Debug builds for the Module branch #123

matheusgomes28 opened this issue Jan 24, 2024 · 0 comments
Labels
bug Something isn't working enhancement New feature or request help wanted Extra attention is needed

Comments

@matheusgomes28
Copy link
Owner

Debug tools require building with clang-17, but conan's version of GTest does not work with clang-17 builds even after settings libcxx=libstdc++11.

For some reason, the ABI is incompatible:

[build] [1/8] Scanning /home/matheus/development/base64pp/base64pp/base64pp.cpp for CXX dependencies
[build] [2/8] Generating CXX dyndep file base64pp/CMakeFiles/base64pp.dir/CXX.dd
[build] [3/8] Scanning /home/matheus/development/base64pp/tests/base64pp_tests.cpp for CXX dependencies
[build] [4/8] Generating CXX dyndep file tests/CMakeFiles/base64pp_tests.dir/CXX.dd
[build] [5/8] Building CXX object base64pp/CMakeFiles/base64pp.dir/base64pp.cpp.o
[build] [6/8] Linking CXX static library base64pp/libbase64pp.a
[build] [7/8] Building CXX object tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o
[build] [8/8] Linking CXX executable tests/base64pp_tests
[build] FAILED: tests/base64pp_tests 
[build] : && /usr/bin/clang-17 -Werror -Wall -Wextra -pedantic  -m64 -g -m64 tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o -o tests/base64pp_tests -L/home/matheus/.conan2/p/b/gtest27682b8c1f791/p/lib -Wl,-rpath,/home/matheus/.conan2/p/b/gtest27682b8c1f791/p/lib  base64pp/libbase64pp.a  /home/matheus/.conan2/p/b/gtest27682b8c1f791/p/lib/libgmock_main.a  /home/matheus/.conan2/p/b/gtest27682b8c1f791/p/lib/libgmock.a  /home/matheus/.conan2/p/b/gtest27682b8c1f791/p/lib/libgtest_main.a  /home/matheus/.conan2/p/b/gtest27682b8c1f791/p/lib/libgtest.a  -lm  -lpthread && :
[build] /usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x23
[build] tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `Base64Decode_FailDecodeNonSize4Bigger_Test::TestBody()':
[build] base64pp_tests.cpp:(.text+0x1d28): undefined reference to `testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `Base64Decode_DecodesMissingTwoPads0_Test::TestBody()':
[build] base64pp_tests.cpp:(.text+0x2677): undefined reference to `testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `Base64Decode_DecodesMissingTwoPads1_Test::TestBody()':
[build] base64pp_tests.cpp:(.text+0x2b17): undefined reference to `testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `Base64Decode_DecodesMissingOnePad0_Test::TestBody()':
[build] base64pp_tests.cpp:(.text+0x2fbe): undefined reference to `testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `Base64Decode_DecodesMissingOnePad1_Test::TestBody()':
[build] base64pp_tests.cpp:(.text+0x346e): undefined reference to `testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o:base64pp_tests.cpp:(.text+0x39e1): more undefined references to `testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' follow
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init':
[build] base64pp_tests.cpp:(.text.startup+0x8f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x161): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.5':
[build] base64pp_tests.cpp:(.text.startup+0x21f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x2f1): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.8':
[build] base64pp_tests.cpp:(.text.startup+0x3af): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x481): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.11':
[build] base64pp_tests.cpp:(.text.startup+0x53f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x611): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.14':
[build] base64pp_tests.cpp:(.text.startup+0x6cf): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x7a1): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.17':
[build] base64pp_tests.cpp:(.text.startup+0x85f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x931): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.20':
[build] base64pp_tests.cpp:(.text.startup+0x9ef): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0xac1): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.23':
[build] base64pp_tests.cpp:(.text.startup+0xb7f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0xc51): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.26':
[build] base64pp_tests.cpp:(.text.startup+0xd0f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0xde1): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.29':
[build] base64pp_tests.cpp:(.text.startup+0xe9f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0xf71): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.32':
[build] base64pp_tests.cpp:(.text.startup+0x102f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x1101): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.37':
[build] base64pp_tests.cpp:(.text.startup+0x11bf): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x1291): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.40':
[build] base64pp_tests.cpp:(.text.startup+0x134f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x1421): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.43':
[build] base64pp_tests.cpp:(.text.startup+0x14df): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x15b1): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.49':
[build] base64pp_tests.cpp:(.text.startup+0x166f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x1741): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.52':
[build] base64pp_tests.cpp:(.text.startup+0x17ff): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x18d1): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.55':
[build] base64pp_tests.cpp:(.text.startup+0x198f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x1a61): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.58':
[build] base64pp_tests.cpp:(.text.startup+0x1b1f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x1bf1): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.61':
[build] base64pp_tests.cpp:(.text.startup+0x1caf): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x1d81): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.64':
[build] base64pp_tests.cpp:(.text.startup+0x1e3f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x1f11): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.67':
[build] base64pp_tests.cpp:(.text.startup+0x1fcf): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x20a1): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.71':
[build] base64pp_tests.cpp:(.text.startup+0x215f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x2231): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.74':
[build] base64pp_tests.cpp:(.text.startup+0x22ef): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x23c1): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.76':
[build] base64pp_tests.cpp:(.text.startup+0x247f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x2551): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.79':
[build] base64pp_tests.cpp:(.text.startup+0x260f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x26e1): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.81':
[build] base64pp_tests.cpp:(.text.startup+0x279f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x2871): undefined reference to `operator delete(void*)'
[build] /usr/bin/ld: tests/CMakeFiles/base64pp_tests.dir/base64pp_tests.cpp.o: in function `__cxx_global_var_init.83':
[build] base64pp_tests.cpp:(.text.startup+0x292f): undefined reference to `operator new(unsigned long)'
[build] /usr/bin/ld: base64pp_tests.cpp:(.text.startup+0x2a01): undefined reference to `operator delete(void*)
@matheusgomes28 matheusgomes28 added bug Something isn't working enhancement New feature or request help wanted Extra attention is needed labels Jan 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant