2..2.4-pre Makefile inconsistencies - Fix enclosed

Richard Bollinger rabollinger at attbi.com
Tue Apr 30 11:03:01 GMT 2002


Try this version of my patch out for size.  I've added explicit SONAME setting as apparently
required to solve the problem:

--- ../source/configure.in Mon Apr 29 07:16:35 2002
+++ ./configure.in Mon Apr 29 09:32:29 2002
@@ -2674,10 +2674,10 @@
  WINBIND_STARGETS="bin/winbindd"
  case "$host_os" in
         *irix*)
- WINBIND_LTARGETS="libns_winbind.so"
+ WINBIND_LTARGETS="nsswitch/libns_winbind.so"
                 ;;
         *)
- WINBIND_LTARGETS="libnss_winbind.so"
+ WINBIND_LTARGETS="nsswitch/libnss_winbind.so"
                 ;;
  esac

--- ../source/Makefile.in Tue Apr 30 07:45:16 2002
+++ ./Makefile.in Tue Apr 30 13:46:26 2002
@@ -91,7 +91,7 @@
 WINBIND_PROGS = @WINBIND_TARGETS@
 WINBIND_SPROGS = @WINBIND_STARGETS@
 WINBIND_PAM_PROGS = @WINBIND_PAM_TARGETS@
-WINBIND_LPROGS = nsswitch/@WINBIND_LTARGETS@
+WINBIND_LPROGS = @WINBIND_LTARGETS@

 SPROGS = bin/smbd bin/nmbd bin/swat
 PROGS1 = bin/smbclient bin/smbspool bin/testparm bin/testprns bin/smbstatus bin/smbcontrol
bin/tdbbackup bin/make_printerdef @RUNPROG@
@@ -629,62 +629,48 @@
  @$(CC) $(FLAGS) -o $@ $(SMBSH_OBJ) $(LDFLAGS) $(LIBS)

 bin/smbwrapper. at SHLIBEXT@: $(PICOBJS) bin/.dummy
- $(MAKE) smbwrapper. at SHLIBEXT@
-
-smbwrapper. at SHLIBEXT@: $(PICOBJS) bin/.dummy
- @echo Linking shared library bin/$@
- @$(SHLD) @LDSHFLAGS@ -o bin/$@ $(PICOBJS) $(LIBS)
+ @echo Linking shared library $@
+ @$(SHLD) @LDSHFLAGS@ -o $@ $(PICOBJS) $(LIBS) \
+ @SONAMEFLAG@`basename $@`

 bin/smbwrapper.32. at SHLIBEXT@: $(PICOBJS32) bin/.dummy
- $(MAKE) smbwrapper.32. at SHLIBEXT@
-
-smbwrapper.32. at SHLIBEXT@: $(PICOBJS32) bin/.dummy
- @echo Linking shared library bin/$@
- @$(SHLD) -32 @LDSHFLAGS@ -o bin/$@ $(PICOBJS32) $(LIBS)
+ @echo Linking shared library $@
+ @$(SHLD) -32 @LDSHFLAGS@ -o $@ $(PICOBJS32) $(LIBS) \
+ @SONAMEFLAG@`basename $@`

 bin/libsmbclient. at SHLIBEXT@: $(LIBSMBCLIENT_PICOBJS) bin/.dummy
- $(MAKE) libsmbclient. at SHLIBEXT@
-
-libsmbclient. at SHLIBEXT@: $(LIBSMBCLIENT_PICOBJS) bin/.dummy
- @echo Linking libsmbclient shared library bin/$@
- @$(SHLD) @LDSHFLAGS@ -o bin/$@ $(LIBSMBCLIENT_PICOBJS) $(LIBS) \
- @SONAMEFLAG at libsmbclient.so.$(LIBSMBCLIENT_MAJOR)
+ @echo Linking libsmbclient shared library $@
+ @$(SHLD) @LDSHFLAGS@ -o $@ $(LIBSMBCLIENT_PICOBJS) $(LIBS) \
+ @SONAMEFLAG@`basename $@`.$(LIBSMBCLIENT_MAJOR)

 bin/libsmbclient.a: $(LIBSMBCLIENT_PICOBJS) bin/.dummy
  @echo Linking libsmbclient non-shared library $@
  @-$(AR) -rc $@ $(LIBSMBCLIENT_PICOBJS)

 bin/pam_smbpass. at SHLIBEXT@: $(PAM_SMBPASS_OBJ) bin/.dummy
- $(MAKE) pam_smbpass. at SHLIBEXT@
-
-pam_smbpass. at SHLIBEXT@: $(PAM_SMBPASS_OBJ) bin/.dummy
- @echo Linking shared library bin/$@
- $(SHLD) @LDSHFLAGS@ -symbolic -o bin/$@ $(PAM_SMBPASS_OBJ) $(LDFLAGS) -lpam $(DYNEXP) $(LIBS) -lc
+ @echo Linking shared library $@
+ $(SHLD) @LDSHFLAGS@ -symbolic -o $@ $(PAM_SMBPASS_OBJ) $(LDFLAGS) -lpam $(DYNEXP) $(LIBS) -lc \
+ @SONAMEFLAG@`basename $@`

 nsswitch/libnss_wins.so: $(NSS_OBJ)
- $(MAKE) libnss_wins.so
-
-libnss_wins.so: $(NSS_OBJ)
- @echo "Linking nsswitch/$@"
- @$(SHLD) @LDSHFLAGS@ -o nsswitch/$@ $(NSS_OBJ) -lc
+ @echo "Linking $@"
+ @$(SHLD) @LDSHFLAGS@ -o $@ $(NSS_OBJ) -lc \
+ @SONAMEFLAG@`basename $@`

 bin/winbindd: $(WINBINDD_OBJ) bin/.dummy
  @echo Linking $@
  @$(LINK) -o $@ $(WINBINDD_OBJ) $(DYNEXP) $(LIBS)

-nsswitch/@WINBIND_LTARGETS@: $(WINBIND_NSS_PICOBJS)
- $(MAKE) @WINBIND_LTARGETS@
-
 @WINBIND_LTARGETS@: $(WINBIND_NSS_PICOBJS)
- @echo "Linking nsswitch/$@"
- @$(SHLD) @LDSHFLAGS@ -o nsswitch/$@ $(WINBIND_NSS_PICOBJS) @WINBIND_NSS_EXTRA_LIBS@
+ @echo "Linking $@"
+ @$(SHLD) @LDSHFLAGS@ -o $@ $(WINBIND_NSS_PICOBJS) @WINBIND_NSS_EXTRA_LIBS@ \
+ @SONAMEFLAG@`basename $@`

 nsswitch/pam_winbind.so: $(PAM_WINBIND_OBJ)
- $(MAKE) pam_winbind.so
+ @echo Linking $@
+ @$(SHLD) @LDSHFLAGS@ -o $@ $(PAM_WINBIND_OBJ) \
+ @SONAMEFLAG@`basename $@`

-pam_winbind.so: $(PAM_WINBIND_OBJ)
- @echo Linking nsswitch/$@
- @$(SHLD) @LDSHFLAGS@ -o nsswitch/$@ $(PAM_WINBIND_OBJ)

 bin/wbinfo: $(WBINFO_OBJ) $(PARAM_OBJ) $(LIB_OBJ) $(NOPROTO_OBJ) \
  $(UBIQX_OBJ) @BUILD_POPT@ bin/.dummy


----- Original Message -----
From: "Richard Bollinger" <rabollinger at attbi.com>
To: "Herbert Lewis" <herb at sgi.com>
Cc: "samba-technical" <samba-technical at samba.org>
Sent: Tuesday, April 30, 2002 12:59 PM
Subject: Re: 2..2.4-pre Makefile inconsistencies - Fix enclosed


> My changes didn't affect the ld command which does the linking (verified by running it both ways
and
> getting identical broken binary files) - hence the problem remains :-(.
>
> There appear to be two ways to _really_ solve the problem...
>
> 1) create the .so files in the current directory rather than a subdirectory
>         or
> 2) specify the soname with the correct option to ld, perhaps as was done for libsmbclient.so
>
> Rich B





More information about the samba-technical mailing list