RFE: build

Juergen Hasch Hasch at t-online.de
Sun Jan 5 22:50:00 GMT 2003


Hi Jens,

Jens Elkner wrote:

>>1)  For SHLD the LDSHFLAGS parameter is used. It should get set to -shared.
>>    
>>
>
>And that is exactly the problem! It is set only to "-shared" and not to
>"-shared $LDFLAGS". So if I do not apply the Makefile.in patch
>I get for build:
>
>Linking libsmbclient shared library bin/libsmbclient.so
>gcc  -shared -o bin/libsmbclient.so libsmb/libsmbclient.po lib/charcnv.po lib/charset.po lib/debug.po lib/fault.po lib/getsmbpass.po lib/interface.po lib/kanji.po lib/md4.po lib/interfaces.po lib/pidfile.po lib/replace.po lib/signal.po lib/system.po lib/sendfile.po lib/time.po lib/ufc.po lib/genrand.po lib/username.po lib/util_getent.po lib/access.po lib/smbrun.po lib/bitmap.po lib/crc32.po lib/snprintf.po lib/wins_srv.po lib/util_str.po lib/util_sid.po lib/util_unistr.po lib/util_file.po lib/util.po lib/util_sock.po lib/util_sec.po smbd/ssl.po lib/talloc.po lib/hash.po lib/substitute.po lib/fsusage.po lib/ms_fnmatch.po lib/select.po lib/error.po lib/messages.po lib/pam_errors.po nsswitch/wb_client.po nsswitch/wb_common.po tdb/tdb.po tdb/spinlock.po tdb/tdbutil.po  libsmb/clientgen.po libsmb/cliconnect.po libsmb/clifile.po libsmb/clirap.po libsmb/clierror.po libsmb/climessage.po libsmb/clireadwrite.po libsmb/clilist.po libsmb/cliprint.po libsmb/clitrans.po libsmb/clisecdesc.!
>po libsmb/clidgram.po libsmb/namequery.po libsmb/nmblib.po libsmb/clistr.po libsmb/nterr.po libsmb/smbdes.po libsmb/smbencrypt.po libsmb/smberr.po libsmb/credentials.po libsmb/pwd_cache.po libsmb/clioplock.po libsmb/errormap.po libsmb/doserr.po libsmb/passchange.po libsmb/unexpected.po rpc_parse/parse_prs.po rpc_parse/parse_sec.po rpc_parse/parse_misc.po libsmb/namecache.po param/loadparm.po param/params.po  ubiqx/ubi_BinTree.po ubiqx/ubi_Cache.po ubiqx/ubi_SplayTree.po ubiqx/ubi_dLinkList.po ubiqx/ubi_sLinkList.po ubiqx/debugparse.po -lacl -lcups  -lnsl \
>-Wl,-soname=`basename bin/libsmbclient.so`.0
>
>/usr/bin/ld: cannot find -lacl
>collect2: ld returned 1 exit status
>make: *** [bin/libsmbclient.so] Error 1
>
You are right, $(LDFLAGS) is missing for libsmbclient.
I think the correct patch would be to add the missing $(LDFLAGS) in 
Makefile.in only where it is missing:
----------------------------------
--- Makefile.in.orig    2002-09-20 21:10:45.000000000 +0200
+++ Makefile.in    2003-01-05 23:15:22.000000000 +0100
@@ -645,7 +645,7 @@
 
 bin/libsmbclient. at SHLIBEXT@: $(LIBSMBCLIENT_PICOBJS) bin/.dummy
     @echo Linking libsmbclient shared library $@
-    @$(SHLD) @LDSHFLAGS@ -o $@ $(LIBSMBCLIENT_PICOBJS) $(LIBS) \
+    @$(SHLD) @LDSHFLAGS@ -o $@ $(LIBSMBCLIENT_PICOBJS) $(LDFLAGS) $(LIBS) \
         @SONAMEFLAG@`basename $@`.$(LIBSMBCLIENT_MAJOR)
 
 bin/libsmbclient.a: $(LIBSMBCLIENT_PICOBJS) bin/.dummy

----------------------------------
I guess nobody ever had this problem before and complained loud enough 
about it  :-)

>>2) cups-config is coming from the cups installation. It's created when 
>>you run
>>configure at the cups source. You can specify the directories there. If 
>>you install
>>cups from a rpm it should also be correct.
>>    
>>
>
>And that´s exactly the point. "if you install it" - I do not want to
>install it on the system, where smb is build ... Furthermore, why should
>the smb stuff linked against the same libs, libcups was linked to?
>Perhaps cups has (not yet) its own mechanism, to find the libs it needs ...
>
Look at
http://cvs.samba.org/cgi-bin/cvsweb/samba/source/configure.in.diff?r1=1.130.4.144&r2=1.130.4.145&only_with_tag=SAMBA_2_2&f=h
There you see the way configure.in was before cups-config was used. You 
see it's not just looking for libcups and cups.h ...

...Juergen






More information about the samba-technical mailing list