![“liblzma.so.0”从何而来?](https://linux22.com/image/1003925/%E2%80%9Cliblzma.so.0%E2%80%9D%E4%BB%8E%E4%BD%95%E8%80%8C%E6%9D%A5%EF%BC%9F.png)
我懂了:
error while loading shared libraries: liblzma.so.0: cannot open shared object file: No such file or directory
我试过:
sudo apt-get install liblzma5
sudo apt-get install liblzma-dev
但它们不起作用。如何安装缺少的共享库文件?
编辑:
我根据以下 docker 文件从头构建了我的系统。
FROM biocontainers/biocontainers:latest
USER root
RUN apt-get update
RUN apt-get install -y vim
RUN apt-get install -y sudo
RUN conda install -y bwa
RUN conda install -y GATK
RUN conda install -y samtools
RUN conda install -y picard=2.3.0
WORKDIR /protocol
答案1
liblzma.so.0
我认为是在 v5(大约在 2010 年发布)之前由旧版本的 liblzma 使用。
尝试编译 v4.999.9betahttps://tukaani.org/xz/old.html
符号链接liblzma.so.5
可能liblzma.so.0
会起作用,也可能会导致段错误或其他错误。
答案2
1. 从 tukaani.org 下载 xz-utils
2. 提取 tar 文件
$ tar -xvf xz-*.tar.gz
3. 构建
$ cd xz*
$ ./configure && make
4. 安装
$ sudo make install
5. 重新配置动态链接器绑定
$ sudo ldconfig /usr/local/lib
现在 pacman 应该可以再次工作了。使用 pacman 安装 xz-utils:
$ sudo pacman -S core/xz-utils
现在,您可以通过访问其源目录来卸载手动安装的 xz-utils:
$ sudo make uninstall
现在可以删除源目录和下载的 tarfile,并且一切都应该井然有序。
编辑:为了安全起见,在删除手动安装的数据包后再执行一次 pacman -S core/xz-utils。