Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eigen warnings with gcc 4.7.2 and above #247

Open
mparsani opened this issue May 13, 2013 · 6 comments
Open

Eigen warnings with gcc 4.7.2 and above #247

mparsani opened this issue May 13, 2013 · 6 comments

Comments

@mparsani
Copy link
Contributor

Compiling the kernel with gcc 4.7.2 and above leads to many warnings related to eigen, e.g.
/scratch/home0/pmatteo/research/workspace/codes/coolfluid3/kernel/include/Eigen/src/Core/DenseBase.h: In instantiation of ‘class Eigen::DenseBase<Eigen::Matrix<double, 2, 12> >’:
/scratch/home0/pmatteo/research/workspace/codes/coolfluid3/kernel/include/Eigen/src/Core/MatrixBase.h:61:34: required from ‘class Eigen::MatrixBase<Eigen::Matrix<double, 2, 12> >’
/scratch/home0/pmatteo/research/workspace/codes/coolfluid3/kernel/include/Eigen/src/Core/PlainObjectBase.h:52:7: required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, 2, 12> >’
/scratch/home0/pmatteo/research/workspace/codes/coolfluid3/kernel/include/Eigen/src/Core/Matrix.h:140:7: required from ‘class Eigen::Matrix<double, 2, 12>’
/scratch/home0/pmatteo/research/workspace/codes/coolfluid3/kernel/cf3/mesh/Integrators/GaussImplementation.hpp:317:3: required from here
/scratch/home0/pmatteo/research/workspace/codes/coolfluid3/kernel/include/Eigen/src/Core/DenseBase.h:103:10: warning: enumeral mismatch in conditional expression: ‘Eigen::internal::size_at_compile_time<2, 12>::’ vs ‘Eigen::internal::traits<Eigen::Matrix<double, 2, 12> >::’ [-Wenum-compare]

It seems it is an Eigen's issue which has been fixed in the 3.1.1 version (http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2012/10/msg00066.html)
Is there any drawback if Eiegn will be updated in kernel?

@mparsani
Copy link
Contributor Author

I have looked a little bit Eigen 3.1.3. New header files have been added and few others have been removed. It seems everything compile if I update it but I let the cf3 experts to do it properly. :-)

@barche
Copy link
Member

barche commented May 13, 2013

A while ago I added code to detect the system Eigen: https://github.com/coolfluid/coolfluid3/blob/master/cmake/DetectSoftware.cmake#L5

I would propose to remove the current Eigen code from the tree at some point. Note that just installing eigen in your deps root (the install script does it) should fix the problem, since system Eigen takes precedence over the version we supply.

@mparsani
Copy link
Contributor Author

Hi Bart, thank you for your feedback. I have used cookup.pl and yes, most of the warning are gone.
Maybe a naive question: is there any specific reason to have Eigen in the kernel and not like all other dependencies? Is it because the framework is tied up around it?

@barche
Copy link
Member

barche commented May 14, 2013

I think at the time there were problems with some versions of Eigen, and the Eigen website also recommended including it in the source. Neither of those seem to apply now, so I'd just recommend to use the latest version that you can get.

@wdeconinck
Copy link
Member

Could we then just remove Eigen from the cf3 sources...

I wouldn't mind.

@tlmquintino
Copy link
Member

Yeah, I second that. Lets just remove them from the cf3 sources.

barche added a commit to barche/coolfluid3 that referenced this issue Aug 16, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants