Registered Member
|
Hi there,
I'm trying to integrate the newest Eigen lib version into the PX4 Autopilot project (https://github.com/PX4/Firmware). The current repo being used is in https://github.com/PX4/eigen/, being the 3.2.5 branch pretended to be used (https://github.com/PX4/eigen/tree/3.2.5). But I'm facing the following problem. When compiling the specific code for a POSIX build, I get the following:
I took a look at MathFunctions.h and it seems like that std::isfinite is only used when EIGEN_HAS_CXX11_MATH is set. So to check how to set it I wen to Macros.h, but checking if the necessary macros for setting this up are also set to up to is kinda difficult. The makefile toolchain configurations for the project are in https://github.com/PX4/Firmware/blob/ma ... _native.mk. Can anyone help me figure out the problem in here? Thanks in advance! Note: here's an output of the built with more verbosity: http://pastebin.com/wfUWBZ4P |
Registered Member
|
The problem was solved by adding
But now some other error appears and it's related to this: Compiling a build for an ARM platform that issues a test code for eigen, I get the following error:
Is there anyway of solving this. Seems like the macros used by Eigen are not compatibles with the ones used on newlib for arm. For my understanding, there must be incompatibilities. |
Registered Member
|
First problem solved with: https://bitbucket.org/eigen/eigen/commi ... at=default
Second problem supposedly is solved with: https://bitbucket.org/eigen/eigen/pull-requests/132/ so I'll be waiting for the PR to fix it. Anyhow, the workaround was to add #define EIGEN_MAX_STATIC_ALIGN_BYTES 16 in the header which was calling the Eigen headers. Thanks Christoph Hertzberg! Best regards, N. |
Moderator
|
Very strange. cmath is included by the Eigen/Core header. |
Moderator
|
Any update on this one? The isfinite issue has been solved a while back, but I don't understand the link with EIGEN_MAX_STATIC_ALIGN_BYTES or the PR 132?
|
Registered users: bartoloni, Bing [Bot], Evergrowing, Google [Bot], q.ignora