错误 libgtk-3.so.0 未安装,即使它位于 /usr/lib/x86_64-linux-gnu

错误 libgtk-3.so.0 未安装,即使它位于 /usr/lib/x86_64-linux-gnu

我正在尝试安装 CAN模拟器软件与 GTK 一起使用时,我总是收到错误。

CANMate:加载共享库时出错:libgtk-3.so.0:无法打开共享对象文件:没有此文件或目录

但是当apt说 libgtk-3 已安装时:

$ sudo apt install libgtk-3-0 libgtk-3-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libgtk-3-0 is already the newest version (3.22.30-1ubuntu1).
libgtk-3-dev is already the newest version (3.22.30-1ubuntu1).

并且可以在里面找到共享库/usr/lib/x86_64-linux-gnu

$ ls | grep libgtk-3
libgtk-3-0
libgtk-3.so
libgtk-3.so.0
libgtk-3.so.0.2200.30

我认为安装文件在安装时CANMatev1.3.deb无法找到共享。lib

你能帮我解决这个错误吗?

答案1

凭直觉,让我们看看问题是否出在应用程序是 32 位的

  • 将 deb 解压到本地目录

    $ mkdir ./tmproot
    $ dpkg -x CANMAte_V1.3_Linux/deb/CANMatev1.3.deb ./tmproot
    
  • 检查应用程序二进制文件

    $ file ./tmproot/usr/bin/CANMate 
    ./tmproot/usr/bin/CANMate: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=061c53b0a1b07aca998506681c2a93039181979e, not stripped
    

因此,由于您使用的是 64 位操作系统,因此您需要启用多架构并安装任何所需库的 32 位版本

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libgtk-3-0:i386

也可以看看如何在 64 位 Ubuntu 中运行 32 位应用程序?

相关内容