Re: [eigen] Doc : ICE with gcc-4.4.3 / miscompilation with gcc-4.5

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


ah ok so unfortunately gentoo overrides this, but normally gcc gives
you a link to:

http://gcc.gnu.org/bugs/

Which is very helpful to produce useful GCC bug reports.

Basically you do:
VERBOSE=1 make...

to see the actual g++ command line, then you copy this command line
and add the -save-temps option, run that (in the appropriate
subdirectory), you get a .ii file (preprocessed source), normally then
just doing g++ thatfile.ii will immediately reproduce the ICE without
using any other files (no need anymore to have Eigen), so just
compress this .ii file and attach it to a GCC bug report.

I have no idea whether gentoo does nontrivial patching of GCC, though.

I haven't yet looked at whether the error with gcc 4.5 is valid or not.

Benoit

2010/5/19 Thomas Capricelli <orzel@xxxxxxxxxxxxxxx>:
>
> Hello,
>
> The doc for trunk on the wiki is not updated anymore because on my server, gcc segfaults (famous "ICE") at the end:
> I haven't found any 'obvious' reason in the files..
>
> ------------------------------------------------------------------------------------------------------
>  96%] Built target compile_MatrixBase_identity_int_int
> Scanning dependencies of target compile_LLT_solve
> [ 96%] Building CXX object doc/snippets/CMakeFiles/compile_LLT_solve.dir/compile_LLT_solve.cpp.o
> Linking CXX executable compile_LLT_solve
> [ 96%] Built target compile_LLT_solve
> Scanning dependencies of target compile_MatrixBase_zero_int_int
> [ 96%] Building CXX object doc/snippets/CMakeFiles/compile_MatrixBase_zero_int_int.dir/compile_MatrixBase_zero_int_int.cpp.o
> In file included from /home/orzel/hg/eigen/Eigen/Core:251,
>                 from /home/orzel/hg/eigen/build/doc/snippets/compile_SelfAdjointEigenSolver_compute_MatrixType2.cpp:1:
> /home/orzel/hg/eigen/Eigen/src/Core/DenseStorageBase.h: In member function ‘Eigen::SelfAdjointEigenSolver<MatrixType>& Eigen::SelfAdjointEigenSolver<_MatrixType>::compute(const _MatrixType&, const _MatrixType&, bool) [with _MatrixType = Eigen::Matrix<double, 33331, 33331, 0, 33331, 33331>]’:
> /home/orzel/hg/eigen/Eigen/src/Core/DenseStorageBase.h:479: internal compiler error: Segmentation fault
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://bugs.gentoo.org/> for instructions.
> make[3]: *** [doc/snippets/CMakeFiles/compile_SelfAdjointEigenSolver_compute_MatrixType2.dir/compile_SelfAdjointEigenSolver_compute_MatrixType2.cpp.o] Error 1
> make[2]: *** [doc/snippets/CMakeFiles/compile_SelfAdjointEigenSolver_compute_MatrixType2.dir/all] Error 2
> make[2]: *** Waiting for unfinished jobs....
> In file included from /home/orzel/hg/eigen/Eigen/Core:251,
>                 from /home/orzel/hg/eigen/build/doc/snippets/compile_SelfAdjointEigenSolver_SelfAdjointEigenSolver_MatrixType2.cpp:1:
> /home/orzel/hg/eigen/Eigen/src/Core/DenseStorageBase.h: In member function ‘Eigen::SelfAdjointEigenSolver<MatrixType>& Eigen::SelfAdjointEigenSolver<_MatrixType>::compute(const _MatrixType&, const _MatrixType&, bool) [with _MatrixType = Eigen::Matrix<double, 33331, 33331, 0, 33331, 33331>]’:
> /home/orzel/hg/eigen/Eigen/src/Core/DenseStorageBase.h:479: internal compiler error: Segmentation fault
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://bugs.gentoo.org/> for instructions.
> make[3]: *** [doc/snippets/CMakeFiles/compile_SelfAdjointEigenSolver_SelfAdjointEigenSolver_MatrixType2.dir/compile_SelfAdjointEigenSolver_SelfAdjointEigenSolver_MatrixType2.cpp.o] Error 1
> make[2]: *** [doc/snippets/CMakeFiles/compile_SelfAdjointEigenSolver_SelfAdjointEigenSolver_MatrixType2.dir/all] Error 2
> Linking CXX executable compile_MatrixBase_zero_int_int
> [ 96%] Built target compile_MatrixBase_zero_int_int
> make[1]: *** [doc/CMakeFiles/doc.dir/rule] Error 2
> make: *** [doc] Error 2
> make failed
> orzel@verdi ~/hg/eigen $ gcc --version
> gcc (Gentoo 4.4.3 p1.0) 4.4.3
> Copyright (C) 2010 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> ------------------------------------------------------------------------------------------------------
>
>
> On my desktop computer, with gcc-4.5, there's a different problem:
> /home/orzel/hg/eigen/build/doc/snippets/compile_MatrixBase_reverse.cpp: In function ‘int main(int, char**)’:
> /home/orzel/hg/eigen/build/doc/snippets/compile_MatrixBase_reverse.cpp:20:20: error: lvalue required as left operand of assignment
> make[3]: *** [doc/snippets/CMakeFiles/compile_MatrixBase_reverse.dir/compile_MatrixBase_reverse.cpp.o] Error 1
> make[3]: Target `doc/snippets/CMakeFiles/compile_MatrixBase_reverse.dir/build' not remade because of errors.
> make[2]: *** [doc/snippets/CMakeFiles/compile_MatrixBase_reverse.dir/all] Error 2
>
> the line leading to error is : "m.reverse()(1,0) = 4;"
>
> I did 'make -k doc' and this is the only problem. No more ICE with gcc 4.5.
>
> ++
> Thomas
> --
> Thomas Capricelli <orzel@xxxxxxxxxxxxxxx>
> http://www.freehackers.org/thomas
>
>
>



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/