nmoehrle / rayint

Simple ray intersection library similar to coldet - succedeed by libacc
Other
35 stars 24 forks source link

rayint doesn't build on macOS #5

Open mikeroberts3000 opened 7 years ago

mikeroberts3000 commented 7 years ago

Hello there,

I recently tried to build rayint on macOS, using a sensible default build procedure for cmake, i.e.,

cd path/to/rayint
mkdir BUILD
cd BUILD
cmake ..

I got the following error:

Mikes-MacBook-Pro:BUILD mike$ cmake ..
-- The C compiler identification is AppleClang 8.0.0.8000042
-- The CXX compiler identification is AppleClang 8.0.0.8000042
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting build type to 'RELWITHDEBINFO' as none was specified.
-- Performing Test COMPILER_SUPPORTS_CXX11_FLAG
-- Performing Test COMPILER_SUPPORTS_CXX11_FLAG - Success
-- Performing Test COMPILER_SUPPORTS_CXX0X_FLAG
-- Performing Test COMPILER_SUPPORTS_CXX0X_FLAG - Success
-- Try OpenMP C flag = [-fopenmp=libomp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [ ]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-Qopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-xopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [+Oopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-qsmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-mp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-fopenmp=libomp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [ ]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-Qopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-xopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [+Oopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-qsmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-mp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Could NOT find OpenMP (missing:  OpenMP_C_FLAGS OpenMP_CXX_FLAGS) 
-- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.5") 
-- Found PNG: /Library/Frameworks/libpng.framework (found version "1.5.4") 
-- Found JPEG: /usr/local/lib/libjpeg.dylib  
-- Found TIFF: /usr/local/lib/libtiff.dylib (found version "4.0.7") 
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/mike/Code/GitHub/rayint/BUILD
Mikes-MacBook-Pro:BUILD mike$ make
Scanning dependencies of target ext_mve
[ 10%] Creating directories for 'ext_mve'
[ 20%] Performing download step (git clone) for 'ext_mve'
Cloning into 'mve'...
Already on 'master'
Your branch is up-to-date with 'origin/master'.
[ 30%] No patch step for 'ext_mve'
[ 40%] No update step for 'ext_mve'
[ 50%] No configure step for 'ext_mve'
[ 60%] Performing build step for 'ext_mve'
[ 70%] No install step for 'ext_mve'
[ 80%] Completed 'ext_mve'
[ 80%] Built target ext_mve
Scanning dependencies of target raycast
[ 90%] Building CXX object apps/raycast/CMakeFiles/raycast.dir/raycast.cpp.o
In file included from /Users/mike/Code/GitHub/rayint/apps/raycast/raycast.cpp:17:
/Users/mike/Code/GitHub/rayint/libs/acc/bvh_tree.h:138:31: error: implicit instantiation of
      undefined template 'std::__1::array<acc::Bin, 64>'
    std::array<Bin, NUM_BINS> bins;
                              ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__tuple:116:65: note: 
      template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TYPE_VIS_ONLY array;
                                                                ^
In file included from /Users/mike/Code/GitHub/rayint/apps/raycast/raycast.cpp:17:
/Users/mike/Code/GitHub/rayint/libs/acc/bvh_tree.h:139:32: error: implicit instantiation of
      undefined template 'std::__1::array<acc::AABB, 64>'
    std::array<AABB, NUM_BINS> right_aabbs;
                               ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__tuple:116:65: note: 
      template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TYPE_VIS_ONLY array;
                                                                ^
2 errors generated.
make[2]: *** [apps/raycast/CMakeFiles/raycast.dir/raycast.cpp.o] Error 1
make[1]: *** [apps/raycast/CMakeFiles/raycast.dir/all] Error 2
make: *** [all] Error 2

Am I missing a dependency, or am I configuring cmake incorrectly?

nmoehrle commented 7 years ago

Looks like I forgot to include could you checkout the fix-array-include branch and verify this?