安装 Cisco Packet Tracer 7.2.2 时加载共享库时出错:libQt5Sql.so.5

安装 Cisco Packet Tracer 7.2.2 时加载共享库时出错:libQt5Sql.so.5

最初,我在安装 Cisco Packet Tracer 7.2.2 后遇到了这个问题

user@linux:~$ /opt/pt/bin/PacketTracer7
/opt/pt/bin/PacketTracer7: error while loading shared libraries: libQt5WebKitWidgets.so.5: cannot open shared object file: No such file or directory
user@linux:~$ 

结果发现有 5 个库没有找到。

user@linux:~$ ldd /opt/pt/bin/PacketTracer7 | grep no
    libQt5WebKitWidgets.so.5 => not found
    libQt5WebKit.so.5 => not found
    libQt5Multimedia.so.5 => not found
    libQt5ScriptTools.so.5 => not found
    libQt5Sql.so.5 => not found
user@linux:~$ 

我按照 chili555 的建议,成功修复了其中 4 个 https://askubuntu.com/a/987765/769117

sudo apt install libqt5webkit5 libqt5multimedia5 libqt5printsupport5 libqt5script5 libqt5scripttools5 

然后,我启动了 PacketTracer7 并发现错过了另一个libQt5Sql.so.5

user@linux:~$ /opt/pt/bin/PacketTracer7 
/opt/pt/bin/PacketTracer7: error while loading shared libraries: libQt5Sql.so.5: cannot open shared object file: No such file or directory
user@linux:~$ 

再次检查ldd,确认libQt5Sql.so.5缺失。其他 4 个已在上次更新中修复。

user@linux:~$ ldd /opt/pt/bin/PacketTracer7 | grep no
    libQt5Sql.so.5 => not found
user@linux:~$ 

我尝试安装它,但没有成功

user@linux:~$ sudo apt install libQt5Sql
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libQt5Sql
user@linux:~$ 

我没有看到任何有用的syslog

user@linux:~$ cat /var/log/syslog | grep acket
user@linux:~$ 

我应该怎样修复此问题?

答案1

遇到了同样的问题。所有这些库都存在于 /opt/pt/bin 中,因此如果您从那里启动 PacketTracer,它就会工作。

ana@catalyst:/opt/pt/bin$ ./PacketTracer7

答案2

如果执行命令“ldd yourExecutable”之后,最后告诉你“libQt5Sql.so.5 => not found”,请执行命令:

apt-cache search libQt5Sql

搜索相关库,搜索结果:

libqt5sql5——Qt 5 SQL 模块

libqt5sql5-ibase - Qt 5 Firebird 数据库

驱动程序 libqt5sql5-mysql - Qt 5 MySQL 数据库驱动程序

libqt5sql5-odbc-Qt 5 ODBC 数据库驱动程序

libqt5sql5-psql - Qt 5 PostgreSQL 数据库驱动程序

libqt5sql5-sqlite - Qt 5 SQLite 3 数据库驱动程序

libqt5sql5-tds - Qt 5 FreeTDS 数据库驱动程序

从结果可以看出需要“libqt5sql5”。执行命令后:

sudo apt-get install libqt5sql5

将安装“libQt5Sql.so.5”。如果您想知道它安装在哪里,请执行命令

sudo find / -name "libQt5Sql.so.5"

如果需要往mysql中写入数据,还需要安装“libmysqlclient.so.21”,执行命令:

apt-cache search libmysqlclient

搜索相关库,搜索结果:

libmysqlclient-dev - MySQL 数据库开发文件

libmysqlclient21 - MySQL 数据库客户端库

default-libmysqlclient-dev - MySQL 数据库开发文件(元包)

libcrypt-mysql-perl - 用于模拟 MySQL PASSWORD() 函数的 Perl 模块

libglpk40 - 具有整数(MIP)支持的线性规划套件

librust-mysqlclient-sys-dev - 为 libmysqlclient 自动生成的 rust 绑定 - Rust 源代码

从结果中看到我们需要“libmysqlclient21”,执行命令后:

sudo apt-get install libmysqlclient21

将安装“libmysqlclient.so.21”。

相关内容