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?