libnl linker versioning is off
Thomas Graf
tgraf at suug.ch
Mon Oct 6 04:05:27 PDT 2014
Copying the list
On 10/02/14 at 11:31am, Jan Engelhardt wrote:
>
> Between libnl-3.2.24 and libnl-3.2.25, the function
>
> diff --git a/include/netlink/cli/ct.h b/include/netlink/cli/ct.h
> index bed776b..ebe7c9d 100644
> --- a/include/netlink/cli/ct.h
> +++ b/include/netlink/cli/ct.h
> @@ -30,5 +30,6 @@ extern void nl_cli_ct_parse_src_port(struct nfnl_ct *, int, char *);
> extern void nl_cli_ct_parse_dst_port(struct nfnl_ct *, int, char *);
> extern void nl_cli_ct_parse_tcp_state(struct nfnl_ct *, char *);
> extern void nl_cli_ct_parse_status(struct nfnl_ct *, char *);
> +extern void nl_cli_ct_parse_zone(struct nfnl_ct *, char *);
>
> #endif
>
> appears to have been added (as have others). However, libnl.sym.in was
> not updated to reflect this at all. Whenever symbols are added, a new
> version section is to be appended. One must not add symbols to
> preexisting sections.
>
> LIBNL_3.2.25 {
> global:
> nl_cli_ct_parse_zone;
> } LIBNL_3.2.24;
>
> Furthermore, it also appears that with libnl-3.2.25, a function was
> removed:
>
> diff --git a/include/netlink/cache.h b/include/netlink/cache.h
> index 08f97fa..e21aa1c 100644
> --- a/include/netlink/cache.h
> +++ b/include/netlink/cache.h
> @@ -94,8 +96,6 @@ extern struct nl_object * nl_cache_search(struct nl_cache *,
> struct nl_object *);
> extern struct nl_object *nl_cache_find(struct nl_cache *,
> struct nl_object *);
> -extern struct nl_object * nl_cache_lookup(struct nl_cache *,
> - struct nl_object *);
> extern void nl_cache_mark_all(struct nl_cache *);
>
> /* Dumping */
>
>
> which means the ABI just broke and requires a full SONAME change (e.g.
> from libnl-3.so.200 to libnl-3.so.201).
>
More information about the libnl
mailing list