GNOME Bugzilla – Bug 148348
ABI breakage on purpose ?
Last modified: 2004-12-22 21:47:04 UTC
gnome-vfs 2.7.4 breaks the ABI apparently. A symbol diff between 2.7.3 and 2.7.4 report 44 missing symboles in the new version. The missing symboles break some apps, ie: $ gnome-file-types-properties gnome-file-types-properties: relocation error: gnome-file-types-properties: undefined symbol: gnome_vfs_get_registered_mime_types Is that breakage on purpose ? I understand that this part of the code is deprecated, but breaking compatibily is somewhere a problem for distribution ...
List of missing symboles: endmntent fstab_poll_tag gconf_client_add_dir gconf_client_notify_add gconf_client_notify_remove gethostbyname getmntent g_list_sort _gnome_vfs_drive_set_mounted_volume _gnome_vfs_drive_unset_volume _gnome_vfs_get_current_unix_mounts gnome_vfs_get_registered_mime_types _gnome_vfs_get_unix_mount_table gnome_vfs_mime_get_extensions_pretty_string gnome_vfs_mime_get_extensions_string gnome_vfs_mime_get_key_list gnome_vfs_mime_keys_list_free gnome_vfs_mime_registered_mime_type_delete gnome_vfs_mime_registered_mime_type_list_free gnome_vfs_mime_reset gnome_vfs_mime_set_extensions_list _gnome_vfs_monitor_unix_mounts _gnome_vfs_stop_monitoring_unix_mounts _gnome_vfs_unix_mount_compare _gnome_vfs_unix_mount_free _gnome_vfs_unix_mount_get_unix_device _gnome_vfs_unix_mount_point_compare _gnome_vfs_unix_mount_point_free gnome_vfs_volume_monitor_daemon_force_probe gnome_vfs_volume_monitor_daemon_get_type g_path_get_basename g_str_has_prefix g_strjoinv hasmntopt module_hash_lock mtab_poll_tag remove setmntent str_cmp_callback sync_context unlink uri_strspn_sets xdg_mime_shutdown
The symbols which were actually part of the ABI are: gnome_vfs_get_registered_mime_types gnome_vfs_mime_get_extensions_pretty_string gnome_vfs_mime_get_extensions_string gnome_vfs_mime_get_key_list gnome_vfs_mime_keys_list_free gnome_vfs_mime_registered_mime_type_delete gnome_vfs_mime_registered_mime_type_list_free gnome_vfs_mime_reset gnome_vfs_mime_set_extensions_list gnome_vfs_volume_monitor_daemon_force_probe gnome_vfs_volume_monitor_daemon_get_type The others are either private symbols or symbols from other libs (?) Among those symbols, the following ones were exported in headers (as part of the gnome-vfs module API): gnome_vfs_get_registered_mime_types gnome_vfs_mime_registered_mime_type_delete gnome_vfs_mime_registered_mime_type_list_free gnome_vfs_mime_get_extensions_pretty_string gnome_vfs_mime_get_extensions_string gnome_vfs_mime_get_key_list gnome_vfs_mime_keys_list_free gnome_vfs_mime_reset gnome_vfs_mime_set_extensions_list
These symbols are also still present in headers.
jrb: any idea if those symbols were intentionally removed or not ?
It's clearly not intentional. I'll take a look first thing tomorrow and do a new release if need be.
*** Bug 148487 has been marked as a duplicate of this bug. ***
*** Bug 148490 has been marked as a duplicate of this bug. ***
I put back (I think) all of the symbols. However, the daemon symbols: gnome_vfs_volume_monitor_daemon_force_probe gnome_vfs_volume_monitor_daemon_get_type are in libgnomevfsdaemon. The ChangeLog makes this look intentional, and I don't think we had those symbols in a stable release. Any thoughts teuf?
I put out a 2.7.5. Can people test it?
*** Bug 148577 has been marked as a duplicate of this bug. ***
I have just built 2.7.5 without a hitch. It seems to work perfectly for me.
Marking as fixed then. Thanks for fixing that jrb ;)
Works fine here (gnome-vfs build and control-center), thanks for the quick fix !