从源代码构建后,如何更新整个系统内的 XZ-utils?

从源代码构建后,如何更新整个系统内的 XZ-utils?

我下载了XZ 实用程序从他们的网站,然后我使用./configure和构建它们make,这会创建一堆二进制文件。(我测试了它们,它们可以工作。)现在我想让这些新的二进制文件在整个系统范围内都可以访问。sudo make install但是,这样做是不行的,因为运行xz --version会显示旧版本。

我尝试将较新的xz二进制文件复制到/usr/bin,但这似乎没有帮助。

如何“更新” XZ 实用程序,以便xz在终端中输入即可获得新的二进制文件?

(我运行的是 Ubuntu 14.04)


编辑
type -a xz输出

xz is /home/diego/anaconda3/bin/xz  
xz is /usr/local/bin/xz  
xz is /usr/bin/xz  

xz --version输出

xz (XZ Utils) 5.0.5  
liblzma 5.0.5

/usr/bin/xz输出

xz (XZ Utils) 5.2.2  
liblzma 5.2.2  

(我认为这是因为我在这里复制了新的二进制文件)

/usr/local/bin/xz输出

/usr/local/bin/xz: /lib/x86_64-linux-gnu/liblzma.so.5: version `XZ_5.2' not found (required by /usr/local/bin/xz)

答案1

OP 在评论中给出了自己的解决方案:

我删除了 anaconda 二进制文件,然后运行sudo ldconfig(因为我收到了一些有关未找到新库的错误),现在xz --version 显示了新版本,并且可以正常工作。成功!

答案2

交叉发布我的解决方案 https://stackoverflow.com/questions/49741384/xzcat-version-xz-5-2-not-found/49741451#49741451

当我在为我小组中的其他开发人员工作的项目上运行 buildroot 时,我在 Ubuntu 16.04 上遇到了以下类似的错误。

如果我运行,我会得到同样的错误xz --version

xzcat: /lib/x86_64-linux-gnu/liblzma.so.5: version 'XZ_5.2' not found (required by xzcat)

我可以通过安装 xz 稳定版本 5.2.3(2016-12-30)来解决此问题。

感谢这里的说明,以及 ldconfig:https://blog.csdn.net/xhoufei2010/article/details/51280249

步骤摘要:

从以下网址下载并提取 xz-5.2.3.tar.gzhttp://tukaani.org/xz/

cd xz-5.2.3
./configure --enable-shared
make
sudo make install
sudo ldconfig

相关内容