最初,我在安装 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”。