manif icon indicating copy to clipboard operation
manif copied to clipboard

gtest.h not found on Mac using Conda

Open joansola opened this issue 3 months ago • 9 comments

Compilation error gtest/gtest.h file not found.

I install my packages using mamba which is a wrapper over conda.

Here's my setup using mamba (with conda would be the same):

mamba create -n manif
mamba activate manif
mamba install eigen ceres-solver gtest autodiff make

The build setup using cmake

mkdir build
cd build
cmake --install-prefix=/Users/xxxx/mambaforge/envs/manif ..

then with ccmake I activate testing and examples. This is the ccmake setup:

 BUILD_BENCHMARKING               OFF                                                                                                        
 BUILD_EXAMPLES                   ON                                                                                                         
 BUILD_PYTHON_BINDINGS            OFF                                                                                                        
 BUILD_TESTING                    ON                                                                                                         
 BUILD_TESTING_PYTHON             OFF                                                                                                        
 CMAKE_BUILD_TYPE                                                                                                                            
 CMAKE_INSTALL_PREFIX             /Users/xxxx/mambaforge/envs/manif                                                                         
 CMAKE_OSX_ARCHITECTURES                                                                                                                     
 CMAKE_OSX_DEPLOYMENT_TARGET                                                                                                                 
 CMAKE_OSX_SYSROOT                /Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk                                                    
 Ceres_DIR                        /Users/xxxx/mambaforge/envs/manif/lib/cmake/Ceres                                                         
 ENABLE_CPPCHECK                  OFF                                                                                                        
 Eigen3_DIR                       /Users/xxxx/mambaforge/envs/manif/share/eigen3/cmake                                                      
 GTest_DIR                        /Users/xxxx/mambaforge/envs/manif/lib/cmake/GTest                                                         
 SuiteSparse_DIR                  SuiteSparse_DIR-NOTFOUND                                                                                   
 TBB_DIR                          TBB_DIR-NOTFOUND                                                                                           
 USE_SYSTEM_WIDE_TL_OPTIONAL      OFF                                                                                                        
 autodiff_DIR                     /Users/xxxx/mambaforge/envs/manif/lib/cmake/autodiff                                                      
 gflags_DIR                       /Users/xxxx/mambaforge/envs/manif/lib/cmake/gflags                                                        
 glog_DIR                         /Users/xxxx/mambaforge/envs/manif/lib/cmake/glog                                                          
 tl-optional_DIR                  tl-optional_DIR-NOTFOUND                                                                                   

see that all deps are found, including gtest.

Then compiling fails:

(manif) jsola@travessani build % make
[  1%] Building CXX object examples/CMakeFiles/so2_average.dir/so2_average.cpp.o
[  2%] Linking CXX executable so2_average
[  2%] Built target so2_average
[  3%] Building CXX object examples/CMakeFiles/se2_average.dir/se2_average.cpp.o
[  5%] Linking CXX executable se2_average
[  5%] Built target se2_average
[  6%] Building CXX object examples/CMakeFiles/se2_interpolation.dir/se2_interpolation.cpp.o
[  7%] Linking CXX executable se2_interpolation
[  7%] Built target se2_interpolation
[  8%] Building CXX object examples/CMakeFiles/se2_decasteljau.dir/se2_DeCasteljau.cpp.o
[ 10%] Linking CXX executable se2_decasteljau
[ 10%] Built target se2_decasteljau
[ 11%] Building CXX object examples/CMakeFiles/se2_localization.dir/se2_localization.cpp.o
[ 12%] Linking CXX executable se2_localization
[ 12%] Built target se2_localization
[ 14%] Building CXX object examples/CMakeFiles/se2_localization_ukfm.dir/se2_localization_ukfm.cpp.o
[ 15%] Linking CXX executable se2_localization_ukfm
[ 15%] Built target se2_localization_ukfm
[ 16%] Building CXX object examples/CMakeFiles/se2_sam.dir/se2_sam.cpp.o
[ 17%] Linking CXX executable se2_sam
[ 17%] Built target se2_sam
[ 19%] Building CXX object examples/CMakeFiles/se3_localization.dir/se3_localization.cpp.o
[ 20%] Linking CXX executable se3_localization
[ 20%] Built target se3_localization
[ 21%] Building CXX object examples/CMakeFiles/se3_sam.dir/se3_sam.cpp.o
[ 23%] Linking CXX executable se3_sam
[ 23%] Built target se3_sam
[ 24%] Building CXX object examples/CMakeFiles/se3_sam_selfcalib.dir/se3_sam_selfcalib.cpp.o
[ 25%] Linking CXX executable se3_sam_selfcalib
[ 25%] Built target se3_sam_selfcalib
[ 26%] Building CXX object examples/CMakeFiles/se_2_3_localization.dir/se_2_3_localization.cpp.o
[ 28%] Linking CXX executable se_2_3_localization
[ 28%] Built target se_2_3_localization
[ 29%] Building CXX object examples/CMakeFiles/bundle_sam.dir/bundle_sam.cpp.o
[ 30%] Linking CXX executable bundle_sam
[ 30%] Built target bundle_sam
[ 32%] Building CXX object test/CMakeFiles/gtest_misc.dir/gtest_misc.cpp.o
/Users/xxxx/dev/manif/test/gtest_misc.cpp:1:10: fatal error: 'gtest/gtest.h' file not found
#include <gtest/gtest.h>
         ^~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [test/CMakeFiles/gtest_misc.dir/gtest_misc.cpp.o] Error 1
make[1]: *** [test/CMakeFiles/gtest_misc.dir/all] Error 2
make: *** [all] Error 2

joansola avatar Mar 15 '24 09:03 joansola