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?