|

楼主 |
发表于 2008-3-26 11:49:50
|
显示全部楼层
下载下来今年3月6日发布的 4.3 版,准备安装。
发现,以前,作为可选项的 GMP 和 MPFR 成为必须的了,只好上网把它们也下载下来。
先安 GMP, 按照 BLFS 的手册, ./configure --prefix=/usr --enable-cxx --enable-mpsd && make
文档就不安了,check 也没做。直接再 make install
再看 MPFR 的 INSTALL,说它依赖于 GMP.还说强烈建议安装补丁:
wget http://www.mpfr.org/mpfr-2.3.0/patches
patch -N -Z -p1 < patches
再往下,没有特殊的说明,./configure --prefix=/usr (这个是 lfs 的习惯)
还是不 check 不安文档, make && make install
完事。
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in &&
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in &&
mkdir ../gcc-build
因为我要用 fortran, 所以
../gcc-4.3.0/configure --prefix=/usr --libdir=/usr/lib -libexecdir=/usr/lib --enable-shared --enable-threads=posix -enable-__cxa_atexit --enable-c99 --enable-long-long --enable-clocale=gnu --disable-libstdcxx-pch --disable-multilib --enable-languages=c,c++,fortran
make bootstrap
/usr/include/bits/mathinline.h: Assembler messages:
/usr/include/bits/mathinline.h:6224: Error: symbol `fstat64' is already defined
/usr/include/bits/mathinline.h:7040: Error: symbol `lstat64' is already defined
/usr/include/bits/mathinline.h:7073: Error: symbol `stat64' is already defined
下面改这个源代码试一下
--------------------------------------------
我在怀疑是不是 fortran 的问题,于是 configure 时去掉最后的 fortran 支持,只编译 c,c++ 就通过了。
即:
../gcc-4.3.0/configure --prefix=/usr --libdir=/usr/lib -libexecdir=/usr/lib --enable-shared --enable-threads=posix -enable-__cxa_atexit --enable-c99 --enable-long-long --enable-clocale=gnu --disable-libstdcxx-pch --disable-multilib --enable-languages=c,c++
然后,
make bootstrap
ln -v -sf ../usr/bin/cpp /lib &&
ln -v -sf gcc /usr/bin/cc &&
chown -v -R root:root /usr/lib/gcc/i686-pc-linux-gnu/4.3.0/include &&
chown -v -R root:root /usr/lib/gcc/i686-pc-linux-gnu/4.3.0/ada{lib,include}
为什么加上 fortran 就不行呢?
以后用到了再研究,毕竟 linux 是拿来用的,不是用来折腾的。
还是谢谢楼上的各位。 |
|