Linux伺服器無root許可權安裝colmap

2021-10-23 07:35:11 字數 1984 閱讀 5578

從老師那裡得到了乙個伺服器,可惜沒有root許可權,無法按官網上的linux推薦方法安裝,只好嘗試構建指令碼的方法。

官網中展示的構建指令碼**是在windows系統上執行,雖然在linux系統上命令差不多,但我卻實實在在遇到了各種bug,在這裡記錄一下。

獲得源**

git clone
執行源**自帶的python檔案【前提是伺服器已經安裝好cmake,boost,qt5,cuda(可選)和cgal(可選)這些環境】

cd colmap 

mkdir build

python scripts/python/build.py --build_path path/to/colmap/build --colmap_path path/to/colmap \

第乙個bug出現

因為python版本不對,build.py檔案第270行出現語法錯誤,因為伺服器預設的python版本為2.7,確認伺服器中已包含python3.6後,將執行**改為

python3.6 scripts/python/build.py
繼續,py檔案成功執行,編譯過程中

第二個bug出現

rlopen error [ssl: certificate_verify_failed] certificate verify failed

大致內容是這樣的乙個錯誤出現,查了一下是python 2.7.9 之後版本引入了乙個新特性:當你urllib.urlopen乙個 https 的時候會驗證一次 ssl 證書 ,當目標使用的是自簽名的證書時就會爆出該錯誤訊息。

於是,對build.py檔案進行修改,在開頭加入

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

然後,儲存檔案,繼續重新執行py檔案。(執行之前把之前的build資料夾刪掉重建乙個)

這次執行倒是沒什麼問題,結果網太慢了安裝包一直下不下來,okfine我放棄,直接從網上找到安裝包下好傳到伺服器的build/__download__裡。

重新執行

python3.6 scripts/python/build.py  --build_path path/to/colmap/build --colmap_path path/to/colmap
第三個bug出現

gcc版本出現問題,colmap編譯時不接受高於6的版本,而伺服器的預設版本為gcc-7

於是執行(前提是伺服器已經裝好了gcc-6)

export cc='/usr/bin/gcc-6'

export cxx='/usr/bin/g++-6'

重新執行

python3.6 scripts/python/build.py  --build_path path/to/colmap/build --colmap_path path/to/colmap
第四個bug出現
nvcc fatal : path to libdevice library not specified

出現了這樣乙個bug,貌似是cuda出現了問題,具體原因我也沒弄懂,根據論壇的方式執行

(cuda版本為10.1)

export path=/usr/local/cuda-10.1/bin:/usr/local/cuda-10.1/nsightcompute-2019.1$}
重新執行

python3.6 scripts/python/build.py  --build_path path/to/colmap/build --colmap_path path/to/colmap
成功了!!!我哭了t t

在無root許可權的伺服器下安裝cmake

很多時候伺服器是沒法拿到root許可權的,在安裝cmake的時候會經常遇到sudo的指令,現在提供一種在無root許可權的伺服器下安裝cmake的方法。開始安裝 cd cmake 3.12.xx bootstrap configure prefix home 自己定義的目錄 make make in...

linux無root許可權安裝軟體

在有些公司是不會給開發人員root許可權的,但是開發人員有時候也需要裝一些軟體。沒有root許可權是否可以成功安裝軟體呢?答案是yes。本文以安裝nginx為例說明下如何操作。沒有root許可權時往往也就沒有許可權操作一些系統目錄,例如bin,usr等。所以在安裝時需要配置將安裝檔案裝在當前使用者有...

linux無root許可權安裝軟體

在有些公司是不會給開發人員root許可權的,但是開發人員有時候也需要裝一些軟體。沒有root許可權是否可以成功安裝軟體呢?答案是yes。本文以安裝nginx為例說明下如何操作。沒有root許可權時往往也就沒有許可權操作一些系統目錄,例如bin,usr等。所以在安裝時需要配置將安裝檔案裝在當前使用者有...