Open Hartvi opened 11 months ago
Hi,
I think there is some incompatibility with the newest Eigen. Try it with Eigen 3.3.7.
But if you find another solution, please tell me! (I have to use Eigen 3.4 anyway.)
I have tweaked the Meta.h
header of Eigen to show the value of the __cplusplus
macro. Indeed, it is 201103L
, meaning the C++11 standard.
So why does it think (or why is it being complied) with C++11???
Consolidate compiler generated dependencies of target fcl
[ 0%] Building CXX object src/CMakeFiles/fcl.dir/broadphase/broadphase_SSaP.cpp.o
In file included from /home/tomtom/git/eigen-git/eigen/Eigen/Core:19,
from /home/tomtom/git/eigen-git/eigen/Eigen/Dense:1,
from /home/tomtom/Downloads/fcl/include/fcl/common/types.h:46,
from /home/tomtom/Downloads/fcl/include/fcl/math/bv/AABB.h:41,
from /home/tomtom/Downloads/fcl/include/fcl/geometry/collision_geometry.h:43,
from /home/tomtom/Downloads/fcl/include/fcl/narrowphase/collision_object.h:43,
from /home/tomtom/Downloads/fcl/include/fcl/broadphase/broadphase_collision_manager.h:44,
from /home/tomtom/Downloads/fcl/include/fcl/broadphase/broadphase_SSaP.h:42,
from /home/tomtom/Downloads/fcl/include/fcl/broadphase/broadphase_SSaP-inl.h:41,
from /home/tomtom/Downloads/fcl/src/broadphase/broadphase_SSaP.cpp:38:
/home/tomtom/git/eigen-git/eigen/Eigen/src/Core/util/Macros.h:718:2: error: #error This compiler appears to be too old to be supported by Eigen
718 | #error This compiler appears to be too old to be supported by Eigen
| ^~~~~
/home/tomtom/git/eigen-git/eigen/Eigen/src/Core/util/Macros.h:679:46: note: ‘#pragma message: The value of __cplusplus: 201103L’
679 | #pragma message "The value of __cplusplus: " XSTR(__cplusplus)
| ^~~~
Got it!
One line of the CMake-generated file fcl/build/src/CMakeFiles/fcl.dir/flags.make
is very telling:
CXX_FLAGS = -O3 -DNDEBUG -fPIC -std=c++11 -W -Wall -Wextra -Wpedantic -fPIC -fvisibility=hidden -mfpmath=sse -msse -msse2 -msse3 -mssse3
The issue is solved by pull request #563.
After adding a few includes (#include <cassert>
), i.e., solving yet another issue, everything should be fine ;)
You can check my fork: https://github.com/velecto1/fcl
I'm sorry if an issue for this exists, but I haven't been able to find it. Also I haven't worked with libraries in C++ that much, sorry if this seems trivial. I have installed eigen3 and libccd and now I want to install fcl.
These are the commands I used:
git clone git@gitlab.com:libeigen/eigen.git
cd eigen
mkdir build
cd build
cmake ..
sudo make install
cd ../..
git clone git@github.com:danfis/libccd.git
cd libccd/src
make
sudo make install
cd ../..
git clone git@github.com:flexible-collision-library/fcl.git
cd fcl
mkdir build
cd build
cmake ..
make >out.txt 2>&1
The compiler throws an error in the make step.
I have gcc9, which means it should support C++14, which eigen seems to need.
gcc --version
.../fcl/build$ cmake ..
And in the make step it says this:
make >out.txt 2>&1
and so on for 10000 lines.