問(wèn)題
由于源碼安裝MySQL5.7時(shí)喇闸,報(bào)主機(jī)gcc
版本過(guò)低沧竟,需要使用4.4及以上版本短纵,使用gcc -v
查詢現(xiàn)用gcc
版本為4.1远舅。想要在主機(jī)上保留4.1與4.4兩個(gè)版本闰蛔。
流程
1、官網(wǎng)下載gcc安裝源碼
官網(wǎng)下載索引:Index of /gnu/gcc图柏,下載自己需要的版本序六。這次下載的是v4.4.7的gcc-4.4.7.tar.gz
2、上傳Linux主機(jī)解壓
tar -zxvf gcc-4.4.7.tar.gz
3蚤吹、編譯安裝
在與gcc-4.4
同級(jí)目錄下新建gcc-4.4obj
目錄例诀,進(jìn)入gcc-4.4obj
目錄執(zhí)行:
../gcc-4.4.7/configure --with-system-zlib --prefix=/user/gcc-4.4.7/gcc-4.4obj --enable-threads=posix --with-cpu=generic --enable--long-long --enable-languages=c,c++ --with-gmp=/user/gmp-6.1.0/gmp-6.1.0-obj --with-mpfr=/user/mpfr-3.1.6/mpfr-3.1.6-obj --build=x86_64-redhat-linux
make
make install
4、等待編譯
5裁着、編譯完成
遇到的各種錯(cuò)誤
-
使用
configure
進(jìn)行編譯時(shí):../gcc-4.4.7/configure --prefix=/user/gcc-4.4.7/gcc-4.4obj --enable-threads=posix --disable-checking --enable--long-long --enable-languages=c,c++ --host=x86_64-linux
報(bào)找不到GMP
與MPFR
:
解決:編譯安裝GMP之后繁涂,使用
--with-gmp=
指定GMP路徑:繼續(xù)編譯安裝MPFR之后,使用
--with-mpfr=
指定MPFR路徑:-
configure
過(guò)去了 但make
報(bào)錯(cuò):
make[2]: x86_64-redhat-linux-ar: Command not found
make[2]: *** [libiberty.a] Error 127
解決:因?yàn)橹鳈C(jī)上原有g(shù)cc了二驰,使用gcc -v
會(huì)看到當(dāng)時(shí)gcc時(shí)configure
的參數(shù)扔罪,里面有一個(gè):--host=x86_64-redhat-linux
,把這個(gè)改成--build=x86_64-redhat-linux
該錯(cuò)誤就不再出現(xiàn)了
-
configure
過(guò)去了 但make
報(bào)錯(cuò):
configure: error:
CC' has changed since the previous run: configure: former value:
x86_64-redhat-linux-gcc'
configure: current value: ……
解決:因?yàn)樾薷牧?code>configure參數(shù)桶雀,但重新執(zhí)行時(shí)沒(méi)有刪除gcc-4.4obj目錄下文件導(dǎo)致有歷史殘留存在步势。把gcc-4.4obj目錄下文件rm -rf *
之后再執(zhí)行configure……
、make
-
configure
過(guò)去了 但make
報(bào)錯(cuò):
libgcc找不到.png
解決:將gmp
與mpfr
的lib
路徑添加到環(huán)境變量LD_LIBRARY_PATH
中:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/user/mpfr-3.1.6/mpfr-3.1.6-obj/lib:/user/gmp-6.1.0/gmp-6.1.0-obj/lib
-
make install
報(bào)錯(cuò)
找不到fixincludes.png
解決:make
過(guò)程中被中斷導(dǎo)致背犯,重新執(zhí)行make
參考文章
Linux GMP源碼安裝
Linux MPFR源碼安裝
redhat AS 4手動(dòng)編譯gcc 4.4
在 Ubuntu 12.04 下編譯 GCC 4.7(注意看評(píng)論)
安裝gcc-4.7.1時(shí)遇到據(jù)說(shuō)是很常見(jiàn)的make錯(cuò)誤
如果有root權(quán)限,可以用rpm包快速進(jìn)行安裝:
Linux gcc rpm包離線安裝