JLe*_*nrp 2 64-bit shared-library 12.04
我正在尝试在我的 Ubuntu 12.04 x86_64 上运行 GCCG(纸牌游戏引擎的多平台实现),但我总是收到以下错误:
./ccg_client: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
当然,我认为该库被遗漏了,我尝试使用 apt-get 进行安装,但我意识到它已经安装了。
当我使用
$ locate -i libjpeg
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:
/usr/lib/i386-linux-gnu/libjpeg.so.8
/usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libjpeg.so
/usr/lib/x86_64-linux-gnu/libjpeg.so.62
/usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0
/usr/lib/x86_64-linux-gnu/libjpeg.so.8
/usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2
/usr/share/doc/libjpeg-turbo8
/usr/share/doc/libjpeg62
/usr/share/doc/libjpeg8
/usr/share/doc/libjpeg-turbo8/changelog.Debian.gz
/usr/share/doc/libjpeg-turbo8/copyright
/usr/share/doc/libjpeg62/README.gz
/usr/share/doc/libjpeg62/changelog.Debian.gz
/usr/share/doc/libjpeg62/copyright
/usr/share/doc/libjpeg8/changelog.Debian.gz
/usr/share/doc/libjpeg8/copyright
/usr/share/lintian/overrides/libjpeg-turbo8
/var/lib/dpkg/info/libjpeg-turbo8:amd64.list
/var/lib/dpkg/info/libjpeg-turbo8:amd64.md5sums
/var/lib/dpkg/info/libjpeg-turbo8:amd64.postinst
/var/lib/dpkg/info/libjpeg-turbo8:amd64.postrm
/var/lib/dpkg/info/libjpeg-turbo8:amd64.shlibs
/var/lib/dpkg/info/libjpeg-turbo8:amd64.symbols
/var/lib/dpkg/info/libjpeg-turbo8:i386.list
/var/lib/dpkg/info/libjpeg-turbo8:i386.md5sums
/var/lib/dpkg/info/libjpeg-turbo8:i386.postinst
/var/lib/dpkg/info/libjpeg-turbo8:i386.postrm
/var/lib/dpkg/info/libjpeg-turbo8:i386.shlibs
/var/lib/dpkg/info/libjpeg-turbo8:i386.symbols
/var/lib/dpkg/info/libjpeg62:amd64.list
/var/lib/dpkg/info/libjpeg62:amd64.md5sums
/var/lib/dpkg/info/libjpeg62:amd64.postinst
/var/lib/dpkg/info/libjpeg62:amd64.shlibs
/var/lib/dpkg/info/libjpeg8:amd64.list
/var/lib/dpkg/info/libjpeg8:amd64.md5sums
/var/lib/dpkg/info/libjpeg8:i386.list
/var/lib/dpkg/info/libjpeg8:i386.md5sums
Run Code Online (Sandbox Code Playgroud)
知道出了什么问题吗?
提前致谢!
您尝试运行的可执行文件是 32 位可执行文件吗?
该locate输出显示您的64位版本libjpeg.so.62(在/usr/lib/x86_64-linux-gnu),但如果可执行文件是32位的,不能使用。
您可以使用该file命令确定编译文件的架构。例如:
$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x214a38d0db472db559f0dabf0ae97f82fea83e03, stripped
Run Code Online (Sandbox Code Playgroud)
如果它说你有一个 32 位的可执行文件,那就是你的问题。
您可以使用以下命令安装相关库的 32 位版本:
sudo apt-get install libjpeg62:i386
Run Code Online (Sandbox Code Playgroud)