以編譯安裝nginx為例咧最。為了解決需求這里通過(guò)在高版本環(huán)境安裝低版本環(huán)境的GCC 編譯器(需要注意的是 安裝在自己定義的目錄中)
在低版本環(huán)境中直接使用 gcc -v 查看版本號(hào) 戚长。此處的作用是通過(guò)gcc版本確認(rèn)glibc版本,原理是安裝gcc是會(huì)附帶安裝對(duì)應(yīng)版本的glibc庫(kù)
在nginx源碼代碼目錄中 執(zhí)行./configure 之后會(huì)生產(chǎn)Makefile腳本文件 此文件是執(zhí)行make操作的依據(jù)瞒滴,more查看該文件內(nèi)容 具體的編譯動(dòng)作都發(fā)生在object/Makefile 坏为,此是這里就是實(shí)現(xiàn)標(biāo)題需求陨囊,編輯該文件 將CC變量的指向我們自己安裝的低版本GCC目錄
另外說(shuō)一句 nginx的DSO功能只針對(duì)可以編譯成共享類型的模塊 如果是想后來(lái)為nginx添加新的官方模塊,確認(rèn)該模塊是支持共享shared剧辐。不支持的話還是需要重新編譯nginx 加靜態(tài)模塊加入