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