在没有Nvidia的系统上运行应用程序

时间:2020-10-05 11:07:02

标签: linux nvidia dependency-management

我已经使用Qt框架构建了一个可执行文件,并且希望将文件发送给客户。我和客户都拥有Ubuntu 20.04和Qt 5.13.1。为了确保我的程序在客户PC上运行,我使用了ldd命令,它给了我以下内容:

linux-vdso.so.1 (0x00007fff614aa000)
libqwt-qt5.so.6 => /lib/libqwt-qt5.so.6 (0x00007fcc1e8e6000)
libQt5Widgets.so.5 => /home/rahimi/Programs/Qt5.13.1/5.13.1/gcc_64/lib/libQt5Widgets.so.5 (0x00007fcc1e092000)
libQt5Multimedia.so.5 => /home/rahimi/Programs/Qt5.13.1/5.13.1/gcc_64/lib/libQt5Multimedia.so.5 (0x00007fcc1dd82000)
libQt5Gui.so.5 => /home/rahimi/Programs/Qt5.13.1/5.13.1/gcc_64/lib/libQt5Gui.so.5 (0x00007fcc1d536000)
libQt5Sql.so.5 => /home/rahimi/Programs/Qt5.13.1/5.13.1/gcc_64/lib/libQt5Sql.so.5 (0x00007fcc1d2ee000)
libQt5Qml.so.5 => /home/rahimi/Programs/Qt5.13.1/5.13.1/gcc_64/lib/libQt5Qml.so.5 (0x00007fcc1cc4e000)
libQt5Network.so.5 => /home/rahimi/Programs/Qt5.13.1/5.13.1/gcc_64/lib/libQt5Network.so.5 (0x00007fcc1c89c000)
libQt5Core.so.5 => /home/rahimi/Programs/Qt5.13.1/5.13.1/gcc_64/lib/libQt5Core.so.5 (0x00007fcc1c0ed000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fcc1bf0c000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fcc1bdbd000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fcc1bda2000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcc1bbb0000)
libQt5Svg.so.5 => /lib/x86_64-linux-gnu/libQt5Svg.so.5 (0x00007fcc1bb52000)
libQt5OpenGL.so.5 => /lib/x86_64-linux-gnu/libQt5OpenGL.so.5 (0x00007fcc1baf6000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fcc1bad3000)
libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007fcc1b787000)
libpulse-mainloop-glib.so.0 => /lib/x86_64-linux-gnu/libpulse-mainloop-glib.so.0 (0x00007fcc1b781000)
libpulse.so.0 => /lib/x86_64-linux-gnu/libpulse.so.0 (0x00007fcc1b72c000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fcc1b601000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fcc1b5e5000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fcc1b5da000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fcc1b5d4000)
libicui18n.so.56 => /home/rahimi/Programs/Qt5.13.1/5.13.1/gcc_64/lib/libicui18n.so.56 (0x00007fcc1b13b000)
libicuuc.so.56 => /home/rahimi/Programs/Qt5.13.1/5.13.1/gcc_64/lib/libicuuc.so.56 (0x00007fcc1ad81000)
libicudata.so.56 => /home/rahimi/Programs/Qt5.13.1/5.13.1/gcc_64/lib/libicudata.so.56 (0x00007fcc1939e000)
libgthread-2.0.so.0 => /lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007fcc19399000)
/lib64/ld-linux-x86-64.so.2 (0x00007fcc1f099000)
libnvidia-tls.so.340.108 => /lib/x86_64-linux-gnu/tls/libnvidia-tls.so.340.108 (0x00007fcc19196000)
libnvidia-glcore.so.340.108 => /lib/x86_64-linux-gnu/libnvidia-glcore.so.340.108 (0x00007fcc16582000)
libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007fcc16443000)
libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007fcc1642e000)
libpulsecommon-13.99.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so (0x00007fcc163ae000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007fcc1635d000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fcc162ea000)
libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fcc162be000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007fcc16211000)
libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007fcc16205000)
libsndfile.so.1 => /lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007fcc16188000)
libasyncns.so.0 => /lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007fcc15f82000)
libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007fcc15f7a000)
libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fcc15f72000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fcc15f49000)
liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007fcc15f28000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007fcc15e0a000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007fcc15ded000)
libFLAC.so.8 => /lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007fcc15daf000)
libogg.so.0 => /lib/x86_64-linux-gnu/libogg.so.0 (0x00007fcc15da0000)
libvorbis.so.0 => /lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007fcc15d72000)
libvorbisenc.so.2 => /lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007fcc15cc7000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fcc15cab000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fcc15c91000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fcc15c6e000)

依赖项中有libnvidia-tls.so.340.108libnvidia-glcore.so.340.108。但是,当我使用readelf -d executable | grep NEEDED命令时,输出为:

0x0000000000000001 (NEEDED)             Shared library: [libqwt-qt5.so.6]
0x0000000000000001 (NEEDED)             Shared library: [libQt5Widgets.so.5]
0x0000000000000001 (NEEDED)             Shared library: [libQt5Multimedia.so.5]
0x0000000000000001 (NEEDED)             Shared library: [libQt5Gui.so.5]
0x0000000000000001 (NEEDED)             Shared library: [libQt5Sql.so.5]
0x0000000000000001 (NEEDED)             Shared library: [libQt5Qml.so.5]
0x0000000000000001 (NEEDED)             Shared library: [libQt5Network.so.5]
0x0000000000000001 (NEEDED)             Shared library: [libQt5Core.so.5]
0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

我的问题是,如果我的客户没有NVIDIA图形卡和库,他/她能够执行我的应用程序吗? 我已经进行了搜索,但是结果大部分与CUDA lib有关,这与我在这里的情况无关。 谢谢。

0 个答案:

没有答案