Browse Source

fix dso linking issues found by fedora 13 linking

https://bugzilla.redhat.com/show_bug.cgi?id=564876
Resolves: Bug 564876
Bug Description: FTBFS 389-ds-base-1.2.6-0.1.a1.fc13: ImplicitDSOLinking
There are several programs that use pthread but do not link against it
explicitly.  We need to link against pthread explicitly.
Reviewed by: nhosoi (Thanks!)
Rich Megginson 15 years ago
parent
commit
1ce1a045b7
5 changed files with 14 additions and 9 deletions
  1. 4 3
      Makefile.am
  2. 7 6
      Makefile.in
  3. 0 0
      configure
  4. 3 0
      configure.ac
  5. 0 0
      ltmain.sh

+ 4 - 3
Makefile.am

@@ -61,6 +61,7 @@ LIBNSL=@LIBNSL@
 LIBDL=@LIBDL@
 LIBCSTD=@LIBCSTD@
 LIBCRUN=@LIBCRUN@
+THREADLIB=@THREADLIB@
 
 #------------------------
 # Generated Sources
@@ -1113,7 +1114,7 @@ ldap_agent_bin_SOURCES = ldap/servers/snmp/main.c \
 	ldap/servers/slapd/agtmmap.c
 
 ldap_agent_bin_CPPFLAGS = $(AM_CPPFLAGS) @netsnmp_inc@ @openldap_inc@ @ldapsdk_inc@ @nss_inc@ @nspr_inc@
-ldap_agent_bin_LDADD = $(LDAPSDK_LINK) $(SASL_LINK) $(NSS_LINK) $(NSPR_LINK) $(NETSNMP_LINK) 
+ldap_agent_bin_LDADD = $(LDAPSDK_LINK) $(SASL_LINK) $(NSS_LINK) $(NSPR_LINK) $(NETSNMP_LINK) $(THREADLIB)
 if SOLARIS
 ldap_agent_bin_LDADD += -lrt
 endif
@@ -1140,7 +1141,7 @@ ldclt_bin_SOURCES += ldap/servers/slapd/tools/ldclt/opCheck.c
 endif
 
 ldclt_bin_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/ldap/servers/slapd/tools @openldap_inc@ @ldapsdk_inc@ @sasl_inc@ @nss_inc@ @nspr_inc@
-ldclt_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBNSL) $(LIBSOCKET) $(LIBDL)
+ldclt_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBNSL) $(LIBSOCKET) $(LIBDL) $(THREADLIB)
 
 #------------------------
 # ldif
@@ -1217,7 +1218,7 @@ ns_slapd_SOURCES = ldap/servers/slapd/abandon.c \
 ns_slapd_CPPFLAGS = $(AM_CPPFLAGS) @sasl_inc@ @openldap_inc@ @ldapsdk_inc@ @nss_inc@ \
 	@nspr_inc@ @svrcore_inc@
 ns_slapd_LDADD = libslapd.la libldaputil.a $(LDAPSDK_LINK) $(NSS_LINK) \
-	$(NSPR_LINK) $(SASL_LINK) $(SVRCORE_LINK) $(LIBNSL) $(LIBSOCKET)
+	$(NSPR_LINK) $(SASL_LINK) $(SVRCORE_LINK) $(LIBNSL) $(LIBSOCKET) $(THREADLIB)
 # We need to link ns-slapd with the C++ compiler on HP-UX since we load
 # some C++ shared libraries (such as icu).
 if HPUX

+ 7 - 6
Makefile.in

@@ -669,7 +669,7 @@ ldap_agent_bin_OBJECTS = $(am_ldap_agent_bin_OBJECTS)
 ldap_agent_bin_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 am__ldclt_bin_SOURCES_DIST = ldap/servers/slapd/tools/ldaptool-sasl.c \
 	ldap/servers/slapd/tools/ldclt/data.c \
 	ldap/servers/slapd/tools/ldclt/ldapfct.c \
@@ -702,7 +702,7 @@ ldclt_bin_OBJECTS = $(am_ldclt_bin_OBJECTS)
 ldclt_bin_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 am_ldif_bin_OBJECTS =  \
 	ldap/servers/slapd/tools/ldif_bin-ldif.$(OBJEXT)
 ldif_bin_OBJECTS = $(am_ldif_bin_OBJECTS)
@@ -779,7 +779,7 @@ ns_slapd_DEPENDENCIES = libslapd.la libldaputil.a \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 am_pwdhash_bin_OBJECTS =  \
 	ldap/servers/slapd/tools/pwdhash_bin-pwenc.$(OBJEXT)
 pwdhash_bin_OBJECTS = $(am_pwdhash_bin_OBJECTS)
@@ -988,6 +988,7 @@ SHELL = @SHELL@
 SOLARIS_FALSE = @SOLARIS_FALSE@
 SOLARIS_TRUE = @SOLARIS_TRUE@
 STRIP = @STRIP@
+THREADLIB = @THREADLIB@
 VERSION = @VERSION@
 WINNT_FALSE = @WINNT_FALSE@
 WINNT_TRUE = @WINNT_TRUE@
@@ -2102,7 +2103,7 @@ ldap_agent_bin_SOURCES = ldap/servers/snmp/main.c \
 
 ldap_agent_bin_CPPFLAGS = $(AM_CPPFLAGS) @netsnmp_inc@ @openldap_inc@ @ldapsdk_inc@ @nss_inc@ @nspr_inc@
 ldap_agent_bin_LDADD = $(LDAPSDK_LINK) $(SASL_LINK) $(NSS_LINK) \
-	$(NSPR_LINK) $(NETSNMP_LINK) $(am__append_2)
+	$(NSPR_LINK) $(NETSNMP_LINK) $(THREADLIB) $(am__append_2)
 
 #------------------------
 # ldclt
@@ -2120,7 +2121,7 @@ ldclt_bin_SOURCES = ldap/servers/slapd/tools/ldaptool-sasl.c \
 	ldap/servers/slapd/tools/ldclt/version.c \
 	ldap/servers/slapd/tools/ldclt/workarounds.c $(am__append_3)
 ldclt_bin_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/ldap/servers/slapd/tools @openldap_inc@ @ldapsdk_inc@ @sasl_inc@ @nss_inc@ @nspr_inc@
-ldclt_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBNSL) $(LIBSOCKET) $(LIBDL)
+ldclt_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBNSL) $(LIBSOCKET) $(LIBDL) $(THREADLIB)
 
 #------------------------
 # ldif
@@ -2188,7 +2189,7 @@ ns_slapd_CPPFLAGS = $(AM_CPPFLAGS) @sasl_inc@ @openldap_inc@ @ldapsdk_inc@ @nss_
 	@nspr_inc@ @svrcore_inc@
 
 ns_slapd_LDADD = libslapd.la libldaputil.a $(LDAPSDK_LINK) $(NSS_LINK) \
-	$(NSPR_LINK) $(SASL_LINK) $(SVRCORE_LINK) $(LIBNSL) $(LIBSOCKET)
+	$(NSPR_LINK) $(SASL_LINK) $(SVRCORE_LINK) $(LIBNSL) $(LIBSOCKET) $(THREADLIB)
 
 @HPUX_FALSE@ns_slapd_LINK = $(LINK)
 # We need to link ns-slapd with the C++ compiler on HP-UX since we load

File diff suppressed because it is too large
+ 0 - 0
configure


+ 3 - 0
configure.ac

@@ -347,6 +347,9 @@ case $host in
         AC_CHECK_DECLS([__sync_add_and_fetch])
         ;;
     esac
+    # some programs use the native thread library directly
+    THREADLIB=-lpthread
+    AC_SUBST([THREADLIB], [$THREADLIB])
     ;;
   ia64-hp-hpux*)
     AC_DEFINE([XP_UNIX], [1], [UNIX])

+ 0 - 0
ltmain.sh


Some files were not shown because too many files changed in this diff