ubuntu 編譯 openMVS

主要記錄ubuntu16.04下編譯openMVS的問題。
主要是按照官網的教程,Linux compilation進行編譯。

遇到的兩個問題:
1、git clone ceres庫的時候,克隆不了,官網命令如下:
git clone https://ceres-solver.googlesource.com/ceres-solver ceres-solver
因爲這個項目要從google git下克隆,然後單純的git沒法下下來,就進入網頁端下載了master分支的ceres,並解壓縮到ceres-solver/裏。

在這裏插入圖片描述
在這裏插入圖片描述

2、在make -j2, openMVS的時候,出現了下面的錯誤

/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 16%] Built target Common
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 23%] Built target Math
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 43%] Built target IO
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 68%] Built target MVS
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 73%] Built target InterfaceCOLMAP
[ 71%] Linking CXX executable ../../bin/InterfaceVisualSFM
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 75%] Linking CXX executable ../../bin/DensifyPointCloud
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/ld: warning: libjpeg.so.8, needed by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.9, may conflict with libjpeg.so.9
//usr/lib/x86_64-linux-gnu/libSM.so.6: undefined reference to `uuid_generate@UUID_1.0'
//usr/lib/x86_64-linux-gnu/libSM.so.6: undefined reference to `uuid_unparse_lower@UUID_1.0'
collect2: error: ld returned 1 exit status
apps/InterfaceVisualSFM/CMakeFiles/InterfaceVisualSFM.dir/build.make:136: recipe for target 'bin/InterfaceVisualSFM' failed
make[2]: *** [bin/InterfaceVisualSFM] Error 1
CMakeFiles/Makefile2:463: recipe for target 'apps/InterfaceVisualSFM/CMakeFiles/InterfaceVisualSFM.dir/all' failed
make[1]: *** [apps/InterfaceVisualSFM/CMakeFiles/InterfaceVisualSFM.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/usr/bin/ld: warning: libjpeg.so.8, needed by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.9, may conflict with libjpeg.so.9
//usr/lib/x86_64-linux-gnu/libSM.so.6: undefined reference to `uuid_generate@UUID_1.0'
//usr/lib/x86_64-linux-gnu/libSM.so.6: undefined reference to `uuid_unparse_lower@UUID_1.0'
collect2: error: ld returned 1 exit status
apps/DensifyPointCloud/CMakeFiles/DensifyPointCloud.dir/build.make:136: recipe for target 'bin/DensifyPointCloud' failed
make[2]: *** [bin/DensifyPointCloud] Error 1
CMakeFiles/Makefile2:521: recipe for target 'apps/DensifyPointCloud/CMakeFiles/DensifyPointCloud.dir/all' failed
make[1]: *** [apps/DensifyPointCloud/CMakeFiles/DensifyPointCloud.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

錯誤原因:
網上搜了搜,應該是因爲我裝了anaconda3,並且在~/.bashrc里加了anaconda3/lib到LD_LIBRARY_PATH環境變量的原因。

解決方法:
參考鏈接:https://blog.csdn.net/u014734886/article/details/93029349

在這裏插入圖片描述
按照鏈接裏把/usr/lib/x86_64-linux-gnu放在LD_LIBRARY_PATH環境變量裏(如上圖),解決了
/usr/bin/cmake: /home/ar443/anaconda3/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)問題,最後變成了這樣。
在這裏插入圖片描述
然後
按照鏈接裏的終極大法:把anaconda3/lib下的libuuid庫文件移走,命令如下圖:
在這裏插入圖片描述Note:我的是anaconda3,上面的命令裏的路徑要改一下。
然後就變成了
在這裏插入圖片描述
到此,openMVS就編譯成功了,然後就可以去bin下面快樂的玩耍,瞭如下圖所示。
在這裏插入圖片描述

但是在viewer還有點問題,如下圖,但是感覺和上面一樣移動libxxx庫就好了,因爲我沒有要用到viewer的需求,就不接着弄了。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章