patch for samba-2.2.2 with PAM on Solaris 8

Harald Koenig koenig at science-computing.de
Mon Nov 26 10:19:02 GMT 2001


Hi,


first: I'm not subscribed to samba-technical, so please reply with Cc:.  
thanks!


trying to build samba-2.2.2 with gcc-2.95.3 on Solaris 8 using

	configure --with-pam_smbpass --with-pam

I needed the patch below to fix the following problems:

- tdb/tdbutil.o needs lib/snprintf.o for symbol vasprintf when linking 
  bin/pam_smbpass.so  (changes to TDB_OBJ and LIB_OBJ).

- bin/pam_smbpass.so needs libgcc for symbol __floatdidf.
  fixed by introducing "LIBC".
  
- ld doesn't like options -shared (from LDSHFLAGS) and -symbolic
  when linking bin/pam_smbpass.so.  LDSHFLAGS gets fixed in configure.in,
  while I removed -symbolic completely  (not sure if this is really 
  portable, can't check it right now).

please check/fix usage of "-symbolic" for bin/pam_smbpass.so on other platforms.



-------------------------------------------------------------------------------
diff -u orig/Makefile.in samba-2.2.2/source/Makefile.in
--- orig/Makefile.in	Sat Oct 13 23:09:06 2001
+++ samba-2.2.2/source/Makefile.in	Mon Nov 26 18:32:06 2001
@@ -9,6 +9,7 @@
 sysconfdir=@sysconfdir@
 
 LIBS=@LIBS@
+LIBC=@LIBC@
 CC=@CC@
 SHLD=@SHLD@ 
 CFLAGS=@CFLAGS@
@@ -105,14 +106,14 @@
 # object file lists
 ######################################################################
 
-TDB_OBJ = tdb/tdb.o tdb/spinlock.o tdb/tdbutil.o 
+TDB_OBJ = tdb/tdb.o tdb/spinlock.o tdb/tdbutil.o lib/snprintf.o 
 
 LIB_OBJ = lib/charcnv.o lib/charset.o lib/debug.o lib/fault.o \
           lib/getsmbpass.o lib/interface.o lib/kanji.o lib/md4.o \
           lib/interfaces.o lib/pidfile.o lib/replace.o \
           lib/signal.o lib/system.o lib/time.o \
 	  lib/ufc.o lib/genrand.o lib/username.o lib/access.o lib/smbrun.o \
-	  lib/bitmap.o lib/crc32.o lib/snprintf.o lib/wins_srv.o \
+	  lib/bitmap.o lib/crc32.o lib/wins_srv.o \
 	  lib/util_array.o lib/util_str.o lib/util_sid.o \
 	  lib/util_unistr.o lib/util_file.o lib/sysacls.o \
 	  lib/util.o lib/util_sock.o lib/util_sec.o smbd/ssl.o \
@@ -619,11 +620,12 @@
 
 bin/pam_smbpass. at SHLIBEXT@: $(PAM_SMBPASS_OBJ)
 	@echo Linking shared library $@
-	$(LD) @LDSHFLAGS@ -symbolic -o $@ $(PAM_SMBPASS_OBJ) -lpam $(LIBS) -lc
+	# $(LD) @LDSHFLAGS@ -symbolic -o $@ $(PAM_SMBPASS_OBJ) -lpam $(LIBS) $(LIBC)
+	$(LD) @LDSHFLAGS@ -o $@ $(PAM_SMBPASS_OBJ) -lpam $(LIBS) $(LIBC)
 
 nsswitch/libnss_wins.so: $(NSS_OBJ)
 	@echo "Linking $@"
-	@$(LD) @LDSHFLAGS@ -o $@ $(NSS_OBJ) -lc
+	@$(LD) @LDSHFLAGS@ -o $@ $(NSS_OBJ) $(LIBC)
 
 bin/winbindd: $(WINBINDD_OBJ) bin/.dummy
 	@echo Linking $@
diff -u orig/configure.in samba-2.2.2/source/configure.in
--- orig/configure.in	Sat Oct 13 23:09:16 2001
+++ samba-2.2.2/source/configure.in	Mon Nov 26 18:36:50 2001
@@ -117,6 +117,7 @@
 AC_SUBST(SHELL)
 AC_SUBST(RUNPROG)
 AC_SUBST(MPROGS)
+AC_SUBST(LIBC)
 AC_SUBST(LDSHFLAGS)
 AC_SUBST(SHLD) 
 AC_SUBST(HOST_OS)
@@ -732,6 +733,13 @@
 HOST_OS="$host_os"
 LDSHFLAGS="-shared"
 SHLD="\${CC}" 
+
+if [ test "$GCC" = yes ]; then
+  LIBC='-lc `gcc -print-libgcc-file-name`'
+else
+  LIBC='-lc'
+fi
+
 PICFLAG=""
 PICSUFFIX="po.o"
 SHLIBEXT="so"
@@ -746,6 +754,7 @@
 			PICFLAG="-fPIC"
 		;;
 		*solaris*) AC_DEFINE(SUNOS5)
+			LDSHFLAGS="-b"
 				;;
 		*sunos*) AC_DEFINE(SUNOS4)
 		;;
-------------------------------------------------------------------------------

Harald
-- 
"I hope to die                                      ___       _____
before I *have* to use Microsoft Word.",           0--,|    /OOOOOOO\
Donald E. Knuth, 21-09-2001 in Tuebingen.         <_/  /  /OOOOOOOOOOO\
                                                    \  \/OOOOOOOOOOOOOOO\
                                                      \ OOOOOOOOOOOOOOOOO|//
Harald Koenig                                          \/\/\/\/\/\/\/\/\/
science+computing ag                                    //  /     \\  \
koenig at science-computing.de                            ^^^^^       ^^^^^




More information about the samba-technical mailing list