emerge of dev-libs/crypto++-5.5.2 with "-O2 -funroll-loops" CXXFLAGS fails at vmac.cpp, line 690.
Removing either option work.
I have gcc version 4.1.2
The easy workaround is to create the file /etc/portage/env/dev-libs/crypto++ and put a CXXFLAGS without one of the two options.
Steps to Reproduce:
1. put CXXFLAGS="-O2 -funroll-loops" in /etc/make.conf
2. emerge =dev-libs/crypto++-5.5.2
x86_64-pc-linux-gnu-g++ -O2 -funroll-loops -c xtrcrypt.cpp
vmac.cpp: In member function ‘void CryptoPP::VMAC_Base::VHASH_Update_Template(const CryptoPP::word64*, size_t) [with bool T_128BitTag = true]’:
vmac.cpp:690: erreur fatale: internal consistency failure
The ebuild should filter those options so emerge succeeds with this CXXFLAGS, or the source should be patched by ebuild so it compiles with those options.
as per url funroll-loops is prone with faults. Other documentation indicates that funroll-loops as a concept make stuff slower.
as such i'm not going to fix this.
What about adding a warning about that in the ebuild? This could save some time searching for the problem for some people.
(In reply to comment #2)
> What about adding a warning about that in the ebuild?
> This could save some time searching for the problem for some people.
The valuable learning experience is to drop silly CFLAGS.
By putting a warning some people will just keep using it and expecting every other package to work with a silly broken cflag.
I was thinking about a message along the line of:
"You have enabled funroll-loops, this package won't compile with this flag. Moreover, it is not wise to enable this flag as it has been proven to make things slower. Please unset this flag in your make.conf flag and reemerge"
I mean a message that inform the user about the problem and at the same time that discourage from using this flag in other packages.