[IPOL discuss] Eigen, once again...

Jean-Michel Morel morel at cmla.ens-cachan.fr
Fri Dec 16 12:05:48 CET 2011


Nicolas,

Suggestion de chapitre dans la thèse: mettre en forme cette discussion 
sur la fiabilité d'une librairie, Eigen.

Ce problème de la "contamination par d'autres codes" non fiables semble 
crucial. Je suppose qu'il y a une biblio là dessus qui pourrait être 
ajoutée.

JM




Nicolas Limare a écrit :
> Hi,
> 
>> Which version of Eigen have you considered, 3.04 ?
> 
> No, I kept the version included in the IPOL program, version 3.0,
> which ws probably considered the stable version when this program was
> written, 6 months ago. The compilation bugs described in my message
> may have been fixed since, but nevertheless a version previously
> released as "stable" seems to have serious compilation issues.
> 
>> Which part have you tried to compile?
>>  I want say:
>>  - using Eigen as a header only library,
>>  - compile all Eigen library modules (as a standalone)
> 
> I just compile one C++ source code file which includes some Eigen
> headers: Core, Cholesky, Eigenvalues, LU, QR and SVD.
> 
> g++ -c -o foo.o foo.cpp     -> OK
> pathcc -c -o foo.o foo.cpp  -> OK
> icc -c -o foo.o foo.cpp     -> warnings
> sunCC -c -o foo.o foo.cpp   -> errors
> clang -c -o foo.o foo.cpp   -> clang dies
> 
> Same results when explicitely adding C++ version options (-std=c++98,
> -compat=5, ...).
> 
>> I think all the libraries are subject to give warning or error message
>> under a given compiler.
> 
> All the libraries may throw warnings, but I consider that any correct
> code written in strict C++98 must be compilable without error with any
> compiler implementing the C++98 programming language. Eigen claims to
> be written in strict C++98 but fails on at least two compilers written
> from completely different code bases, including one from a major actor
> of the computing industry (Sun/Oracle). I have not verified that these
> compilers correctly implement the C++98 standard, and I can not
> exclude the possibility that the fault is on the compiler side. But it
> seems more likely that there was a problem in this version of the
> Eigen code, which would not be written in strict and standard C++98.
> 
> I tried something else with the latest release, without much success:
> 
> downloaded and decompressed Eigen 3.0.4
> make build, cd build
> 
> make clean; cmake -DCMAKE_C_COMPILER=gcc DCMAKE_CXX_COMPILER=g++ ../
> make buildtests
> -> throws warnings on ASSIGN and GOTO statements
> -> then fails on a link error
> 
> make clean; cmake -DCMAKE_C_COMPILER=clang DCMAKE_CXX_COMPILER=clang ../
> make buildtests
> -> compiler crashes
> 
> make clean; cmake -DCMAKE_C_COMPILER=pathcc DCMAKE_CXX_COMPILER=pathcc ../
> make buildtests
> -> throws warnings on ASSIGN and GOTO statements
> -> then fails on a link error
> 
> make clean; cmake -DCMAKE_C_COMPILER=icc DCMAKE_CXX_COMPILER=icc ../
> make buildtests
> -> throws warnings on ASSIGN and GOTO statements
> -> then fails on a link error
> 
> make clean; cmake -DCMAKE_C_COMPILER=suncc DCMAKE_CXX_COMPILER=sunCC ../
> make buildtests
> -> throws error messages and fails to compile
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> discuss mailing list
> discuss at list.ipol.im
> http://tools.ipol.im/mailman/listinfo/discuss



More information about the discuss mailing list