天天看點

國産銀河麒麟系統(arm64架構)上GEOS3.8.2編譯流程

最近在國産系統上做開發,需要用到GEOS的開源庫。但是國産系統還不是x86_amd64 架構,用的是國産飛騰FT2000CPU,此U是arm64架構,很多庫沒有,完全需要手動編譯。

1、下載下傳GEOS源碼

GEOS3.8.2源碼

國産銀河麒麟系統(arm64架構)上GEOS3.8.2編譯流程

2、下載下傳cmake;

CMAKE3.20.3 GEOS的CmakeList.text 宏裡設定了需要3.8.1以上版本的CMAKE,因麒麟系統自帶的隻有3.5.1;版本太低 無法編譯。

國産銀河麒麟系統(arm64架構)上GEOS3.8.2編譯流程

3、編譯CMAKE

cd 到 cmake-3.20.3目錄下;

控制台 :

cmake .
make 
make install 
           

編譯完成後 

國産銀河麒麟系統(arm64架構)上GEOS3.8.2編譯流程
國産銀河麒麟系統(arm64架構)上GEOS3.8.2編譯流程
國産銀河麒麟系統(arm64架構)上GEOS3.8.2編譯流程

此時cmake就安裝在sur/local/bin裡面了。跟系統自帶的cmake不沖突,可以同時存在。

4、編譯geos 

cd /home/greatwall/code/geos-3.8.2  //轉到geos3.8.2的目錄下
/usr/local/bin/cmake .   // 此步是使用剛編譯的cmake 來編譯geos
make  //編譯
make install  //安裝 bin lib include 
           
國産銀河麒麟系統(arm64架構)上GEOS3.8.2編譯流程
國産銀河麒麟系統(arm64架構)上GEOS3.8.2編譯流程
國産銀河麒麟系統(arm64架構)上GEOS3.8.2編譯流程

5、成果; 輸入 make install ;或者指定安裝位置

make DESTDIR=/home/greatwall/code/geos-3.8.2/bin_r

國産銀河麒麟系統(arm64架構)上GEOS3.8.2編譯流程
國産銀河麒麟系統(arm64架構)上GEOS3.8.2編譯流程
國産銀河麒麟系統(arm64架構)上GEOS3.8.2編譯流程
國産銀河麒麟系統(arm64架構)上GEOS3.8.2編譯流程

至此 geos 完全編譯成果。其他的庫也可以類似的編譯。像gdal  opencv ....

繼續閱讀