shared-libraries - libGL 开放驱动程序 : "undefined symbol: amdgpu_query_sensor_info", glxgears 工作正常

标签 shared-libraries qt-creator amd-gpu

我的配置:

t@t:/$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:    16.04
Codename:   xenial

我尝试运行与 libGL 一起使用的 QTCreator,但它崩溃并出现以下错误:
t@t:/$LIBGL_DEBUG=verbose qtcreator 

(qtcreator:14537): Gtk-WARNING **: Impossible de trouver le moteur de thème dans module_path : « adwaita »

(qtcreator:14537): Gtk-WARNING **: Impossible de trouver le moteur de thème dans module_path : « adwaita »
libGL: pci id for fd 22: 1002:67ef, driver radeonsi
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
libGL: dlopen /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so failed (/usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so: undefined symbol: amdgpu_query_sensor_info)
libGL: OpenDriver: trying ${ORIGIN}/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying ${ORIGIN}/dri/radeonsi_dri.so
libGL: dlopen ${ORIGIN}/dri/radeonsi_dri.so failed (/usr/bin/../lib/x86_64-linux-gnu/qtcreator/../dri/radeonsi_dri.so: undefined symbol: amdgpu_query_sensor_info)
libGL: OpenDriver: trying /usr/lib/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/dri/radeonsi_dri.so
libGL: dlopen /usr/lib/dri/radeonsi_dri.so failed (/usr/lib/dri/radeonsi_dri.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type)
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL: pci id for fd 22: 1002:67ef, driver radeonsi
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
libGL: dlopen /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so failed (/usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so: undefined symbol: amdgpu_query_sensor_info)
libGL: OpenDriver: trying ${ORIGIN}/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying ${ORIGIN}/dri/radeonsi_dri.so
libGL: dlopen ${ORIGIN}/dri/radeonsi_dri.so failed (/usr/bin/../lib/x86_64-linux-gnu/qtcreator/../dri/radeonsi_dri.so: undefined symbol: amdgpu_query_sensor_info)
libGL: OpenDriver: trying /usr/lib/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/dri/radeonsi_dri.so
libGL: dlopen /usr/lib/dri/radeonsi_dri.so failed (/usr/lib/dri/radeonsi_dri.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type)
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: dlopen /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so failed (/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: undefined symbol: amdgpu_query_sensor_info)
libGL: OpenDriver: trying ${ORIGIN}/dri/tls/swrast_dri.so
libGL: OpenDriver: trying ${ORIGIN}/dri/swrast_dri.so
libGL: dlopen ${ORIGIN}/dri/swrast_dri.so failed (/usr/bin/../lib/x86_64-linux-gnu/qtcreator/../dri/swrast_dri.so: undefined symbol: amdgpu_query_sensor_info)
libGL: OpenDriver: trying /usr/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so
libGL: dlopen /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type)
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
QQuickWidget: Failed to make context current
QQuickWidget::resizeEvent() no OpenGL context

我运行 glxgears,它可以工作(我看到轮子在移动),它显示了它使用的驱动程序:
t@t:/$ LIBGL_DEBUG=verbose glxgears -info
libGL: DRI3 is disabled, try running in DRI2 mode.
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/amdgpu_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/amdgpu_dri.so
GL_RENDERER   = AMD Radeon (TM) RX 460 Graphics
GL_VERSION    = 4.5.13453 Compatibility Profile Context 16.40.5
GL_VENDOR     = ATI Technologies Inc.

我尝试创建一个符号链接(symbolic link)以使 QTCreator 使用与 glxgears 相同的库:
t@t:/$ sudo mv /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so.old
t@t:/$ sudo ln -s /usr/lib/x86_64-linux-gnu/dri/amdgpu_dri.so /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
t@t:/$ LIBGL_DEBUG=verbose qtcreator 

(qtcreator:22657): Gtk-WARNING **: Impossible de trouver le moteur de thème dans module_path : « adwaita »

(qtcreator:22657): Gtk-WARNING **: Impossible de trouver le moteur de thème dans module_path : « adwaita »
libGL: pci id for fd 22: 1002:67ef, driver radeonsi
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
Erreur de segmentation (core dumped)

这是我所有的 libGL.so 文件:
t@t:/$ find /usr -iname "*libGL.so*" -exec ls -l -- {} + 
lrwxrwxrwx 1 root root     14 janv. 29 20:49 /usr/lib/i386-linux-gnu/mesa/libGL.so.1 -> libGL.so.1.2.0
-rw-r--r-- 1 root root 453128 janv. 29 20:50 /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0
lrwxrwxrwx 1 root root     13 janv. 29 21:07 /usr/lib/x86_64-linux-gnu/libGL.so -> mesa/libGL.so
lrwxrwxrwx 1 root root     16 févr.  6 06:37 /usr/lib/x86_64-linux-gnu/libGL.so.1 -> libGL.so.renamed
lrwxrwxrwx 1 root root     13 janv. 13 09:41 /usr/lib/x86_64-linux-gnu/libGL.so.renamed -> mesa/libGL.so
lrwxrwxrwx 1 root root     14 janv. 29 21:07 /usr/lib/x86_64-linux-gnu/mesa/libGL.so -> libGL.so.1.2.0
lrwxrwxrwx 1 root root     14 janv. 29 21:07 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 -> libGL.so.1.2.0
-rw-r--r-- 1 root root 467520 janv. 29 21:08 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0

那么我应该怎么做才能使用与 glxgears 相同的 libGL 库来制作 QTCreator?

最佳答案

删除符号链接(symbolic link)以避免分段问题等问题并尝试安装:

apt-get intall -y mesa-utils and libgl1-mesa-glx

关于shared-libraries - libGL 开放驱动程序 : "undefined symbol: amdgpu_query_sensor_info", glxgears 工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48922555/

相关文章:

ubuntu - 在 Ubuntu 14.04、64 位中使用 Nvidia *和* AMD GPU 进行 OpenCL 开发

Android NDK 链接

c - 如何在 R 中创建用于测试和生产环境的单个共享对象(C 语言)

android - 如何分析.so文件? [安卓/Linux]

dll - 如果我仍然需要 .dll 和 .pri 文件,那么使用 .winmd 库有什么意义?

c++ - 将 QT Creator 5.8 与 MSVC 2015 编译器结合使用

c++ - 如何在 Qt-Creator 中正确使用 mpfr/gmp?

git - 如何将本地 Git 仓库推送到新创建的 Google Code 项目?

machine-learning - 尝试在 290X 上设置机器学习库

macos - 如何使用 OSX 在 AMD GPU 上获取 OpenCL 内核的汇编代码