從零開始編譯安裝 Extcalc

2022-06-05 18:15:06 字數 3418 閱讀 7240

extcalc 是個非常強大的計算器,同時也是乙個非常老的軟體包,已經不再更新。希望使用 apt-get 或是 dnf 安裝已經不可能,更何況我是在 mips 的龍芯 3a 上。唯一的方法就是編譯安裝。

我是在龍芯 3a4000 + debian10 上完成安裝的,其他系統可能有些許差別。

從它的 sourceforge 首頁獲得原始碼包: 傳送門

readme 內容的部分翻譯:

依賴的軟體:

linux

gcc 4

qt4.3 或更高版本

opengl

cmake

如果有缺少,安裝即可。對於 gcc 4,我的版本是gcc version 8.3.0 (debian 8.3.0-6),編譯沒有大問題。對於 qt4.3, debian 下執行sudo apt-get install qt4-dev-tools

安裝

- 解壓縮 (tar -xzf extcalc-0.9.3.tar.gz)

- 切換到目錄 (cd extcalc-0.9.3)

- 執行 configure (cmake .)

- 編譯 (make)

- 切換為超級使用者 (su)

- 安裝 (make install)

按部就班來就可。

① cmake .

第一次編譯,報錯說找不到 qtcore,但是我可以手動找到它。於是我安裝了cmake-guisudo apt-get install cmake-qt-gui,使用cmake-gui .代替cmake .

cmake-gui .顯示qt_qtcore_library_debugqt_qtcore_library_release無法找到,全部手動定位為/usr/lib/mips64el-linux-gnuabi64/libqtcore.so.4即可。

單擊 generate 之後再次報錯,顯示無法找到qt_moc_executableqt_rcc_executableqt_uic_executableqt_include_dir。分別單擊 add entry 新增,前三個 type 選為 filepath ,分別對應為/usr/bin/moc/usr/bin/rcc/usr/bin/uic,最後乙個 type 選為 path,value 為/usr/share/qt4/include。再次單擊 generate 即成功。

第一次編譯我發現沒有 qt4 的 include ,於是安裝了qt4-dev-tools。第二次嘗試重現錯誤時錯誤消失。

② make

warning 有忽略函式返回值和 string 強制轉換為 char* ,沒有什麼大問題。

乙個 error :

/usr/bin/ld: cmakefiles/extcalc.dir/src/graphout.o: undefined reference to symbol 'glblendfunc'

/usr/bin/ld: //lib/mips64el-linux-gnuabi64/libgl.so.1: error adding symbols: dso missing from command line

collect2: error: ld returned 1 exit status

make[2]: *** [cmakefiles/extcalc.dir/build.make:994:extcalc] 錯誤 1

make[1]: *** [cmakefiles/makefile2:73:cmakefiles/extcalc.dir/all] 錯誤 2

make: *** [makefile:152:all] 錯誤 2

可見是 build.make 的第994行出錯,看看是啥:

$(cmake_command) -e cmake_link_script cmakefiles/extcalc.dir/link.txt --verbose=
link.txt 裡面是用 c++ 把所有 .o 進行鏈結,而 glblendfunc 是 opengl 的乙個函式,懷疑是編譯選項的問題。最後加上-lgl的選項再重新make即可成功完成編譯。

③ make install

su切換為超級使用者後make install即可安裝成功。命令列extcalc或單擊其應用程式圖示即可執行~

安裝後,檢視目錄裡有個 install_manifest.txt 檔案,保留它。如果需要解除安裝,執行cat install_manifest.txt | sudo xargs rm即可。

這一部分內容的可行性和是否會對系統造成損害將由讀者自行判斷

(這是我第一次打包)

① 編輯 cmakelists.txt

set(cpack_install_cmake_projects "《路徑》;extcalc;all;/")一行中的《路徑》改為你現在所在編譯目錄的路徑;

set(cpack_debian_package_architecture "i386")這有兩行同樣的,把i386改為你編譯生成的二進位制檔案的體系架構,比如我這裡是mips64el

修改後儲存。

cmakelists.txt 本身已經把所有需要的設定都搞好了,我們直接生成它就好了。

cpack -g deb生成deb包,cpack -g rpm生成rpm包。

也可以使用 checkinstall ,但是不太會用:

② 安裝 checkinstall

sudo apt-get install checkinstall

③ sudo checkinstall

sudo checkinstall,它會提示你輸入描述和確認一些東西,看情況選擇即可。

最後顯示建立 debian 包……ok則建立成功,它同時會替你安裝這個包,顯示安裝 debian 包……ok

如此,我們可以方便地通過 dpkg 解除安裝它,也可以方便地用於下一次安裝。

by sdust weilinfox

從零開始Ubuntu ROS安裝心得

進行ros安裝過程十分的坎坷,收到了不少和現實中朋友的幫助和指點,結果還算可以,分享一下自己的經驗 ros可以使用虛擬機器執行,也可以選擇安裝雙系統 我這裡選擇的是安裝雙系統 如果沒有安裝作業系統的經驗,可以先了解一下使用u盤安裝的原理,以及作業系統啟動的原理,boot的知識和自己電腦bios的基本...

RE 從零開始的faiss庫的編譯安裝

最近facebook更新了faiss的install.md,所以其實沒什麼好寫的,但是這一路上踩了不少坑還是稍作記錄。雙系統安裝教程 win10 ubuntu16.04雙系統 gcc g gfortran安裝和降級 推薦安裝gcc6以下版本,方便後面安裝gpu和faiss。ubuntu16.04預設...

Django 從零開始

方法1 pip install django 1.6.5 測試是否安裝成功 python import django 1,6,5,final 0 django 使用了 python 標準的 distutils 安裝法,在 linux 平台可能包括如下步驟 tar xzvf django tar.gz...