Closed christian-rauch closed 4 years ago
I am compiling from source on 18.04 and made sure all dependent package errors are fixed. Are you on the latest master? Do you use gcc or clang and on what operating system? [Eigen Tensor issues are ignored for gcc for sure]
Yes, I am on master and use gcc. I basically did a git pull and my own code stopped compiling. The warnings/errors occurred from my own code, e.g. from pybind11 and Eigen headers that I include from my code. I am not sure why they are not triggered in any of the exotica packages. I saw that some warnings/errors are suppressed in the private scope of core packages.
At the moment, I am manually suppressing these errors in my code but it would be useful if the warnings would be suppressed in a global scope.
Since we had bugs in dependent projects caused by not addressing some warnings, I added the -Werror
flag to the exotica.cmake
export, i.e., it will be active on all dependent projects. We can either decide to revert that - or selectively deactivate the warnings when we know an included header violates those errors (e.g., see the pinocchio dynamics solver)
IMHO configurations of warnings should be kept private to the project unless it is required for compiling/linking against the project. Dependant projects should set their own warnings/errors categories. The same goes for any other compiler flags. Only those that are required to build and link against a library should be exposed.
At the moment, I am fine with deactivating those in my own projects. But it might become annoying in the long run for other projects that use EXOTica. Alternatively, I vote for adding -Wno-register -Wno-ignored-attributes
to the global add_compile_options
until the issues are solved upstream.
The recently added error (formerly warning) categories
register
andignored-attributes
trigger errors in pybind11:and Eigen:
I remember that I got the pybind11 warnings before. Should we really turn those warnings into errors? I would wait until they are fixed upstream before we activate them in EXOTica.