sci-physics/root-5.26.00e-r1 and sci-physics/root-5.28.00d with sys-devel/gcc-4.5.3-r1 exit with error: lib/libRIO.so: undefined reference to `int TStreamerInfo::ReadBuffer<char**>(TBuffer&, char** const&, int, int, int, int)' Reproducible: Always
Created attachment 289655 [details] sci-physics/root-5.26.00e-r1 build log
Created attachment 289657 [details] sci-physics/root-5.28.00d build log
Can you, please, provide your emerge --info? I can't reproduce your problem. Can you alto try root-5.30.03 from science overlay?
Created attachment 290455 [details] emerge --info
Created attachment 290457 [details] sci-physics/root-5.30.03 build log I've disable from command line this use flag: "-X -reflex -math -opengl"
I tried to build using exactly your use flags, but on ~x86 (I have no amd64 where I can conduct this test): "-X -afs -avahi clarens -doc -emacs -examples fftw -fits graphviz kerberos ldap llvm -math mpi mysql ncurses odbc -opengl openmp -oracle postgres -prefix -pythia6 -pythia8 python -qt4 -reflex -ruby ssl xinetd -xft xml xrootd -afs -avahi -emacs ldap llvm odbc openmp -oracle postgres -prefix -ruby xinetd" And I can't reproduce your problem. Also looks like a gcc bug: http://root.cern.ch/phpBB3/viewtopic.php?t=9273 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40056 But it is claimed to be fixed in gcc>=4.5.x Try to disable ccache and build again.
Created attachment 290875 [details, diff] patch for root-5.26.00e-r1.ebuild I try with ccache disabled but problem still remain, i've read about gcc bug in bugzilla and i've try to compile with -O and all work, thanks Andrew Savchenko. I think this patch fix the issue with amd64 arch, i've only this arch but if someone else have the same problem, we can add to the list.
Created attachment 295209 [details] A piece of compiletion log
So, I have the same problem.
Created attachment 295213 [details] emerge --info
Created attachment 295267 [details, diff] root-5.28.00d.ebuild.patch The solution of Ruggero Morsucci suggested by Andrew Savchenko works for me. It seems that problem really is in this gcc bug.
Please try 5.32.00-r2 and report back if you still have this problem.
I've tried version 5.32.00-r2 and still had this problem. Above mentioned solution worked for me.
From all your build logs and emerge --info I see that you are using -O3 flag. Does root builds for you with -O2 ? Also please specify a gcc version you are using.
Created attachment 304633 [details, diff] root-5.32.01.ebuild.patch I can't reproduce the problem while building with -O3, but I was able to reproduce gcc bug 40056 with -O3, but not with -O2. The problem lies in -fipa-cp-clone option, with -O3 -fno-ipa-cp-clone testcase builds well: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40056 Please try the following ebuild patch. For older ebuilds apply the similar change.
In any case this is a gcc bug and I do not want to disable the whole -O2 optimization for all users as this will hurt performance much. In the best case this should be fixed in gcc. Removal of some dangerous -O3 optimizing suboptions is also acceptable. If this problem happens only to TStreamerInfoReadBuffer.cxx, -O[23] may be replaced by -O for this file only. If proposed patch doesn't help you, please try to find out what exact gcc optimization option causes failure to you. List of options behind -O2 and -O3 can be found in gcc manual (this list varies from one gcc version to another). ccache is your friend here.
After build failure please cd to /var/tmp/portage/sci-physics/root-5.30.03/work/root and run: x86_64-pc-linux-gnu-g++ -O3 -pipe -m64 -Wshadow -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -pthread -c /var/tmp/portage/sci-physics/root-5.30.03/work/root/io/io/src/TStreamerInfoReadBuffer.cxx -E > TStreamerInfoReadBuffer.ii Then upload TStreamerInfoReadBuffer.ii here.
Created attachment 304645 [details, diff] root-5.32.01-TStreamerInfo.patch Also you may try the following patch. Apply it without previously proposed ebuild patch. But, please, provide TStreamerInfoReadBuffer.ii before applying this patch.
(In reply to comment #18) > Created attachment 304645 [details, diff] [details, diff] > root-5.32.01-TStreamerInfo.patch This patch may be applied to older version of root of course.
Forget everything I wrote above. Real fix was just made by ROOT upstream. Will bump soon.
Please try any ebuild from science overlay. Please resync first. Versions updated: 5.32.01, 5.28.00h, 5.26.00g.
I can not test version 5.32.01 because of Bug 386905, but I've tested 5.28.00h and had no problems during compilation.
(In reply to comment #22) > I can not test version 5.32.01 because of Bug 386905, but I've tested > 5.28.00h and had no problems during compilation. Sorry, not Bug 386905 but Bug 406817.
This problem should be fixed now for all supported branches. Please close this bug.
(In reply to comment #24) > This problem should be fixed now for all supported branches. closing.