【问题标题】:libpng12.so.0: cannot open shared object file: wrong ELF class: ELFCLASS64libpng12.so.0:无法打开共享对象文件:错误的 ELF 类:ELFCLASS64
【发布时间】:2017-12-21 11:01:49
【问题描述】:

我正在尝试在 docker 容器上安装 Quartus 13.0,但我遇到了 libpng12 库的问题。

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 位库,但它不理解它。谁能帮我弄清楚如何解决这个问题?

【问题讨论】:

    标签: linux docker shared-libraries quartus


    【解决方案1】:

    这是你可以做的。 下载libpng12-0here.

    现在转到您下载它的文件夹并从那里打开终端。切换到超级用户使用:

    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
    

    我的回答是针对 Bionic beaver 和 *64 架构的。您可以查看上面提供的链接以下载其他特定于架构的软件包。

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      尝试安装 32 位版本的 libpng。在 Debian 上,它应该类似于 apt-get install libpng16-16:i386。如果 tb2_install 一直选择 64 位版本,您可能需要更新 LD_LIBRARY_PATH 以将 32 位路径放在 64 位路径之前。

      另一种解决方案是使用 64 位 Quartus 安装程序。

      【讨论】:

      • 我已经尝试过这种方式,但它仍然失败......所以,我只是用基本包从 32 位/debian 构建了一个新的 docker 映像,并用安装的 quartus 13.0 构建了一个新的.0.156 超过它。它在 qatsi/repo 下可用。谢谢!
      猜你喜欢
      • 2019-04-23
      • 2014-04-30
      • 2019-08-07
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多