I'm trying to prototype LFS for gcc-4.5.0 and have run into a problem.
I have not yet researched the details, but would like to know if anyone
else has tried gcc-4.5.0 and solved the problem.
gcc pass 2 in Chapter 5 fails as seen below.
I'll continue researching...
-- Bruce
gcc-4.5.0 now needs mpc-0.8.1. For gcc pass 1, I did:
tar -jxf ../mpfr-2.4.2.tar.bz2
mv -v mpfr-2.4.2 mpfr
tar -jxf ../gmp-5.0.1.tar.bz2
mv -v gmp-5.0.1 gmp
tar -zxf ../mpc-0.8.1.tar.gz
mv -v mpc-0.8.1 mpc
mkdir -v ../gcc-build
cd ../gcc-build
../gcc-4.5.0/configure \
--target=$LFS_TGT --prefix=/tools \
--disable-nls --disable-shared --disable-multilib \
--disable-decimal-float --disable-threads \
--disable-libmudflap --disable-libssp \
--disable-libgomp --enable-languages=c
make
make install
ln -vs libgcc.a `$LFS_TGT-gcc -print-libgcc-file-name | \
sed 's/libgcc/&_eh/'`
------
This appeared to work fine.
$ ls -1 tools/bin/x*
tools/bin/x86_64-lfs-linux-gnu-addr2line
tools/bin/x86_64-lfs-linux-gnu-ar
tools/bin/x86_64-lfs-linux-gnu-as
tools/bin/x86_64-lfs-linux-gnu-c++filt
tools/bin/x86_64-lfs-linux-gnu-cpp
tools/bin/x86_64-lfs-linux-gnu-gcc
tools/bin/x86_64-lfs-linux-gnu-gcc-4.5.0
tools/bin/x86_64-lfs-linux-gnu-gccbug
tools/bin/x86_64-lfs-linux-gnu-gcov
tools/bin/x86_64-lfs-linux-gnu-gprof
tools/bin/x86_64-lfs-linux-gnu-ld
tools/bin/x86_64-lfs-linux-gnu-nm
tools/bin/x86_64-lfs-linux-gnu-objcopy
tools/bin/x86_64-lfs-linux-gnu-objdump
tools/bin/x86_64-lfs-linux-gnu-ranlib
tools/bin/x86_64-lfs-linux-gnu-readelf
tools/bin/x86_64-lfs-linux-gnu-size
tools/bin/x86_64-lfs-linux-gnu-strings
tools/bin/x86_64-lfs-linux-gnu-strip
----------
When I get to gcc pass 2, I ran:
patch -Np1 -i ../gcc-4.5.0-startfiles_fix-1.patch
cp -v gcc/Makefile.in{,.orig}
sed 's...@\./fixinc\...@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in
cp -v gcc/Makefile.in{,.tmp}
sed 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \
> gcc/Makefile.in
for file in \
$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
do
cp -uv $file{,.orig}
sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
-e 's@/usr@/to...@g' $file.orig > $file
echo '
#undef STANDARD_INCLUDE_DIR
#define STANDARD_INCLUDE_DIR 0
#define STANDARD_STARTFILE_PREFIX_1 ""
#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
touch $file.orig
done
case $(uname -m) in
x86_64)
for file in $(find gcc/config -name t-linux64) ; do \
cp -v $file{,.orig}
sed '/MULTILIB_OSDIRNAMES/d' $file.orig > $file
done
;;
esac
tar -jxf ../mpfr-2.4.2.tar.bz2
mv -v mpfr-2.4.2 mpfr
tar -jxf ../gmp-5.0.1.tar.bz2
mv -v gmp-5.0.1 gmp
tar -zxf ../mpc-0.8.1.tar.gz
mv -v mpc-0.8.1 mpc
mkdir -v ../gcc-build
cd ../gcc-build
CC="$LFS_TGT-gcc -B/tools/lib/" \
AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib \
../gcc-4.5.0/configure --prefix=/tools \
--with-local-prefix=/tools --enable-clocale=gnu \
--enable-shared --enable-threads=posix \
--enable-__cxa_atexit --enable-languages=c,c++ \
--disable-libstdcxx-pch --disable-multilib \
--disable-bootstrap
make
-------------
After quite a bit of build time I get:
checking whether the target supports .symver directive... yes
configure: versioning on shared library symbols is gnu
checking whether the target supports __sync_*_compare_and_swap... yes
configure: updating cache ./config.cache
configure: error: unsupported system, cannot find sizeof (omp_lock_t)
make[1]: *** [configure-target-libgomp] Error 1
make[1]: Leaving directory `/mnt/lfs/sources/gcc-build'
--
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page