如何在Ubuntu 20.04 Focal上安装Ubuntu 14.04 Trusty的libboost-dev 1.54?
在Ubuntu 20.04上安装libboost-dev 1.54的解决方案
由于Ubuntu 20.04官方源不提供libboost-dev 1.54版本,直接添加旧版本源易因依赖冲突或源失效失败,以下两种方案可解决问题:
方法一:手动下载并安装Debian包(需谨慎处理依赖)
- 下载对应架构的deb包(以amd64为例):
wget http://archive.ubuntu.com/ubuntu/pool/main/b/boost1.54/libboost1.54-dev_1.54.0-4ubuntu3_amd64.deb wget http://archive.ubuntu.com/ubuntu/pool/main/b/boost1.54/libboost-dev_1.54.0-4ubuntu3_amd64.deb
- 尝试安装:
sudo dpkg -i libboost1.54-dev_1.54.0-4ubuntu3_amd64.deb libboost-dev_1.54.0-4ubuntu3_amd64.deb
- 若出现依赖缺失错误,需从Ubuntu 14.04仓库下载对应依赖包(如旧版本libstdc++6)一并安装。注意:替换系统核心库可能导致稳定性问题,需谨慎操作。
方法二:从源码编译本地安装(推荐,无系统依赖冲突)
此方式将boost 1.54安装到独立目录,不会覆盖系统默认的boost版本:
- 下载boost 1.54源码包:
wget https://sourceforge.net/projects/boost/files/boost/1.54.0/boost_1_54_0.tar.gz
- 解压并进入源码目录:
tar xzf boost_1_54_0.tar.gz cd boost_1_54_0
- 安装编译所需依赖:
sudo apt-get install build-essential g++ python3-dev
- 配置编译参数,指定独立安装路径:
./bootstrap.sh --prefix=/usr/local/boost-1.54
- 编译并安装:
./b2 install
- 让遗留软件使用该版本boost:
- 若软件为自行编译,编译时指定头文件和库路径:
g++ your_app.cpp -o your_app -I/usr/local/boost-1.54/include -L/usr/local/boost-1.54/lib -lboost_system # 替换boost_system为实际需要的库
- 若软件为预编译版本,临时设置库路径:
export LD_LIBRARY_PATH=/usr/local/boost-1.54/lib:$LD_LIBRARY_PATH
- 若需永久生效,编辑
~/.bashrc或/etc/profile,添加上述export命令后执行source ~/.bashrc生效。
注意事项
- 禁止替换系统默认的boost库,否则会破坏依赖新版本boost的系统软件。
- 优先选择源码编译方式,避免旧deb包依赖问题引发系统故障。
内容的提问来源于stack exchange,提问作者João Casarin
相关产品推荐
相关产品推荐

