ubuntu18.4上安装colmap踩坑记录

首先第一步,安装依赖直接执行,没问题:

sudo apt-get install \
    git \
    cmake \
    build-essential \
    libboost-program-options-dev \
    libboost-filesystem-dev \
    libboost-graph-dev \
    libboost-system-dev \
    libboost-test-dev \
    libeigen3-dev \
    libsuitesparse-dev \
    libfreeimage-dev \
    libmetis-dev \
    libgoogle-glog-dev \
    libgflags-dev \
    libglew-dev \
    qtbase5-dev \
    libqt5opengl5-dev \
    libcgal-dev
sudo apt-get install libcgal-qt5-dev

然后是安装 Ceres Solver:

sudo apt-get install libatlas-base-dev libsuitesparse-dev
git clone https://ceres-solver.googlesource.com/ceres-solver
cd ceres-solver
git checkout $(git describe --tags) # Checkout the latest release
mkdir build
cd build
cmake .. -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF
make -j
sudo make install

make -j的时候我电脑卡了,然后全部程序自动推出,我查了一下是内存炸了,然后我就去找编译好的文件,但是只找到windows的,吐了,我琢磨这能不能让cpu慢一点这样内存就不会在短时间内炸掉,于是我把make -j 改为make -j8.然后成功编译。
接着来到了COLMAP的编译:

git clone https://github.com/colmap/colmap.git
cd colmap
git checkout dev
mkdir build
cd build
cmake ..
make -j
sudo make install

采用make -j8,然后make出错,麻了,我没学过cmake,这出错我都不知道怎么改,瞅了一眼,好像说什么被弃用, 没有规则可制作目标“/usr/local/cuda-11.6/lib64/libcudart_static.a”,由“src/exe/colmap” 需求。 停止".难道是我的cuda版本太新了,导致不兼容。然后我就去网上找方法卸载,很多都说要执行什么uninstall,但我这压根就没有这个文件,最后是看了https://gene2022.blog.csdn.net/article/details/120849991 这个,卸载完后,下载10.2版本的,结果无论我怎么搞下的还是11.6的,没办法我就下载了官网上提供的run文件,然后执行,那个文件里带了显卡驱动又由于我的电脑上已经有显卡驱动了,所以第一次直接没安成功,然后网上说要去掉驱动,但是我看个那个[x]不知道怎么搞,回车了一下,那个[x]就变成了[]然后我点安装然后就安装成功了,在终端中敲入nvcc --version显示的是10.2的成功!,我继续make -j8然后又报错了,不过这次没了启用,但是有没有规则可制作目标“/usr/local/cuda-11.6/lib64/libcudart_static.a”,由“src/exe/colmap” 需求。 停止"。吐了,11.6还没卸载干净,我报colmap文件删除,重新来了一遍,结果还是这样,没办法,我打算把colmap里所有cuda-11.6换成cuda-10.2,进入colmap目录下执行sed -i ‘s/cuda-11.6/cuda-10.2/g’ grep ‘cuda-11.6’ -rl ./
成功替换,我自信慢慢地有敲入make -j8,然后又又又报错了,这次是没有规则可制作目标“/usr/local/cuda-11.6/lib64/libcublas.so”,由“src/exe/colmap” 需求。
好家伙,换了个文件报错,那说明之前的应该是解决了。我去/usr/local/cuda-11.6/lib64/下找了一下,没有这个文件,上网查了一下资料发现10版本后发现这个文件跑到了/usr/lib/x86_64-linux-gnu/libcublas.so。我听信网上的方法,在/usr/local/cuda-11.6/lib64/建立了它的软链接,再次自信地敲入make -j8,哭了,还是同一个报错😃,我想着直接复制过去吧,手贱把 sudo cp /usr/lib/x86_64-linux-gnu/libcublas.so /usr/local/cuda-11.6/lib64/libcublas.so的cp敲成了mv,然后那边因为存在软连接没替换调,这边又没了,完了,我重新删除cuda10.2并安装,这次我先进入/usr/local/cuda-11.6/lib64/执行sudo rm libcublas.so然后sudo cp /usr/lib/x86_64-linux-gnu/libcublas.so /usr/local/cuda-11.6/lib64/libcublas.so。再次运行make -j8,这次终于成功了。可惜我在ubuntu上没安装截图软件不能记录这一刻的喜悦。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值