您尚未登录。

#1 2022-09-22 17:43:06

Nirlvy
会员
注册时间: 2022-07-06
帖子: 57

一个库的两个版本分别被两个不同包使用

boost和boost-libs库,fcitx需要1.80版本,ros-noetic-desktop-full(安装是本地编译的,估计安装的时候是1.79)需要1.79版本
如果不一致会导致输入法pinyin(不可用),或者后者跑的时候cmake报错误2
fcitx报错Failed to load library for addon pinyinhelper on /usr/lib/fcitx5/libpinyinhelper.so. Error: libboost_iostreams.so.1.80.0: 无法打开共享对象文件: 没有那个文件或目录
后者warning:make[2]: *** 没有规则可制作目标“/usr/lib/libboost_chrono.so.1.79.0”,由“/home/nirlvy/catkin_ws/devel/lib/learning_communication/client” 需求。 停止。
有什么办法让他们使用同样版本的包吗,ros我是不想再重新编译一遍了,第一次编译花了55分钟,降级fcitx发现它还是要求1.80,求解。

离线

#2 2022-09-22 18:18:45

CoelacanthusHex
会员
注册时间: 2021-01-11
帖子: 10
个人网站

Re: 一个库的两个版本分别被两个不同包使用

给你个稳妥的方案,弄一个 boost-libs 1.79,然后用 LD_LIBRARY 灌给 ros,不要乱动系统包的版本。

离线

#3 2022-09-22 18:42:51

sukanka
会员
所在地: Amoy, China
注册时间: 2020-04-05
帖子: 172
个人网站

Re: 一个库的两个版本分别被两个不同包使用

建议你给 aur 维护者提issue, 这种一般要patch 一下, 让它使用系统的 boost-libs(即1.80版本)

最近编辑记录 sukanka (2022-09-22 18:43:02)

在线

#4 2022-09-22 18:44:35

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,919
个人网站

Re: 一个库的两个版本分别被两个不同包使用

既然是本地编译的,那你试试对着新版本编译一下呢?

离线

#5 2022-09-22 19:00:51

sukanka
会员
所在地: Amoy, China
注册时间: 2020-04-05
帖子: 172
个人网站

Re: 一个库的两个版本分别被两个不同包使用

你可以去用 arch4edu

➜  ~ yay -Ss ros-noetic-desktop-full
arch4edu/ros-noetic-desktop-full 1.5.0-1 [0B 838B]
    ROS - A metapackage to aggregate several packages.
aur/ros-noetic-desktop-full 1.5.0-1 [+6 ~0.02]
    ROS - A metapackage to aggregate several packages.

在线

#6 2022-09-22 19:54:40

Nirlvy
会员
注册时间: 2022-07-06
帖子: 57

Re: 一个库的两个版本分别被两个不同包使用

CoelacanthusHex 说:

给你个稳妥的方案,弄一个 boost-libs 1.79,然后用 LD_LIBRARY 灌给 ros,不要乱动系统包的版本。

fctix需求是1.80,请问怎么ld?查了下没太明白

离线

#7 2022-09-22 23:18:14

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,919
个人网站

Re: 一个库的两个版本分别被两个不同包使用

CoelacanthusHex 说:

给你个稳妥的方案,弄一个 boost-libs 1.79,然后用 LD_LIBRARY 灌给 ros,不要乱动系统包的版本。

没必要。boost 不同版本的库可以共存的,直接丢 /usr/local/lib 下然后 ldconfig 弄一下就行。

离线

页脚