Linking CXX shared library libtest_common.dylib Undefined symbols for architecture arm64
Steps to reproduce
List what commands you ran, any errors you see. If you run commands over some input, attaching the input to the issue will help us track down the bug.
mkdir build
cd build
cmake .. \
-DCMAKE_C_COMPILER=/usr/bin/clang \
-DCMAKE_C_FLAGS="-O2 -ftime-trace -mcpu=apple-m3" \
-DCMAKE_CXX_COMPILER=/usr/bin/c++ \
-DCMAKE_CXX_FLAGS="-O2 -ftime-trace -mcpu=apple-m3" \
-DCMAKE_INSTALL_PREFIX=/Users/alex/graphviz/local-install \
-DBUILD_SHARED_LIBS=ON \
-Dwith_digcola=ON \
-Dwith_ipsepcola=ON \
-Dwith_ortho=ON \
-Dwith_sfdp=ON \
-Duse_win_pre_inst_libs=ON \
-Dwith_cxx_tests=ON
then type
make
...
Expected Behaviour
Fill in with what you expected to see.
It should not have linking error
Actual Behaviour
Show any unexpected output
[ 82%] Building CXX object tests/CMakeFiles/test_common.dir/test_edge_node_overlap_utilities.cpp.o
[ 82%] Linking CXX shared library libtest_common.dylib
Undefined symbols for architecture arm64:
"Catch::MessageInfo::MessageInfo(Catch::StringRef, Catch::SourceLineInfo const&, Catch::ResultWas::OfType)", referenced from:
Catch::MessageBuilder::MessageBuilder(Catch::StringRef, Catch::SourceLineInfo const&, Catch::ResultWas::OfType) in test_edge_node_overlap_utilities.cpp.o
"Catch::StringMaker<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, void>::convert(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)", referenced from:
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> Catch::Detail::stringify<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) in svg_analyzer.cpp.o
"Catch::StringMaker<double, void>::convert(double)", referenced from:
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> Catch::Detail::stringify<double>(double const&) in test_edge_node_overlap_utilities.cpp.o
"Catch::StringMaker<int, void>::convert(int)", referenced from:
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> Catch::Detail::stringify<int>(int const&) in test_edge_node_overlap_utilities.cpp.o
"Catch::StringMaker<unsigned long, void>::convert(unsigned long)", referenced from:
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> Catch::Detail::stringify<unsigned long>(unsigned long const&) in svg_analyzer.cpp.o
OS Version
Windows/macOS/Linux/BSD? What version?
- MacOS 15.5
Graphviz Version
I was building from source
commit 17f189bc
Additional info
I was able to build it if I did not turn on tests. But I do want to run tests since I will try to optimize the code.