Ubuntu 16.04.4 Xenial安装Ceres共享库失败求助
解决Ubuntu 16.04安装Ceres共享库时PPA 404的问题
嘿,我碰到过类似的坑,那个PPA已经不再支持Ubuntu 16.04 Xenial版本了,所以才会抛出404错误。下面是一步步的解决方法:
1. 先移除无效的PPA
首先得把这个找不到资源的PPA从你的源列表里删掉,避免后续更新一直报错:
- 执行命令:
sudo add-apt-repository --remove ppa:bzindovic/suitesparse-bugfix-1319687 - 然后更新源:
sudo apt-get update
2. 安装Ceres的依赖项
Ceres需要的suitesparse在Ubuntu 16.04的官方源里已经有可用版本,完全不需要依赖那个废弃的PPA。直接安装所有基础依赖:
- 运行:
sudo apt-get install libgoogle-glog-dev libgflags-dev libatlas-base-dev libsuitesparse-dev
如果后续编译Ceres时提示suitesparse版本不够,你可以手动编译最新版的suitesparse:
- 下载suitesparse源码(去官方项目页面获取对应版本)
- 解压后进入源码目录,执行
make - 安装:
sudo make install - 最后把安装路径加入环境变量:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH(可以把这句加到~/.bashrc里永久生效)
3. 编译安装Ceres共享库
接下来编译Ceres的时候,一定要指定编译共享库的选项:
- 下载Ceres源码(选择适合Xenial的版本,比如1.14.0)
- 创建并进入build目录:
mkdir build && cd build - 配置cmake,开启共享库编译:
cmake -DBUILD_SHARED_LIBS=ON ..这里的
BUILD_SHARED_LIBS=ON是关键,确保生成的是共享库而非静态库 - 编译(用多核加速):
make -j$(nproc) - 安装:
sudo make install
4. 验证安装
安装完成后,可以检查共享库是否成功安装:
- 执行:
ldconfig -p | grep ceres
如果输出里有libceres.so相关的条目,就说明共享库安装成功了。
内容的提问来源于stack exchange,提问作者Pavel Sedlář
相关产品推荐
相关产品推荐

