Ever since glm 0.9.9.0 there is an option to enable experimental glm extensions such as quaternions, GLM_ENABLE_EXPERIMENTAL. When building pymol-open-source with system glm 1.0.0-1, I am getting the following error message:
In file included from /usr/include/glm/gtx/norm.hpp:20,
from /usr/include/glm/gtx/quaternion.hpp:21,
from /usr/include/glm/gtx/io.hpp:24,
from layer0/Bezier.cpp:5:
/usr/include/glm/gtx/component_wise.hpp:22:9: error: #error "GLM: GLM_GTX_component_wise is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
22 | # error "GLM: GLM_GTX_component_wise is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
| ^~~~~
/usr/include/glm/gtx/norm.hpp:23:9: error: #error "GLM: GLM_GTX_norm is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
23 | # error "GLM: GLM_GTX_norm is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
| ^~~~~
/usr/include/glm/gtx/quaternion.hpp:24:9: error: #error "GLM: GLM_GTX_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
24 | # error "GLM: GLM_GTX_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
| ^~~~~
/usr/include/glm/gtx/io.hpp:27:9: error: #error "GLM: GLM_GTX_io is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
27 | # error "GLM: GLM_GTX_io is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
| ^~~~~
In file included from /usr/include/glm/gtx/io.inl:7,
from /usr/include/glm/gtx/io.hpp:210:
/usr/include/glm/gtx/type_trait.hpp:16:9: error: #error "GLM: GLM_GTX_type_trait is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
16 | # error "GLM: GLM_GTX_type_trait is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
| ^~~~~
In file included from /usr/include/glm/gtx/type_trait.hpp:24:
/usr/include/glm/gtx/dual_quaternion.hpp:24:9: error: #error "GLM: GLM_GTX_dual_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
24 | # error "GLM: GLM_GTX_dual_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
...
cc1plus: note: destination object is likely at address zero
error: command '/usr/bin/g++' failed with exit code 1
If you use the experimental glm features, you can add "#define GLM_ENABLE_EXPERIMENTAL" before including the glm/gtx/... to avoid this error. Your code may like this:
Ever since glm 0.9.9.0 there is an option to enable experimental glm extensions such as quaternions,
GLM_ENABLE_EXPERIMENTAL
. When building pymol-open-source with system glm 1.0.0-1, I am getting the following error message: