seahorse-3.8.2 After upgrading to =libsecret-0.16 seahorse fails to start with error: seahorse: symbol lookup error: seahorse: undefined symbol: secret_service_new moreover seahorse fails to compile: seahorse-gkr-actions.c: In function 'on_change_password_done': seahorse-gkr-actions.c:220:2: error: too many arguments to function 'secret_service_prompt_at_dbus_path_finish' In file included from /usr/include/libsecret-1/libsecret/secret.h:38:0, from seahorse-gkr-keyring.h:30, from seahorse-gkr-backend.h:32, from seahorse-gkr-actions.h:25, from seahorse-gkr-actions.c:25: /usr/include/libsecret-1/libsecret/secret-paths.h:184:21: note: declared here seahorse-gkr-actions.c: In function 'on_change_password_prompt': seahorse-gkr-actions.c:245:39: warning: passing argument 4 of 'secret_service_prompt_at_dbus_path' from incompatible pointer type [enabled by default] In file included from /usr/include/libsecret-1/libsecret/secret.h:38:0, from seahorse-gkr-keyring.h:30, from seahorse-gkr-backend.h:32, from seahorse-gkr-actions.h:25, from seahorse-gkr-actions.c:25: /usr/include/libsecret-1/libsecret/secret-paths.h:177:21: note: expected 'struct GCancellable *' but argument is of type 'void (*)(struct GObject *, struct GAsyncResult *, void *)' seahorse-gkr-actions.c:245:39: warning: passing argument 5 of 'secret_service_prompt_at_dbus_path' from incompatible pointer type [enabled by default] In file included from /usr/include/libsecret-1/libsecret/secret.h:38:0, from seahorse-gkr-keyring.h:30, from seahorse-gkr-backend.h:32, from seahorse-gkr-actions.h:25, from seahorse-gkr-actions.c:25: /usr/include/libsecret-1/libsecret/secret-paths.h:177:21: note: expected 'GAsyncReadyCallback' but argument is of type 'struct ChangeClosure *' seahorse-gkr-actions.c:245:39: error: too few arguments to function 'secret_service_prompt_at_dbus_path' In file included from /usr/include/libsecret-1/libsecret/secret.h:38:0, from seahorse-gkr-keyring.h:30, from seahorse-gkr-backend.h:32, from seahorse-gkr-actions.h:25, from seahorse-gkr-actions.c:25: /usr/include/libsecret-1/libsecret/secret-paths.h:177:21: note: declared here looks like libsecret-0.16 breaks API/ABI, reverting to libsecret-0.15 fixes both the compile and runtime issue
Indeed, going by NEWS, ABI was bumped, but not library number. Though, the author was a person who complained a lot about libtool, so they probably are just unwilling to follow the convention.
Awesome. And backporting a patch from upstream git is not practical because the entire C-based codebase just got rewritten in Vala :/ + 02 Sep 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask: + Temporarily mask libsecret-0.16 due to API/ABI change (bug #483414).
Oh great... sorry for the breakage.
btw, did anyone reported upstream about the misversioning of the library with this change ?
(In reply to Gilles Dartiguelongue from comment #4) > btw, did anyone reported upstream about the misversioning of the library > with this change ? Me not :(
fixed in 3.10