Re: [eigen] Doc : ICE with gcc-4.4.3 / miscompilation with gcc-4.5 |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Doc : ICE with gcc-4.4.3 / miscompilation with gcc-4.5
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Wed, 19 May 2010 22:33:53 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=+wXQucfgMdAz29Ue/xJ0yKRX2GW5UZsQpXTs94ylgDg=; b=crSzhsePBuLPYuBXB75Lmt5sCl5NZCPm4VqaoJNxiJ5PftZqoPEz/2tx+UMi9jFDr9 FXnKz/rg56M6mlBJgHe0G2bufLVB1Yx3kBmAuUg2oLF1fdA23rGht+hnWB0ZRiLfMDz4 TW8O4watsV9PlmxZNzeVIL1eDFKKb0urZNBfU=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=FUADXit7Hv/6CC3eaAu6846Y+ivUE3c2Ab2B2aBIpfb6zD6M5XMRedqrulNEgrspcd oJBAYy3RApfHJh+TNCJ7fSrAOvUhVlZNgmn4UG3R2ot3AN0G8L/zDp3H6Fai1WtWmEa5 f8rqQZxJG9FWgfb6L1o+OEaLY/PmCvCqMhP88=
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
>
>
>