当前位置:   article > 正文

解决问题: libbz2.so.1: cannot open shared object file: No such file or directory_./qt-unified-linux-x64-online.run: error while loa

./qt-unified-linux-x64-online.run: error while loading shared libraries: lib

解决问题:error while loading shared libraries: libbz2.so.1: cannot open shared object file: No such file or directory

问题背景


作者在Ubuntu18.04系统上在线安装QT5.151,当运行./qt-unified-linux-x64-4.2.0-online.run的时候报错。
提示缺少动态库文件libbz2.so.1,如下所示:

./qt-unified-linux-x64-4.2.0-online.run 
./qt-unified-linux-x64-4.2.0-online.run: error while loading shared libraries: libbz2.so.1: cannot open shared object file: No such file or directory
  • 1
  • 2

按照网上的说法,尝试着安装软件包apt-get install libbz2-dev,但是问题没有解决。

sudo apt-get install libbz2-dev
  • 1

解决方法

在网上查找资料,有博主对类似问题提出建议:从其他地方拷贝文件就能解决问题。
尝试以下方法,问题解决了。

首先,看看运行安装文件qt-unified-linux-x64-4.2.0-online.run,需要哪些依赖库。
运行ldd命令:

$ ldd ./qt-unified-linux-x64-4.2.0-online.run 
	linux-vdso.so.1 (0x00007ffe891f9000)
	libutil.so.1 => /lib64/libutil.so.1 (0x00007fbc10c7a000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fbc10a5d000)
	libbz2.so.1 => not found
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fbc10837000)
	libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fbc105f2000)
	libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fbc1033e000)
	libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007fbc100f1000)
	libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007fbc0fed6000)
	libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007fbc0fcd4000)
	libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fbc0faac000)
	libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fbc0f8a2000)
	libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fbc0f690000)
	libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fbc0f358000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fbc0efda000)
	libxkbcommon-x11.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon-x11.so.0 (0x00007fbc0edd2000)
	libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007fbc0eb93000)
	librt.so.1 => /lib64/librt.so.1 (0x00007fbc0e98b000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbc0e76c000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fbc0e568000)
	libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007fbc0e2dc000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fbc0df53000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbc0dd3b000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fbc0d985000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fbc10e7d000)
	libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fbc0d753000)
	libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007fbc0d521000)
	libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007fbc0d29d000)
	libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fbc0d099000)
	libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fbc0ce93000)
	libxcb-xkb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-xkb.so.1 (0x00007fbc0cc77000)
	libGLX.so.0 => /usr/lib/x86_64-linux-gnu/libGLX.so.0 (0x00007fbc0ca46000)
	libGLdispatch.so.0 => /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007fbc0c790000)
	liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007fbc0c574000)
	libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007fbc0c258000)
	libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fbc0c043000)
	libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fbc0be2e000)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

可以发现,

  1. libbz2.so.1 => not found。缺少这个文件。
  2. 这些关联的依赖库文件是存放在/lib/x86_64-linux-gnu/或者/lib64/目录里的。那么,是不是可以将libbz2.so.1复制到这些目录中呢?

用find命令查找libbz2.so.1文件:

sudo find / -name 'libbz2*' -ls
  1186166     68 -rw-r--r--   1 root     root        66728 74  2019 /lib/x86_64-linux-gnu/libbz2.so.1.0.4
  1186165      0 lrwxrwxrwx   1 root     root           15 1212 14:42 /lib/x86_64-linux-gnu/libbz2.so.1.0 -> libbz2.so.1.0.4
  1186164      0 lrwxrwxrwx   1 root     root           15 1212 14:42 /lib/x86_64-linux-gnu/libbz2.so.1 -> libbz2.so.1.0.4
  • 1
  • 2
  • 3
  • 4

可以发现,/lib/x86_64-linux-gnu/目录中有链接文件libbz2.so.1和动态库文件libbz2.so.1.0.4。
把这两个文件拷贝到/lib64/目录中,就可以运行安装文件./qt-unified-linux-x64-4.2.0-online.run了。

cd
sudo cp /lib/x86_64-linux-gnu/libbz2.so.1 /lib64/
sudo cp /lib/x86_64-linux-gnu/libbz2.so.1.0.4 /lib64/
./qt-unified-linux-x64-4.2.0-online.run
  • 1
  • 2
  • 3
  • 4

问题成功解决!


  1. Ubuntu18.04成功安装QT5.15的避坑步骤 ↩︎

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/200866
推荐阅读
相关标签
  

闽ICP备14008679号