Makefile problems with new libs
Lonnie J. Borntreger
lonnie at borntreger.com
Wed Jan 19 07:43:59 GMT 2000
1 - Solaris requires the use of -fPIC (due to the number of objects)
not -fpic which is selected during the configure for some reason. (I have
no solution since I'm not familiar with the configure tool, I just fix it in
my file.)
2 - libs are not installed (FIX INCLUDED)
3 - Doing this in the makefile (FIX INCLUDED)
SMBLIB = bin/libsmb.so
RPCLIB = bin/libmsrpc.so
bin/lsarpcd: $(SMBLIB) $(RPCLIB) $(LSARPCD_OBJ) bin/.dummy
@$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(LSARPCD_OBJ) $(LDFLAGS)
$(LIBS)
will result in:
gto-> ldd lsarpcd
bin/libsmb.so => (file not found)
bin/libmsrpc.so => (file not found)
libsec.so.1 => /usr/lib/libsec.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libpam.so.1 => /usr/lib/libpam.so.1
libcurses.so.1 => /usr/lib/libcurses.so.1
libc.so.1 => /usr/lib/libc.so.1
libmp.so.2 => /usr/lib/libmp.so.2
Don't think that's what is wanted since it means that /usr/local/samba must
be in the LD_LIBRARY_PATH for the binaries to run.
***SOLUTION FOR ISSUE 3:
Could do this in Makefile.in (the -L will make sure that the new libraries
are used, not the old installed ones -- need to change all binaries not just
lsarpcd):
SMBLIB = bin/libsmb.so
RPCLIB = bin/libmsrpc.so
SMBLIBS = -L $(srcdir)/bin -lsmb -L $(srcdir)/bin -lmsrpc
FLAGS += -R $(LIBDIR)
bin/lsarpcd: $(SMBLIB) $(RPCLIB) $(LSARPCD_OBJ) bin/.dummy
@$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(LSARPCD_OBJ) $(LDFLAGS) $(LIBS)
--
Then install libsmb.so and libmsrpc.so into $(LIBDIR). This will make it
all run along without anybody having to change system rc scripts to find the
libs when starting samba during a system boot.
***FIX FOR ISSUE 2 & 3:
I attached a diff -u for Makefile.in. I used installscripts.sh since it had
the functionality necessary to install the libs. I also added to the revert
so the libs could be rolled back also.
I know the fix will work for Solaris and other SVR4 compatible UNIXes.
Don't know about IRIX.
TTFN,
Lonnie Borntreger
lonnie at borntreger.com
http://www.borntreger.com/
============== DIFF ====================
--- Makefile.in.old Wed Jan 19 01:20:15 2000
+++ Makefile.in Wed Jan 19 01:37:05 2000
@@ -111,6 +111,8 @@
SMBLIB = bin/libsmb.so @LIBSMB32@
RPCLIB = bin/libmsrpc.so @LIBMSRPC32@
+SMBLIBS=-L $(srcdir)/bin -lsmb -L $(srcdir)/bin -lmsrpc
+CFLAGS += -R $(LIBDIR)
LIBSTATUS_OBJ = lib/util_status.o
@@ -286,7 +288,7 @@
$(LOCKING_OBJ) \
$(SIDDB_OBJ) \
$(LIBSTATUS_OBJ) $(PRINTING_OBJ) $(PROFILE_OBJ) $(LIB_OBJ)
-
+
SRVSVCD_OBJ = $(MSRPCD_OBJ) $(SRVSVCD_OBJ1) $(PARAM_OBJ) \
$(UBIQX_OBJ) \
@@ -589,44 +591,44 @@
bin/smbd: $(SMBLIB) $(RPCLIB) $(SMBD_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(SMBD_OBJ) \
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(SMBD_OBJ) \
$(LDFLAGS) $(LIBS)
bin/svcctld: $(SMBLIB) $(RPCLIB) $(SVCCTLD_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(SVCCTLD_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(SVCCTLD_OBJ) $(LDFLAGS) $(LIBS)
bin/lsarpcd: $(SMBLIB) $(RPCLIB) $(LSARPCD_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(LSARPCD_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(LSARPCD_OBJ) $(LDFLAGS) $(LIBS)
bin/spoolssd: $(SMBLIB) $(RPCLIB) $(SPOOLSSD_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(SPOOLSSD_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(SPOOLSSD_OBJ) $(LDFLAGS) $(LIBS)
bin/srvsvcd: $(SMBLIB) $(RPCLIB) $(SRVSVCD_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(SRVSVCD_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(SRVSVCD_OBJ) $(LDFLAGS) $(LIBS)
bin/wkssvcd: $(SMBLIB) $(RPCLIB) $(WKSSVCD_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(WKSSVCD_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(WKSSVCD_OBJ) $(LDFLAGS) $(LIBS)
bin/browserd: $(SMBLIB) $(RPCLIB) $(BROWSERD_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(BROWSERD_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(BROWSERD_OBJ) $(LDFLAGS) $(LIBS)
bin/winregd: $(SMBLIB) $(RPCLIB) $(WINREGD_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(WINREGD_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(WINREGD_OBJ) $(LDFLAGS) $(LIBS)
bin/netlogond: $(SMBLIB) $(RPCLIB) $(NETLOGOND_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(NETLOGOND_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(NETLOGOND_OBJ) $(LDFLAGS) $(LIBS)
bin/samrd: $(SMBLIB) $(RPCLIB) $(SAMRD_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(SAMRD_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(SAMRD_OBJ) $(LDFLAGS) $(LIBS)
bin/nmbd: $(SMBLIB) $(NMBD_OBJ) bin/.dummy
@echo Linking $@
@@ -634,7 +636,7 @@
bin/swat: $(SMBLIB) $(RPCLIB) $(SWAT_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(SWAT_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(SWAT_OBJ) $(LDFLAGS) $(LIBS)
bin/smbrun: $(SMBRUN_OBJ) bin/.dummy
@echo Linking $@
@@ -642,7 +644,7 @@
bin/rpcclient: $(SMBLIB) $(RPCLIB) $(RPCCLIENT_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(RPCCLIENT_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(RPCCLIENT_OBJ) $(LDFLAGS) $(LIBS)
bin/smbclient: $(SMBLIB) $(CLIENT_OBJ) bin/.dummy
@echo Linking $@
@@ -650,15 +652,15 @@
bin/smbmount: $(SMBLIB) $(RPCLIB) $(MOUNT_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(MOUNT_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(MOUNT_OBJ) $(LDFLAGS) $(LIBS)
bin/smbmnt: $(SMBLIB) $(RPCLIB) $(MNT_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(MNT_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(MNT_OBJ) $(LDFLAGS) $(LIBS)
bin/smbumount: $(SMBLIB) $(RPCLIB) $(UMOUNT_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(UMOUNT_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(UMOUNT_OBJ) $(LDFLAGS) $(LIBS)
bin/testparm: $(TESTPARM_OBJ) bin/.dummy
@echo Linking $@
@@ -674,7 +676,7 @@
bin/smbpasswd: $(SMBLIB) $(RPCLIB) $(SMBPASSWD_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(SMBPASSWD_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(SMBPASSWD_OBJ) $(LDFLAGS) $(LIBS)
bin/make_smbcodepage: $(MAKE_SMBCODEPAGE_OBJ) bin/.dummy
@echo Linking $@
@@ -690,11 +692,11 @@
bin/smbtorture: $(SMBLIB) $(RPCLIB) $(SMBTORTURE_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(SMBTORTURE_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(SMBTORTURE_OBJ) $(LDFLAGS) $(LIBS)
bin/rpctorture: $(SMBLIB) $(RPCLIB) $(RPCTORTURE_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(RPCTORTURE_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(RPCTORTURE_OBJ) $(LDFLAGS) $(LIBS)
bin/smb-client: $(SMB_CLIENT_OBJ) bin/.dummy
@echo Linking $@
@@ -706,11 +708,11 @@
bin/smb-agent: $(SMBLIB) $(RPCLIB) $(SMB_AGENT_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(SMB_AGENT_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(SMB_AGENT_OBJ) $(LDFLAGS) $(LIBS)
bin/smbfilter: $(SMBLIB) $(RPCLIB) $(SMBFILTER_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(SMBFILTER_OBJ) $(LDFLAGS)
$(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(SMBFILTER_OBJ) $(LDFLAGS) $(LIBS)
bin/debug2html: $(DEBUG2HTML_OBJ) bin/.dummy
@echo Linking $@
@@ -726,9 +728,9 @@
bin/smbsh: $(SMBLIB) $(RPCLIB) $(SMBSH_OBJ) bin/.dummy
@echo Linking $@
- @$(CC) $(FLAGS) -o $@ $(SMBLIB) $(RPCLIB) $(SMBSH_OBJ) $(LDFLAGS) $(LIBS)
+ @$(CC) $(FLAGS) -o $@ $(SMBLIBS) $(SMBSH_OBJ) $(LDFLAGS) $(LIBS)
-install: installbin installman installscripts installcp installswat
+install: installbin installlib installman installscripts installcp
installswat
installdirs:
$(SHELL) $(srcdir)/install-sh -d -m $(INSTALLPERMS) \
@@ -738,6 +740,9 @@
@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(BASEDIR)
$(SBINDIR) $(LIBDIR) $(VARDIR) $(SPROGS)
@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(BASEDIR)
$(BINDIR) $(LIBDIR) $(VARDIR) $(PROGS)
+installlib: all installdirs
+ @$(SHELL) $(srcdir)/script/installscripts.sh $(INSTALLPERMS) $(LIBDIR)
$(SMBLIB) $(RPCLIB)
+
installscripts: installdirs
@$(SHELL) $(srcdir)/script/installscripts.sh $(INSTALLPERMS) $(BINDIR)
$(patsubst %,$(srcdir)/%,$(SCRIPTS))
@@ -751,6 +756,7 @@
revert:
@$(SHELL) $(srcdir)/script/revert.sh $(SBINDIR) $(SPROGS)
@$(SHELL) $(srcdir)/script/revert.sh $(BINDIR) $(PROGS) $(SCRIPTS)
+ @$(SHELL) $(srcdir)/script/revert.sh $(LIBDIR) $(SMBLIB) $(RPCLIB)
installman:
@$(SHELL) $(srcdir)/script/installman.sh $(MANDIR) $(srcdir) "@ROFF@"
More information about the samba-ntdom
mailing list