编译GCC

作者在 2010-06-23 20:36:49 发布以下内容
cd build-gcc
../gcc-4.5.0/configure --target=xtensa-elf --prefix=$TOOLPATH --with-newlib --disable-shared --disable-libssp --enable-languages=c --with-as=$TOOLPATH/bin/xtensa-elf-as --with-ld=$TOOLPATH/bin/xtensa-elf-ld
make all-gcc
make install-gcc
技术 | 阅读 2407 次
文章评论,共5条
vfdff(作者)
2010-06-23 21:12
1
GCC是Unix下的程序编译器的集合,包括C,C++,Fortran77,Java等,升级GCC有助于缩短编译过程的时间,生成更加高效的程序,但是也可能会出现编译后的程序比较大.目前最新的版本是4.3.接下来就开始安装4.3版本.<br />
<br />
首先要确认,你的Linux环境有那些编译语言.本人所用的系统为RedHat AS 4.0 U6版本<br />
<br />
#gcc -v<br />
Reading specs from /usr/lib/gcc/i386-RedHat-linux/3.4.3/specs<br />
<br />
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-RedHat-linux<br />
Thread model: posix<br />
gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)<br />
显示GCC的版本信息.<br />
<br />
GCC环境可以不包含任何编译器,默认安装中会安装上C,C++,g77和Java.一般在升级GCC和编译器时需要用户指定升级那些编译器,本次将着重介绍升级C和C++的编译器,其中包括g95.g95即Fortran语言的最新版,很多时候,源码依然调用g77进行编译.<br />
<br />
#gcc<br />
gcc: no input files<br />
# c++<br />
c++: no input files<br />
# g77<br />
g77: no input files<br />
说明c,c++,g77集成在GCC中<br />
<br />
# java<br />
-bash: java: command not found<br />
这个表示没有安装上<br />
<br />
安装GCC需要先安装mpfr和gmp (Fortran编译器需要这两个包)<br />
先卸载.<br />
# rpm -qa |grep gmp<br />
gmp-devel-4.1.4-3<br />
gmp-4.1.4-3<br />
<br />
# rpm -e --nodeps gmp-devel-4.1.4-3<br />
# rpm -e --nodeps gmp-4.1.4-3<br />
<br />
# wget <a href="ftp://ftp.gnu.org/gnu/gmp/gmp-4.2.2.tar.bz2" target="_blank">ftp://ftp.gnu.org/gnu/gmp/gmp-4.2.2.tar.bz2</a><br />
# tar jxf gmp-4.2.2.tar.bz2<br />
# cd gmp-4.2.2<br />
# ./configure --prefix=/usr --enable-cxx \<br />
--enable-mpbsd<br />
#make<br />
#make install<br />
<br />
# wget <a href="http://svn.cross-lfs.org/svn/repos/patches/mpfr/mpfr-2.3.1-cumulative-1.patch" target="_blank">http://svn.cross-lfs.org/svn/repos/patches/mpfr/mpfr-2.3.1-cumulative-1.patch</a><br />
# wget <a href="http://www.mpfr.org/mpfr-current/mpfr-2.3.1.tar.bz2" target="_blank">http://www.mpfr.org/mpfr-current/mpfr-2.3.1.tar.bz2</a><br />
# tar jxf mpfr-2.3.1.tar.bz2<br />
# cd mpfr-2.3.1<br />
# patch -Np1 -Z -i ../mpfr-2.3.1-cumulative-1.patch<br />
# ./configure --prefix=/usr --enable-shared<br />
# make<br />
# make install<br />
<br />
安装g95<br />
# wget <a href="http://ftp.g95.org/g95-x86-linux.tgz" target="_blank">http://ftp.g95.org/g95-x86-linux.tgz</a><br />
# tar zxf g95-x86-linux.tgz<br />
# cp g95-install/bin/i686-SUSE-linux-gnu-g95 /usr/bin/g95<br />
接下来开始安装gcc了,这里不建议彻底删除老版本的gcc,只需要把gcc指向到新的版本就行了.这样仍然可以使用老版本的gcc.<br />
<br />
# wget <a href="http://ftp.gnu.org/gnu/gcc/gcc-4.3.0/gcc-4.3.0.tar.bz2" target="_blank">http://ftp.gnu.org/gnu/gcc/gcc-4.3.0/gcc-4.3.0.tar.bz2</a><br />
# tar jxf gcc-4.3.0.tar.bz2<br />
# cd gcc-4.3.0<br />
# sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in<br />
<br />
# mkdir -v ../gcc-build<br />
# cd ../gcc-build<br />
# ../gcc-4.3.0/configure --prefix=/usr \<br />
--libdir=/usr/lib \<br />
--libexecdir=/usr/lib \<br />
--enable-shared \<br />
--enable-threads=posix \<br />
--enable-__cxa_atexit \<br />
--enable-c99 \<br />
--enable-long-long \<br />
--enable-clocale=gnu \<br />
--disable-libstdcxx-pch \<br />
--disable-multilib \<br />
--enable-languages=c,c++,f95<br />
<br />
如果在--enable-languages=中添加了本来没有的语言make的过程中会报错.<br />
<br />
# make bootstrap<br />
# make -k check<br />
# ../gcc-4.3.0/contrib/test_summary<br />
# make install<br />
# ln -sfv ../usr/bin/cpp /lib<br />
# ln -sfv gcc /usr/bin/cc<br />
# chown -Rv root:root /usr/lib/gcc/$(gcc -dumpmachine)/4.3.0/include<br />
# ln -sfv `find /usr/lib/gcc -name ffitarget.h` /usr/include<br />
<br />
完成后查看gcc<br />
# gcc -v<br />
[root@mailserver ~]# gcc -v<br />
Using built-in specs.<br />
Target: i686-pc-linux-gnu<br />
Configured with: ../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++,f95<br />
Thread model: posix<br />
gcc version 4.3.0 (GCC)
vfdff(作者)
2010-06-24 02:24
2
由于不需要嵌入式支持,因此不需要 binutils-2.20.1.tar.gz<br />
<br />
../gcc-4.4.4/configure --prefix=$TOOLPATH/gcc-4.4.4 --enable-threads=posix --disable-checking --enable--long-long --with-system-zlib --enable-languages=c,c++
vfdff(作者)
2012-07-21 09:52
3
配置最简单的默认 windows版本,使用./configure --prefix=/usr/local/gcc --disable-checking --enable--long-long&nbsp;&nbsp;--enable-languages=c,c++
vfdff(作者)
2012-09-19 12:00
4
./configure --target=xtensa-elf --prefix=$HOME/software/xtensa-elf-install --enable-languages=c --disable-shared --disable-libmudflap --disable-libssp --disable-nls --disable-lto --disable-libgomp --disable-libffi --with-as=$HOME/software/xtensa-elf-install/bin/xtensa-elf-as --with-ld=$HOME/software/xtensa-elf-install/bin/xtensa-elf-ld --with-newlib
言察它季(游客)
2020-03-23 21:03
5
将mpc, mpfr, gmp 等放到gcc目录下后,可以一键式构建配置
Configured with: /home/gcc-serials/GCC/gcc-810/gcc-8.1.0/configure --disable-checking --enable-languages=c,c++ --enable-multiarch --enable-shared --enable-threads=posix --without-included-gettext --with-system-zlib --with-tune=generic --prefix=/home/gcc-serials/GCC/gcc-810/binary --disable-bootstrap
游客请输入验证码
浏览1872164次