[Rd] shared libraries: missing soname

Joseph Mingrone jrm at ftfl.ca
Mon Nov 21 02:49:18 CET 2016


Hello Dirk,

Dirk Eddelbuettel <edd at debian.org> writes:

> On 20 November 2016 at 19:28, Joseph Mingrone wrote:
> | Hello,
> | 
> | R's shared libraries are linked without setting the soname.  This is causing problems for some consumers.
> | 
> |         Error: /usr/local/lib/R/library/tseries/libs/tseries.so is linked to
> |         /usr/local/lib/R/lib/libRblas.so which does not have a SONAME.  math/R needs
> |         to be fixed.
> | 
> | What's the correct way to add the necessary linker flags?  I believe it should be something like this.
> | 
> |        cc -shared -Wl,-soname,...

> I think that may be true "in theory" (for libraries loaded by ldd(8) via
> `/etc/ld.conf`) but not "in practice" for R which loads these shared
> libraries itself (via dlopen(3) etc).

R may use dlopen() but other customers may not.

> For what it is worth, I have been providing the Debian packages "as is" for
> now 15+ years and nobody has complained. 

> What system are you on to get that complaint?

This is on FreeBSD.  Our apt-get, pkg, will not register shared library dependencies if the shared library does not have a soname.  If the library gets changed and is no longer compatible with the previous version, and there is no soname to check, pkg will not know that all its dependencies need to be reinstalled.

Regards,

Joseph
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 930 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20161120/c61e4bd8/attachment.bin>


More information about the R-devel mailing list