What determines RUNPATH in installed libs?

Andrew Bartlett abartlet at samba.org
Tue Apr 5 23:48:43 UTC 2022

On Tue, 2022-04-05 at 16:43 -0700, Tim Rice via samba-technical wrote:
> If I configure samba-4.10.16 with these options,

I realise your question is generic, but before someone else says it,
please don't configure Samba 4.10, it is long out of support ;-)

>         --libdir=/opt/lib/samba
>         --with-modulesdir=/opt/lib/samba
>         --with-privatelibdir=/opt/lib/samba/private
> most libs will get installed with the correct RUNPATH but these
>     bin/default/lib/util/libsamba-modules-samba4.inst.so
>     bin/default/libcli/registry/libutil-reg-samba4.inst.so
>     bin/default/libcli/util/python-ntstatus.inst.cpython-39.so
>     bin/default/libcli/util/python-werror.inst.cpython-39.so
>     bin/default/source3/libmessages-util-samba4.inst.so
>     bin/default/source3/libsmbldap.inst.so
>     bin/default/source4/lib/samba3/libsmbpasswdparser-samba4.inst.so
>     bin/default/nsswitch/stress-nss-libwbclient.inst
>     bin/default/source3/smbd/notifyd/notifyd-tests.inst
>     bin/default/source3/versiontest.inst
> will get installed with RUNPATH /opt/lib/samba and yet they all
> need libs from /opt/lib/samba/private.

Yes, this is expected.  Bits of samba require other bits of Samba that
are not public interfaces, but are built as shared libraries to avoid
duplication of compiled code (with all the problems that creates).

> Are the dependencies listed somewhere in one of the files in the
> source tree?

The deps= lines in the wscript

> Are they calculated at configure time?
> Are they calculated at build time?

waf, our build system, calculates this.  

Andrew Bartlett

Andrew Bartlett (he/him)       https://samba.org/~abartlet/
Samba Team Member (since 2001) https://samba.org
Samba Team Lead, Catalyst IT   https://catalyst.net.nz/services/samba

Samba Development and Support, Catalyst IT - Expert Open Source

More information about the samba-technical mailing list