我试图在docker容器上安装Quartus 13.0但我在libpng12 lib上遇到了麻烦。
builder@580847ded665:~$ ls -ld $(locate -r libpng.*\.so.*)
lrwxrwxrwx. 1 root root 18 Jan 6 2016 /lib/x86_64-linux-gnu/libpng12.so.0 -> libpng12.so.0.54.0
-rw-r--r--. 1 root root 149904 Jan 6 2016 /lib/x86_64-linux-gnu/libpng12.so.0.54.0
lrwxrwxrwx. 1 root root 35 Jan 6 2016 /usr/lib/x86_64-linux-gnu/libpng12.so.0 -> /lib/x86_64-linux-gnu/libpng12.so.0
builder@580847ded665:~$ xvfb-run -a /home/builder/altera/13.0/quartus/bin/tb2_install --enable
tb2_install: error while loading shared libraries: libpng12.so.0: cannot open shared object file: wrong ELF class: ELFCLASS64
问题是我有一个32位应用程序试图使用64位库,它不理解它。有谁可以帮我弄清楚如何解决这个问题?
答案 0 :(得分:1)
这就是您可以做的。
从下载libpng12-0
软件包
here.
现在转到下载文件夹,然后从那里打开终端。使用以下命令切换为超级用户:
sudo su
使用以下命令安装下载的软件包:
dpkg -i libpng12-0_1.2.50-1ubuntu2.14.04.3_amd64.deb; apt-get install -f
(程序包名称可以更改,请确保进行相应更改)。
如果出现这样的错误:
dpkg: error processing archive libpng12-0_1.2.50-1ubuntu2.14.04.3_amd64.deb (--install): trying to overwrite shared '/usr/share/doc/libpng12-0/changelog.Debian.gz'
这意味着您可能已在系统上安装了现有的libpng软件包,这会导致冲突。 这样做:
mv /usr/share/doc/libpng12-0 /usr/share/doc/libpng12-0.backup
这意味着您要将引起冲突的目录移动到另一个位置。
最后,
dpkg -i libpng12-0_1.2.50-1ubuntu2.14.04.3_amd64.deb; apt-get install -f
我的回答特定于仿生海狸和* 64体系结构。您可以查看上面提供的链接,以下载其他特定于体系结构的软件包。
希望这会有所帮助!
答案 1 :(得分:0)
尝试安装32位版本的libpng。在Debian上它应该是apt-get install libpng16-16:i386
之类的东西。如果tb2_install
继续选择64位版本,则可能需要更新LD_LIBRARY_PATH
以将32位路径放在64位路径之前。
另一种解决方案是使用64位Quartus安装程序。