In SDK
directory, I run the commands below to build OptiX SDK.
$ mkdir build && cd build
$ CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake ../
$ make
And I got the following error, and failed to build SDK and samples apps.
Scanning dependencies of target glad
Scanning dependencies of target glfw
[ 1%] Building C object support/CMakeFiles/glad.dir/glad/glad.c.o
[ 7%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/init.c.o
[ 7%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/input.c.o
[ 7%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/context.c.o
[ 7%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/monitor.c.o
[ 7%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/vulkan.c.o
[ 8%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/window.c.o
[ 11%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/x11_init.c.o
[ 11%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/x11_monitor.c.o
[ 12%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/x11_window.c.o
[ 13%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/xkb_unicode.c.o
[ 15%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/linux_joystick.c.o
[ 16%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/posix_time.c.o
[ 17%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/posix_tls.c.o
[ 18%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/glx_context.c.o
[ 20%] Building C object support/GLFW/src/CMakeFiles/glfw.dir/egl_context.c.o
[ 21%] Linking C shared library ../../../lib/libglfw.so
[ 21%] Built target glfw
[ 22%] Linking C shared library ../lib/libglad.so
[ 22%] Built target glad
Scanning dependencies of target imgui
[ 25%] Building CXX object support/imgui/CMakeFiles/imgui.dir/imgui.cpp.o
[ 25%] Building CXX object support/imgui/CMakeFiles/imgui.dir/imgui_demo.cpp.o
[ 26%] Building CXX object support/imgui/CMakeFiles/imgui.dir/imgui_impl_glfw.cpp.o
[ 27%] Building CXX object support/imgui/CMakeFiles/imgui.dir/imgui_impl_opengl3.cpp.o
[ 29%] Building CXX object support/imgui/CMakeFiles/imgui.dir/imgui_widgets.cpp.o
[ 30%] Building CXX object support/imgui/CMakeFiles/imgui.dir/imgui_draw.cpp.o
[ 31%] Linking CXX static library ../../lib/libimgui.a
[ 31%] Built target imgui
[ 32%] Building NVCC ptx file lib/ptx/cuda_compile_ptx_generated_whitted.cu.ptx
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../include/c++/10.1.0/type_traits(1396): error: type name is not allowed
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../include/c++/10.1.0/type_traits(1396): error: type name is not allowed
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../include/c++/10.1.0/type_traits(1396): error: identifier "__is_same" is undefined
3 errors detected in the compilation of "/tmp/tmpxft_0005714a_00000000-6_whitted.cpp1.ii".
CMake Error at cuda_compile_ptx_generated_whitted.cu.ptx.cmake:348 (message):
Error generating file
/home/shpark/NVIDIA-OptiX-SDK-7.0.0-linux64/SDK/build/lib/ptx/cuda_compile_ptx_generated_whitted.cu.ptx
make[2]: *** [sutil/CMakeFiles/sutil_7_sdk.dir/build.make:85: lib/ptx/cuda_compile_ptx_generated_whitted.cu.ptx] Error 1
make[1]: *** [CMakeFiles/Makefile2:807: sutil/CMakeFiles/sutil_7_sdk.dir/all] Error 2
make: *** [Makefile:104: all] Error 2
To my understanding, somehow the flag _GLIBCXX_BUILTIN_IS_SAME_AS
is set, but is_same
is not defined.
/// is_same
template<typename _Tp, typename _Up>
struct is_same
#ifdef _GLIBCXX_BUILTIN_IS_SAME_AS
: public integral_constant<bool, _GLIBCXX_BUILTIN_IS_SAME_AS(_Tp, _Up)>
#else
: public false_type
#endif
{ };
Maybe here’s a similar issue? Link to a GitHub issue
FYI, here are the compiler versions:
clang version 10.0.0
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:24:38_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89