Samba v4.3.3 Solaris 10 referenced symbol not found

Andrew Bartlett abartlet at samba.org
Sat Jan 2 21:20:02 UTC 2016


On Sat, 2016-01-02 at 12:22 -0800, Andrew Morgan wrote:
> On Sat, 2 Jan 2016, Andrew Bartlett wrote:
> 
> > On Fri, 2016-01-01 at 11:10 -0800, Andrew Morgan wrote:
> >> I built Samba v4.3.3 on Solaris 10 sparc (upgrading from
> v3.6.25!),
> >> but I
> >> ran into a problem after I installed it.  Trying to run smbstatus
> or
> >> smbd
> >> gave the following error:
> >>
> >> libsmbconf.so.0: symbol _talloc_pooled_object: referenced symbol
> not
> >> found
> >>
> >> My build arguments were:
> >>
> >> setenv CFLAGS -std=gnu99
> >> ./configure --prefix=/private/samba --with-syslog --with-quotas \
> >>      --without-winbind --with-acl-support --without-utmp --without
> -ad
> >> -dc
> >> gmake
> >>
> >> Digging a little bit in the binaries shows:
> >>
> >> nm /private/samba-4.3.3/lib/libsmbconf.so:
> >>
> >> ...
> >> [3127]  |         0|         0|FUNC |GLOB |0    |UNDEF
> >> |_talloc_pooled_object
> >> ...
> >>
> >> but nm shows no _talloc_pooled_object function in libtalloc.so,
> which
> >> doesn't make sense to me.
> >>
> >> Is this a known issue?  What can I do to help diagnose the
> problem?
> >
> > Any chance there is another libtalloc somewhere on your system you
> are
> > linking against?  Perhaps in the path of some other library?
> 
> Aha!  The location of libtalloc.so has changed from {prefix}/lib/ to 
> {prefix}/lib/private/.  I was installing on top of the existing
> v3.6.25 
> directory, /private/samba/.  The old libtalloc.so was still in 
> {prefix}/lib/.  When I install to a new directory, without the old 
> libraries, run-time linking is working correctly.
> 
> What is the recommended way to "upgrade" Samba but preserve the 
> configuration?  In the past, I've been able to install over the top
> of the 
> existing installation, but I think I'll need to do a clean install
> this 
> time.
> 
> I think I need to preserve:
> 
> lib/smb.conf
> private/*
> var/*
> 
> Any advice you can provide is welcome!
> 

Just take care that Samba 4.0 and above have moved the smb.conf to
etc/smb.conf

Otherwise, this looks OK.  If doing the inverse, removing the binaries
and libraries would be a good idea, we often change their names.

What happened here is that Samba 3.6 and the autoconf build system
didn't use library versions, but 4.0 and above set these.  Unversioned
libraries can trump a versioned lib. 

Andrew Bartlett

-- 
Andrew Bartlett                       http://samba.org/~abartlet/
Authentication Developer, Samba Team  http://samba.org
Samba Developer, Catalyst IT          http://catalyst.net.nz/services/samba






More information about the samba-technical mailing list