COLMAP安装遇到的报错


1前提

已经安装了ancoda ,这个是个巨坑,装了aconda严重影响后面安装

2-0 装eigen3

2-1装ceres

编译ceres时:error: ‘integer_sequence’ is not a member of ‘std‘错误

https://blog.csdn.net/qq_41586768/article/details/107541917

按照上安装的ceres库版本,以及网上大多数教程安装的版本都会和eigen3(3.3.7)有冲突,编译时会报如下错误:

这里换成1.14.0版本的ceres问题得以解决

 

2-2在编译时对libtiff4.0的未定义引用(Ubuntu 16.04)

5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFReadEncodedStrip@LIBTIFF_4.0'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFReadEXIFDirectory@LIBTIFF_4.0'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFFieldReadCount@LIBTIFF_4.0'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFSetTagExtender@LIBTIFF_4.0'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFCurrentDirectory@LIBTIFF_4.0'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFReadTile@LIBTIFF_4.0'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFSetDirectory@LIBTIFF_4.0'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFClientOpen@LIBTIFF_4.0'

 

最新更新:

根本不是什么5。0和4。0的本版问题,是因为aconda环境中的libtiff干扰了ubutu1604本身的libtiff,导致编译出问题。

1要么就先不要装acoda 

2装了acoda就先从环境中移除路径重新编译

  • 2-1 把aconda的文件夹名字随便改下,例如随便加个字母这样系统就找不到了
  • 2-2 可以在系统路径暂时删除aconda的路径,编译完
  • 先把保存一份 bashrc

    然后修改去掉aconda的路径:

    sudo gedit  ~/.bashrc
    (或者双击直接修改)

    然后把 最后 Anaconda 的路径前面加 # 给注释掉:

    # export PATH=/path/to/anaconda/bin:$PATH

    然后:

    source ~/.bashrc

还不行的话,再次基础上执行后面(我还没有尝试,我直接重新装了系统)

如果尚未安装所需的软件包,请安装它。如果具有所需的文件,但是路径不正确,则可以按照以下步骤进行操作。

就手动找到当前系统所有的libtiff.so路径

locate libtiff.so

 

 

(如果aconda还在系统中,这里会有很多个记录)

找到依赖文件后,下一步是用于替换文件其他位置的库文件的路径

找到依赖库

ldd /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so

 

 

 可以看到实际依赖的库的位置

手动逐个替换库(如果有多个位置的话),直到可以用的那个成功

您可以看到要替换的路径。有时系统中有多个可用项目,如果不确定要使用哪个项目,则可以尝试一下,直到找到正确的文件为止。

 要创建软链接,源文件位于ln命令的前面,后跟相关位置。 例如,

ln -sf /var/lib/docker/aufs/diff/07382a150bf28b01a386095ec78a8d2e92fbf670393b3bd16b6f8fbc2d159ae1/usr/lib/x86_64-linux-gnu/libtiff.so.5 /usr/lib/x86_64-linux-gnu/libtiff.so.5 

 最终重新编译,一般即可解决。 祝好运

 

 

-------------------------------------------------------------------------------(有问题的记录)------------------------------------------------------------------------------------

原来网址:

https://stackoom.com/question/34XM2/CMake-%E9%93%BE%E6%8E%A5libfreeimage-libtiff%E6%97%B6%E5%87%BA%E9%94%99

 

 

 

 

 

 

 

旧有的记录:

https://github.com/colmap/colmap/issues/188

需要的是4.0但是最新的是5.0

手动下载4.0源码编译

安装好的

 

 

重新编译colmap工程

 

 

 

其他说明: 

整个问题就是,因为提前装了anaconda3,他的路径和库干扰了系统自身默认的库和路径,导致安装编译的时候找库有问题,所以要去掉anaconda3的影响。

1 要么直接把anaconda3名字改了,导致找不到这个,也就不再用里面的配置。

 

 

完啦了再改回来

2 要么注销了aconda环境,安装完再回来(这个比较复杂,不建议)

 

 

3 camke的时候直接指定用系统的库而不是去adonda下面找(测试 cmake不再报错,但是后面make回报错)

 

 

SET(CMAKE_PREFIX_PATH "/usr/lib/x86_64-linux-gnu/cmake")

  

 

 

 

`TIFFReadDirectory@LIBTIFF_4.0‘未定义的引用 

  https://blog.csdn.net/zhh1997423/article/details/106297427?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.opensearch_close&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.opensearch_close

“undefined reference to `TIFFReadRGBAStrip@LIBTIFF_4.0'” 问题解决方法

libtiff管网上下载 tiff-4.0.4.tar.gz压缩包安装即可。安装方法如下:

    解压tar -zxvf tiff-4.0.4.tar.gz
    进入tiff目录
    ./configure
    make
    make install

网上有介绍通过sudo apt-get install libtiff4-dev安装,但是运行该命令后,提示libtiff4-dev已经被libtiff5-dev替代,只可安装libtiff5-dev,安装后并未解决问题。

 

解决方法:

        在安装与tiff有关的包,如opencv时候,把conda的系统引用从系统路径里面消除掉,然后再进行安装.

ctrl+h 显示隐藏

 

先把保存一份 bashrc

然后修改去掉aconda的路径:

sudo gedit  ~/.bashrc
(或者双击直接修改)

然后把 最后 Anaconda 的路径前面加 # 给注释掉:

# export PATH=/path/to/anaconda/bin:$PATH

然后:

source ~/.bashrc


 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM