R Hill skrev:
Simon Strandman wrote:
It seems like toolchain.eclass does something wrong when configuring
gcc 4.1 snapshots. I decided to try gcc 4.1 on my server so I created
a gcc-4.1.1.20060324 ebuild and defined the SNAPSHOT variable in it
(current cvs has a lot of bugfixes since the release). This is the
way I've done it with gcc 4.0 and I never had any problems then. The
ebuild emerges without problems but it installs files in both
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1-20060324 and
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1. So when I try to emerge
anything it always fails with errors like this:
configure:2239: i686-pc-linux-gnu-gcc -O2 -march=pentium3 -pipe
-fomit-frame-pointer -D_FORTIFY_SOURCE=1 conftest.c >&5
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/bin/ld:
cannot find -lgcc_s
collect2: ld returned 1 exit status
Just copying over the files from one dir to the other and then
symlinking it works around the problems. Any ideas?
This is caused by changes to the build system in 4.1 and GCC's
BASE-VER not matching portage's ${PV} in snapshot builds. Most of the
system directories are set up by portage during configure using ${PV}
as part of the dirname. (eg.
includedir=/usr/<lib>/gcc/<chost>/${PV}/include). However, libdir and
libexecdir aren't set by portage (because they generate really strange
paths w/ --enable-version-specific-runtime-libs in GCC 3.3/3.4) and
default to /usr/<lib>/gcc/<chost>/BASE-VER/blah. When ${PV} !=
BASE-VER, wackiness ensues.
Try this in your ebuild:
src_unpack() {
toolchain_src_unpack
echo ${PV/_/-} > "${S}"/gcc/BASE-VER
echo "" > "${S}"/gcc/DATESTAMP
}
--de.
Thanks for the help! But now it fails with this error:
<built-in>:1: internal compiler error: in define__GNUC__, at c-cppbuiltin.c:296
Please submit a full bug report,
This has been reported in gcc bug #19372 and apperantly it has something
to do with the version string. :(
--
gentoo-dev@gentoo.org mailing list