LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tools/lib;export LD_LIBRARY_PATH; //这里必须将gmp与mpfr的库文件引入环境变量,因为绿色版的最新版g++ 4.5.1编译的时候和作为编译器使用时都需要使用到这两个依赖动态库。
make;make install
// 此时最新版本的gcc,g++就编译好了,可以看见如下效果
[root@test59 kfs-0.5]# /tools/bin/g++ -v
Using built-in specs.
COLLECT_GCC=/tools/bin/g++
COLLECT_LTO_WRAPPER=/tools/libexec/gcc/i686-pc-linux-gnu/4.5.1/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ./configure --prefix=/tools --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++ --disable-multilib --disable-bootstrap --with-gmp=/tools --with-mpfr=/tools --with-mpc=/tools
Thread model: posix
gcc version 4.5.1 (GCC)
[root@test59 kfs-0.5]# g++ -v
Reading specs from /usr/lib/gcc/i386-RedHat-linux/3.4.5/specs
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
Thread model: posix
gcc version 3.4.5 20051201 (Red Hat 3.4.5-2)
//最新版kfs0.5
wget
tar xvpfz kfs-0.5.tar.gz
cd kfs-0.5
//在CMakeLinst.txt文件中“# get the subdirs we want”这一行注释之前加入以下变量追加和声明,boost头文件路径,boost库文件,java两个头文件目录和xfs.h头文件目录。
# added by alan 2010.11
set(Boost_INCLUDE_DIRS /data/alan/boost_1_44_0/)
set(Boost_LIBRARIES /data/alan/boost_1_44_0/stage/lib/libboost_regex-mt.a)
include_directories(/data/alan/xfsprogs/include/)
set(JAVA_INCLUDE_PATH "/usr/java/jdk1.6.0_22/include/")
set(JAVA_INCLUDE_PATH2 "/usr/java/jdk1.6.0_22/include/linux/")
set(CMAKE_CXX_COMPILER "/tools/bin/g++") // 指明前面编译出来的新版本的g++所在位置,make时使用
or
//如果gcc不需要升级本来就是4.1.2以上的就加入以下cmake设置即可不用进行以上下载编译gcc依赖库及gcc了。
set(Boost_INCLUDE_DIRS /data/alan/boost_1_44_0/)
set(Boost_LIBRARIES /data/alan/boost_1_44_0/stage/lib/libboost_regex-mt.a)
include_directories(/data/alan/xfsprogs/include/)
set(JAVA_INCLUDE_PATH "/usr/java/jdk1.6.0_22/include/")
set(JAVA_INCLUDE_PATH2 "/usr/java/jdk1.6.0_22/include/linux/")