-----------编译-gcc 4.3.2----------
a.下载源代码
b.解压
c.查看里面的INSTALL文件夹, 里面有一些关于安装的帮助信息
--下面描述两个必要的组件GMP, GPFR
Installing GMP method1:
sudo apt-get install m4
method2:------recommended
download the src.
unzip.
--to the following steps, please look into the INSTALL file in the source.
./configure
make
make check
make install: the default target path is /usr/local
Installing GPFR
download the src.
unzip.
--to the following steps, please look into the INSTALL file in the source.
./configure
make
make check
make install: the default target path is /usr/local
------
from the prerequisities of gcc. you may be need to install gawk (sudp apt-get install gawk )too.
d.configure进行注册
假设加压后的源代码目录是 gcc-4.3.2
这个目录下还有不少别的目录 比如INSTALL, gcc, ...
进入这个目录,执行如下操作(可能需要管理员权限,即加sudo )
% mkdir objdir
% cd objdir
sudo ./../configure --enable-languages=c,c++
--prefix=/usr/local/gcc-4.3.2 --enable-shared --with-system-zlib
--without-included-gettext --enable-threads=posix --enable-nls
--enable-libstdcxx-debug --enable-mpfr --enable-targets=all
--enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu
--target=i486-linux-gnu --disable-multilib
注意
1. 这里是在objdir目录下,所以使用的是gcc-4.3.2目录下的configure
2. 关于configure的选项我 试了很多个, 也用了好长时间,才发现这个可用。这里给出一些如何发现这个选项的信息。
一开始我的电脑上转的是 gcc4.2.3. 后来我又更新到了gcc.4.3.2. 以下是我看到的已经安装(通过apt-get)的gcc的选项
//--------------gcc 4.3.2 -v 查看选项------------------
Using built-in specs.
Target: i486-linux-gnu
Configured
with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.2-1ubuntu8'
--with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--enable-mpfr --enable-targets=all --enable-checking=release
--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu8)
//----------------
//----------gcc4.2.2 -v 查看选项----------------------
Using built-in specs.
Target: i486-linux-gnu
Configured
with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--enable-mpfr --enable-targets=all --enable-checking=release
--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
你可以把上面的一些选项直接拿过来用比如
--enable-languages=c,c++,fortran,objc,obj-c++
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--enable-libstdcxx-debug
--enable-mpfr --enable-targets=all --enable-checking=release
--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
3. 必须加上--disable-multilib否则会发生编译错误
4. 这里你必须指定
--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
否则会错误,在我的机器上他自己探测为i686-linux-gnu. 这会导致错误。
5. prefix 选项你指定了你想把gcc4.3.2安装到哪一个目录下, 你必须/最好指定
e. test. 参考INSTALL文件夹下面的信息
f. sudo make install
to install gcc4.3.2 to the prefix directory which is specified when configure.
-------------------------
以上是 在我的机器上安装的 过程。。
我想不同的机器 肯定会不同。。
Sunday, November 2, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment