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