The build is broken for sys-devel/gcc-4.5.3-r1 when using parallel libstdc++. GCC PR42813 has some patches. To reproduce, try adding "-fopenmp -D_GLIBCXX_PARALLEL" to CXXFLAGS. Here's the error: /var/tmp/portage/sys-devel/gcc-4.5.3-r1/work/build/./gcc/xgcc -shared-libgcc -B/var/tmp/portage/sys-devel/gcc-4.5.3-r1/work/build/./gcc -nostdinc++ -L/var/tmp/portage/sys-devel/gcc-4.5.3-r1/work/build/x86_64-pc-linux-gnu/libstdc++-v3/src -L/var/tmp/portage/sys-devel/gcc-4.5.3-r1/work/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include -x c++-header -march=core2 -O2 -pipe -w -D_GLIBCXX_PARALLEL -D_GNU_SOURCE -nostdinc++ -I/var/tmp/portage/sys-devel/gcc-4.5.3-r1/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu -I/var/tmp/portage/sys-devel/gcc-4.5.3-r1/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include -I/var/tmp/portage/sys-devel/gcc-4.5.3-r1/work/gcc-4.5.3/libstdc++-v3/libsupc++ -O2 -g /var/tmp/portage/sys-devel/gcc-4.5.3-r1/work/gcc-4.5.3/libstdc++-v3/include/precompiled/stdc++.h -o x86_64-pc-linux-gnu/bits/stdc++.h.gch/O2g.gch yes checking for y1l in -lm... In file included from /var/tmp/portage/sys-devel/gcc-4.5.3-r1/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/parallel/algobase.h:40:0, from /var/tmp/portage/sys-devel/gcc-4.5.3-r1/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_algobase.h:1227, from /var/tmp/portage/sys-devel/gcc-4.5.3-r1/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/algorithm:62, from /var/tmp/portage/sys-devel/gcc-4.5.3-r1/work/gcc-4.5.3/libstdc++-v3/include/precompiled/stdc++.h:64: /var/tmp/portage/sys-devel/gcc-4.5.3-r1/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/parallel/base.h:37:17: fatal error: omp.h: No such file or directory
Created attachment 287187 [details] build log (bzip2'ed)
Seems still broken w/ 4.6.1-r1 too.
Two of those patches seem to be applied for 4.6.2 already. I tried the third and still got the failure.
The third patch includes a reversion of the second, so that's why it applied. In reality all these patches were committed to the trunk in Jan 2010, before 4.5 branched, meaning 4.5 and 4.6 contain them already.
(In reply to Ryan Hill from comment #4) > The third patch includes a reversion of the second, so that's why it > applied. In reality all these patches were committed to the trunk in Jan > 2010, before 4.5 branched, meaning 4.5 and 4.6 contain them already. And all affected versions are now package-masked.