scopehal-apps
scopehal-apps copied to clipboard
Tests failing to run on MacOS (Darwin) due to shared library shenanigans, causing build to fail
Following the MacOS instructions in the install guide at https://www.ngscopeclient.org/manual/GettingStarted.html (section 3.3.2), everything works until the end of the build.
joel@Joels-iMac-Pro build % cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$(brew --prefix);$(brew --prefix)/opt/libomp"
CMake Warning (dev) at CMakeLists.txt:3 (enable_language):
project() should be called prior to this enable_language() call.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found OpenMP_C: -Xclang -fopenmp (found version "5.1")
-- Found OpenMP_CXX: -Xclang -fopenmp (found version "5.1")
-- Found OpenMP: TRUE (found version "5.1")
-- Found glslc: /usr/local/bin/glslc
-- Found ZLIB: /Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk/usr/lib/libz.tbd (found version "1.2.12")
-- Found PNG: /usr/local/lib/libpng.dylib (found version "1.6.46")
CMake Deprecation Warning at src/nativefiledialog-extended/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
nfd Platform: PLATFORM_MACOS
nfd Compiler: COMPILER_GNU
-- Performing Test NFD_USE_ALLOWEDCONTENTTYPES
-- Performing Test NFD_USE_ALLOWEDCONTENTTYPES - Success
-- Configuring done (2.9s)
-- Generating done (0.5s)
-- Build files have been written to: /Users/joel/code/scopehal-apps/build
joel@Joels-iMac-Pro build % make -j32
...
[ 83%] Built target Primitives
[ 83%] Linking CXX executable Filters
dyld[82916]: Library not loaded: libffts.0.9.0.dylib
Referenced from: <A20AD085-7D84-3CE3-9491-A39B722450C4> /Users/joel/code/scopehal-apps/build/tests/Filters/Filters
Reason: tried: 'libffts.0.9.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibffts.0.9.0.dylib' (no such file), 'libffts.0.9.0.dylib' (no such file), '/Users/joel/code/scopehal-apps/build/tests/Filters/libffts.0.9.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/joel/code/scopehal-apps/build/tests/Filters/libffts.0.9.0.dylib' (no such file), '/Users/joel/code/scopehal-apps/build/tests/Filters/libffts.0.9.0.dylib' (no such file)
CMake Error at /usr/local/lib/cmake/Catch2/CatchAddTests.cmake:82 (message):
Error listing tests from executable
'/Users/joel/code/scopehal-apps/build/tests/Filters/Filters':
Result: Subprocess aborted
Output:
Call Stack (most recent call first):
/usr/local/lib/cmake/Catch2/CatchAddTests.cmake:228 (catch_discover_tests_impl)
make[2]: *** [tests/Filters/Filters] Error 1
make[2]: *** Deleting file `tests/Filters/Filters'
make[1]: *** [tests/Filters/CMakeFiles/Filters.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 97%] Built target ngscopeclient
make: *** [all] Error 2
Disabling tests using the cmake option -DBUILD_TESTING:BOOL=OFF allows the build to complete:
joel@Joels-iMac-Pro build % cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$(brew --prefix);$(brew --prefix)/opt/libomp" -DBUILD_TESTING:BOOL=OFF
CMake Warning (dev) at CMakeLists.txt:3 (enable_language):
project() should be called prior to this enable_language() call.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found glslc: /usr/local/bin/glslc
CMake Deprecation Warning at src/nativefiledialog-extended/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
nfd Platform: PLATFORM_MACOS
nfd Compiler: COMPILER_GNU
-- Configuring done (0.2s)
-- Generating done (0.4s)
-- Build files have been written to: /Users/joel/code/scopehal-apps/build
joel@Joels-iMac-Pro build % make -j32
[ 0%] Copying channels...
[ 0%] Copying fonts...
[ 1%] Copying eye masks...
[ 1%] Copying icons...
[ 4%] Built target ngrendershaders
[ 8%] Built target protocolshaders
[ 11%] Built target halshaders
[ 11%] Built target ngcomputeshaders
[ 11%] Built target ngchannels
[ 11%] Built target nfd
[ 11%] Built target ngfonts
[ 11%] Built target ngmasks
[ 12%] Built target xptools
[ 13%] Built target log
[ 13%] Copying protocol shaders...
[ 13%] Copying scopehal shaders...
[ 13%] Built target ngprotoshaders
[ 13%] Built target nghalshaders
[ 13%] Built target ngicons
[ 42%] Built target scopehal
[ 84%] Built target scopeprotocols
[ 84%] Building CXX object src/examples/curvetrace/CMakeFiles/curvetrace.dir/cmake_pch.hxx.pch
[100%] Built target ngscopeclient
[100%] Building CXX object src/examples/curvetrace/CMakeFiles/curvetrace.dir/main.cpp.o
[100%] Linking CXX executable curvetrace
[100%] Built target curvetrace
System is iMac Pro (iMacPro1,1), running MacOS 15.3.2 (24D81).
@lainy is this a known issue? Not tagging this as a v0.1 release blocker since it only affects the tests and FFTS is planned to be fully deprecated by v0.2