KhronosGroup/ANARI-SDK

Fails to build with Intel compilers.

semeraro opened this issue · 4 comments

Hi there,
Building with intel compilers generates a whole lotta errors related to glm.
For example:

[  6%] Building CXX object libs/anari/CMakeFiles/anari.dir/anari_cpp_glm_defs.cpp.o
In file included from /work2/01197/semeraro/frontera/ANARI/external/glm/include/glm/./ext/../detail/type_mat2x2.hpp(6),
                 from /work2/01197/semeraro/frontera/ANARI/external/glm/include/glm/./ext/matrix_double2x2.hpp(5),
                 from /work2/01197/semeraro/frontera/ANARI/external/glm/include/glm/mat2x2.hpp(5),
                 from /work2/01197/semeraro/frontera/ANARI/libs/anari/include/anari/anari_cpp/ext/glm.h(7),
                 from /work2/01197/semeraro/frontera/ANARI/libs/anari/anari_cpp_glm_defs.cpp(5):
/work2/01197/semeraro/frontera/ANARI/external/glm/include/glm/./ext/../detail/type_vec2.hpp(93): error: cannot overload functions distinguished by return type alone
                GLM_FUNC_DECL GLM_CONSTEXPR T const& operator[](length_type i) const;

Using the compiler:

login4.frontera(1091)$ which icc
/opt/intel/compilers_and_libraries_2020.1.217/linux/bin/intel64/icc 

Builds under gcc/9.1.0. (Ya I know, then use gcc...)

Upon closer inspection the problem appears to be unrelated to ANARI and only connected with glm. Still I wonder about the errors. But not your problem.

We use glm inside the SDK, so I think it's still relevant. Does this problem persist with newer versions of ICC?

The new device that comes in the repo (helide) no longer uses glm, so I'll go ahead and close this.