Skip to content

[PATCH] thunar-vcs-plugin.so does not link to libapr but it needs to

Submitted by Natanael Copa @ncopa

Assigned to Peter de Ridder

Link to original bug (#7850)

Description

on Alpine Linux I got this error:

/usr/bin/Thunar: symbol 'apr_uuid_parse': can't resolve symbol

(thunar:2582): thunarx-WARNING **: Failed to load plugin `thunar-vcs-plugin.so': unknown dl-error

nm -D | grep apr shows that plugin uses apr symbols: U apr_ctime U apr_initialize U apr_pool_destroy U apr_terminate

readelf -d shows that libapr is not linked: 0x0000000000000001 (NEEDED) Shared library: [libsvn_client-1.so.0] 0x0000000000000001 (NEEDED) Shared library: [libsvn_wc-1.so.0] 0x0000000000000001 (NEEDED) Shared library: [libsvn_fs-1.so.0] 0x0000000000000001 (NEEDED) Shared library: [libsvn_subr-1.so.0] 0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0.9.32] 0x0000000000000001 (NEEDED) Shared library: [libc.so.0.9.32] 0x000000000000000e (SONAME) Library soname: [thunar-vcs-plugin.so]

I suspect it works on glibc due to the indirect linking via the libsvn_* libs, but it does not work with uClibc.

looking at the Makefile.am shows that it actually tries to do the correct thing: if HAVE_SUBVERSION thunar_vcs_plugin_la_LDFLAGS +=
$(APR_LDFLAGS) endif

However APR_LDFLAS is wrong. It appears that the macros uses APR_LIBS. Replacing APR_LDFLAGS with APR_LIBS solves it.