不兼容的Qt库和CUDA工具包

3

我有一个全新安装的Ubuntu 22.04(实际上是Pop OS,同一版本)

我已经从Ubuntu存储库中安装了CUDA工具包,它安装的是11.5版本。

操作系统和CUDA工具包是安装的第一件事情,因此我没有尝试过不同版本、其他Qt软件等。

我可以编写CUDA代码,编译并运行得很好,安装似乎也没问题。但是,如果我尝试运行nsight-sys或ncu-ui,则会收到错误消息。

Cannot mix incompatible Qt library (5.15.3) with this library (5.15.2)

这是由于什么引起的?几天前,它实际上抱怨将5.13.3与5.13.2进行比较,因此似乎在两个错误版本之间发生了任何Qt更新?

我如何使用我系统中安装的任何Qt库运行CUDA调试工具?


你安装了哪个Qt版本?Cuda Debian软件包依赖于哪个版本?ldd ncu-ui对于Qt显示什么?(在问题中编辑此信息)。 - hyde
无论如何,尝试使用apt-get source获取你已安装的CUDA包,并尝试自行编译。搜索如何从源代码构建debian软件包应该很容易,然后构建也应该很容易。 - hyde
1个回答

5
这是一个nsight-compute / nsight-systems软件包问题。作为解决方法,您可以按照以下4个步骤手动导入导致冲突的库(libQt5Network.so)从this Debian package
  1. 从Debian存储库下载libqt5network5(来自Qt 5.15.2)软件包
$ wget -q 'http://ftp.de.debian.org/debian/pool/main/q/qtbase-opensource-src/libqt5network5_5.15.2+dfsg-9_amd64.deb'
  1. 提取软件包
$ dpkg -x libqt5network5_5.15.2+dfsg-9_amd64.deb .
  1. 将缺失的库及其关联的符号链接复制到 Nsight Compute 安装目录
$ sudo cp -P usr/lib/x86_64-linux-gnu/libQt5Network.so* /usr/lib/nsight-compute/host/linux-desktop-glibc_2_11_3-x64/
  1. 将缺失的库及其关联的符号链接复制到 Nsight Systems 安装目录
$ sudo cp -P usr/lib/x86_64-linux-gnu/libQt5Network.so* /usr/lib/nsight-systems/host-linux-x64/

按照这些步骤后,工具将正常启动。


谢谢!它可以工作。我得学会自己跟踪特定版本。 - MyUserIsThis
太棒了,感谢您的报告!我使用strace跟踪了这个问题,并检查了所有对open/openat的调用。这是一个非常强大的工具,可以帮助我们理解程序的运行情况,因为系统调用(在某些情况下还包括内存I/O)是程序进行计算以外操作的唯一方式。 - Anis Ladram

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接