Problems compiling samba3 from 3.4.0pre1
vorlon at debian.org
Thu May 14 19:17:46 GMT 2009
On Thu, May 14, 2009 at 11:16:18AM +0200, Volker Lendecke wrote:
> On Thu, May 14, 2009 at 01:05:34AM -0700, Steve Langasek wrote:
> > The failure is still an upstream issue, we just have the extra flag set so
> > that this is handled as a build-time failure instead of a run-time failure.
> > You can still see the problem on a Linux system by running 'ldd -d -r
> > /path/to/libsmbclient.so' on a resulting build; those undefined symbols will
> > cause libsmbclient to fail to load at run time, unless the calling
> > application happens to already be linked against libz.
> When I do this on my standard build (no special linker
> flags) on a SLES10, "ldd -d -r libsmbclient.so" shows
> libz.so.1 => /lib64/libz.so.1 (0x00007f4c82f2f000)
> Is there anything wrong with that?
No, that looks fine, but it doesn't match what happens on Debian and also
doesn't appear to match what's written in the Makefile:
$(LIBSMBCLIENT_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_SYMS) @LIBTALLOC_SHARED@ @LIBTDB_SHARED@ @LIBWBCLIENT_SHARED@
@echo Linking shared library $@
@$(SHLD_DSO) $(LIBSMBCLIENT_OBJ) \
$(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS) $(LIBS) \
$(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \
So libsmbclient isn't being linked with $(ZLIB_LIBS) here. Perhaps on
SLES10, one of the other libraries you're linking against is already linked
against libz, so it's pulled in indirectly? (cf. 'objdump -p
libsmbclient.so | grep NEEDED')
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
slangasek at ubuntu.com vorlon at debian.org
More information about the samba-technical