driver-storage: undefined symbols in libvirt_storage_backend_*.so

Hello everyone, There are lots of undefined symbols in /usr/lib64/libvirt/storage-backend/libvirt_storage_backend_*.so. For example, # ldd -r /usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so linux-vdso.so.1 (0x0000ffff97901000) ... libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x0000ffff9555a000) undefined symbol: virStorageBackendRefreshLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendDeleteLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolBuildLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolBuildFromLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolCreateLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolRefreshLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolDeleteLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolResizeLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolUploadLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolDownloadLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolWipeLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendFileSystemMountCmd (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendFindGlusterPoolSources (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendRegister (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendNamespaceInit (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendDeviceIsEmpty (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendFileSystemGetPoolSource (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendBuildLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) All the undefined symbols are defined in libvirt_driver_storage.so. And libvirt_storage_backend_*.so are loaded by virStorageDriverLoadBackendModule in libvirt_driver_storage.so. So there is no error when using. Shall we add libvirt_driver_storage.so to the shared object dependencies of libvirt_storage_backend_*.so?

On Mon, Jun 15, 2020 at 02:20:33AM +0000, liangpeng (H) wrote:
Hello everyone, There are lots of undefined symbols in /usr/lib64/libvirt/storage-backend/libvirt_storage_backend_*.so. For example,
# ldd -r /usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so linux-vdso.so.1 (0x0000ffff97901000) ... libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x0000ffff9555a000) undefined symbol: virStorageBackendRefreshLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendDeleteLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolBuildLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolBuildFromLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolCreateLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolRefreshLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolDeleteLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolResizeLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolUploadLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolDownloadLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendVolWipeLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendFileSystemMountCmd (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendFindGlusterPoolSources (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendRegister (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendNamespaceInit (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendDeviceIsEmpty (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendFileSystemGetPoolSource (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so) undefined symbol: virStorageBackendBuildLocal (/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so)
All the undefined symbols are defined in libvirt_driver_storage.so. And libvirt_storage_backend_*.so are loaded by virStorageDriverLoadBackendModule in libvirt_driver_storage.so. So there is no error when using.
Shall we add libvirt_driver_storage.so to the shared object dependencies of libvirt_storage_backend_*.so?
No, as you say just a line above, there is no error when loading this at runtime, so there is nothing to fix. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
participants (2)
-
Daniel P. Berrangé
-
liangpeng (H)