Samba v4.3.3 Solaris 10 referenced symbol not found

Andrew Morgan morgan at orst.edu
Fri Jan 8 19:07:41 UTC 2016


On Sun, 3 Jan 2016, Andrew Bartlett wrote:

> 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.

I'm going to attempt this upgrade again tomorrow morning.  As I look 
closer at the contents of the existing var/locks directory, I wonder if 
some of the files are no longer in use:

[root at chernobyl locks]# dir -rt
drwxr-xr-x   2 root     root          96 Aug 31  2005 printing
drwxr-xr-x   2 root     root          96 Jan 11  2006 perfmon
-rw-r--r--   1 root     root        8192 Apr 21  2006 deferred_open.tdb
-rw-------   1 root     root        8192 Apr 25  2009 account_policy.tdb
-rw-------   1 root     root         696 Apr 25  2009 mutex.tdb
drwxr-xr-x   5 root     root          96 Apr 11  2012 ..
-rw-------   1 root     root         696 Apr 11  2012 group_mapping.tdb.upgraded
-rw-------   1 root     root      106496 Apr 11  2012 group_mapping.ldb.replaced
-rw-------   1 root     root         696 Apr 11  2012 ntforms.tdb.bak
-rw-------   1 root     root        8192 Apr 11  2012 ntdrivers.tdb.bak
-rw-------   1 root     root        8192 Apr 11  2012 ntprinters.tdb.bak
-rw-r--r--   1 root     root       32768 Aug 25  2012 unexpected.tdb
-rw-------   1 root     root       24576 Aug 25  2012 share_info.tdb
-rw-------   1 root     root         696 Aug 25  2012 group_mapping.tdb
-rw-------   1 root     root      172032 Aug 25  2012 registry.tdb
-rw-r--r--   1 root     root           6 Jan  1 10:27 smbd.pid
-rw-r--r--   1 root     root           6 Jan  1 10:27 nmbd.pid
-rw-r--r--   1 root     root         144 Jan  1 10:28 browse.dat
drwxr-xr-x   4 root     root        1024 Jan  1 10:28 .
-rw-r--r--   1 root     root       16384 Jan  8 10:51 printer_list.tdb
-rw-r--r--   1 root     root      712704 Jan  8 11:02 brlock.tdb
-rw-r--r--   1 root     root       32768 Jan  8 11:02 notify.tdb
-rw-r--r--   1 root     root       24576 Jan  8 11:02 gencache.tdb
-rw-------   1 root     root      122880 Jan  8 11:02 messages.tdb
-rw-r--r--   1 root     root       40960 Jan  8 11:02 serverid.tdb
-rw-r--r--   1 root     root     11264000 Jan  8 11:02 locking.tdb
-rw-r--r--   1 root     root      139264 Jan  8 11:02 notify_onelevel.tdb
-rw-r--r--   1 root     root       24576 Jan  8 11:02 gencache_notrans.tdb
-rw-------   1 root     root     183336960 Jan  8 11:02 netsamlogon_cache.tdb
-rw-r--r--   1 root     root     1613824 Jan  8 11:02 sessionid.tdb
-rw-r--r--   1 root     root     1417216 Jan  8 11:02 connections.tdb

Same thing for the private directory:

[root at chernobyl private]# dir
-rw-------   1 root     root       24576 Jun 26  2010 passdb.tdb
-rw-------   1 root     root        8192 Apr 15  2006 secrets.tdb
-rw-------   1 root     root           0 Aug 31  2005 smbpasswd

Can some of these files be removed when I upgrade to 4.3.3?  Samba was 
restarted on Jan 1 at 10:27am.

Thanks,
 	Andy





More information about the samba-technical mailing list