On Tue, Jul 15, 2014 at 01:29:22AM +0000, Viktor Dukhovni wrote:
> Right, you're building with dynamicmaps=no, but SHLIB_SYSLIBS
> variable was not set quite right, see patch below. I also took
> the liberty of adding the RPATH to the shared library and plugin
> build command-lines.
Actually, AUXLIBS should come before SYSLIBS, so the correct patch is:
diff --git a/makedefs b/makedefs
index 7f83b32..0ccdba5 100644
--- a/makedefs
+++ b/makedefs
@@ -990,7 +990,7 @@ esac
case "$shared" in
yes) SHLIB_SYSLIBS=`${AWK} '
- BEGIN { wc = split("'"$SYSLIBS"'", words)
+ BEGIN { wc = split("'"$AUXLIBS $SYSLIBS"'", words)
for (n = 1; n <= wc; n++)
if (words[n] !~ /\.a$/)
printf(" %s", words[n])
diff --git a/src/dns/Makefile.in b/src/dns/Makefile.in
index b06966c..1f67499 100644
--- a/src/dns/Makefile.in
+++ b/src/dns/Makefile.in
@@ -33,7 +33,7 @@ root_tests:
$(LIB): $(OBJS)
$(AR) $(ARFL) $(LIB) $?
$(RANLIB) $(LIB)
- $(SHLIB_LD) -o $(LIB) $(OBJS) $(SHLIB_SYSLIBS)
+ $(SHLIB_LD) $(SHLIB_RPATH) -o $(LIB) $(OBJS) $(SHLIB_SYSLIBS)
$(LIB_DIR)/$(LIB): $(LIB)
cp $(LIB) $(LIB_DIR)
diff --git a/src/global/Makefile.in b/src/global/Makefile.in
index 2498f4f..14f35c8 100644
--- a/src/global/Makefile.in
+++ b/src/global/Makefile.in
@@ -138,7 +138,7 @@ test: $(TESTPROG)
$(LIB): $(OBJS)
$(AR) $(ARFL) $(LIB) $?
$(RANLIB) $(LIB)
- $(SHLIB_LD) -o $(LIB) $(OBJS) $(SHLIB_SYSLIBS)
+ $(SHLIB_LD) $(SHLIB_RPATH) -o $(LIB) $(OBJS) $(SHLIB_SYSLIBS)
$(LIB_DIR)/$(LIB): $(LIB)
cp $(LIB) $(LIB_DIR)
@@ -147,27 +147,29 @@ $(LIB_DIR)/$(LIB): $(LIB)
plugin_map_so_make: $(PLUGIN_MAP_SO)
$(LIB_PREFIX)ldap$(LIB_SUFFIX): dict_ldap.o
- $(PLUGIN_LD) -o $@ dict_ldap.o $(AUXLIBS_LDAP)
+ $(PLUGIN_LD) $(SHLIB_RPATH) -o $@ dict_ldap.o $(AUXLIBS_LDAP)
$(LIB_PREFIX)mysql$(LIB_SUFFIX): dict_mysql.o
- $(PLUGIN_LD) -o $@ dict_mysql.o $(AUXLIBS_MYSQL)
+ $(PLUGIN_LD) $(SHLIB_RPATH) -o $@ dict_mysql.o $(AUXLIBS_MYSQL)
$(LIB_PREFIX)pgsql$(LIB_SUFFIX): dict_pgsql.o
- $(PLUGIN_LD) -o $@ dict_pgsql.o $(AUXLIBS_PGSQL)
+ $(PLUGIN_LD) $(SHLIB_RPATH) -o $@ dict_pgsql.o $(AUXLIBS_PGSQL)
$(LIB_PREFIX)sqlite$(LIB_SUFFIX): dict_sqlite.o
- $(PLUGIN_LD) -o $@ dict_sqlite.o $(AUXLIBS_SQLITE)
+ $(PLUGIN_LD) $(SHLIB_RPATH) -o $@ dict_sqlite.o $(AUXLIBS_SQLITE)
$(LIB_PREFIX)cdb$(LIB_SUFFIX): mkmap_cdb.o $(LIB_DIR)/dict_cdb.o
- $(PLUGIN_LD) -o $@ mkmap_cdb.o $(LIB_DIR)/dict_cdb.o $(AUXLIBS_CDB)
+ $(PLUGIN_LD) $(SHLIB_RPATH) -o $@ mkmap_cdb.o \
+ $(LIB_DIR)/dict_cdb.o $(AUXLIBS_CDB)
$(LIB_PREFIX)lmdb$(LIB_SUFFIX): mkmap_lmdb.o $(LIB_DIR)/dict_lmdb.o \
$(LIB_DIR)/slmdb.o
- $(PLUGIN_LD) -o $@ mkmap_lmdb.o $(LIB_DIR)/dict_lmdb.o \
+ $(PLUGIN_LD) $(SHLIB_RPATH) -o $@ mkmap_lmdb.o $(LIB_DIR)/dict_lmdb.o \
$(LIB_DIR)/slmdb.o $(AUXLIBS_LMDB)
$(LIB_PREFIX)sdbm$(LIB_SUFFIX): mkmap_sdbm.o $(LIB_DIR)/dict_sdbm.o
- $(PLUGIN_LD) -o $@ mkmap_sdbm.o $(LIB_DIR)/dict_sdbm.o $(AUXLIBS_SDBM)
+ $(PLUGIN_LD) $(SHLIB_RPATH) -o $@ mkmap_sdbm.o \
+ $(LIB_DIR)/dict_sdbm.o $(AUXLIBS_SDBM)
update: $(LIB_DIR)/$(LIB) $(HDRS) $(PLUGIN_MAP_SO_UPDATE)
-for i in $(HDRS); \
diff --git a/src/master/Makefile.in b/src/master/Makefile.in
index 5d3bacc..4c6b607 100644
--- a/src/master/Makefile.in
+++ b/src/master/Makefile.in
@@ -44,7 +44,7 @@ root_tests:
$(LIB): $(LIB_OBJ)
$(AR) $(ARFL) $(LIB) $?
$(RANLIB) $(LIB)
- $(SHLIB_LD) -o $(LIB) $(LIB_OBJ) $(SHLIB_SYSLIBS)
+ $(SHLIB_LD) $(SHLIB_RPATH) -o $(LIB) $(LIB_OBJ) $(SHLIB_SYSLIBS)
$(LIB_DIR)/$(LIB): $(LIB)
cp $(LIB) $(LIB_DIR)/$(LIB)
diff --git a/src/tls/Makefile.in b/src/tls/Makefile.in
index 814ba38..896df5e 100644
--- a/src/tls/Makefile.in
+++ b/src/tls/Makefile.in
@@ -44,7 +44,7 @@ root_tests:
$(LIB): $(OBJS)
$(AR) $(ARFL) $(LIB) $?
$(RANLIB) $(LIB)
- $(SHLIB_LD) -o $(LIB) $(OBJS) $(SHLIB_SYSLIBS)
+ $(SHLIB_LD) $(SHLIB_RPATH) -o $(LIB) $(OBJS) $(SHLIB_SYSLIBS)
$(LIB_DIR)/$(LIB): $(LIB)
cp $(LIB) $(LIB_DIR)
diff --git a/src/util/Makefile.in b/src/util/Makefile.in
index 5a03a52..29ce751 100644
--- a/src/util/Makefile.in
+++ b/src/util/Makefile.in
@@ -143,7 +143,7 @@ test: $(TESTPROG)
$(LIB): $(OBJS)
$(AR) $(ARFL) $(LIB) $?
$(RANLIB) $(LIB)
- $(SHLIB_LD) -o $(LIB) $(OBJS) $(SHLIB_SYSLIBS)
+ $(SHLIB_LD) $(SHLIB_RPATH) -o $(LIB) $(OBJS) $(SHLIB_SYSLIBS)
$(LIB_DIR)/$(LIB): $(LIB)
cp $(LIB) $(LIB_DIR)
@@ -152,7 +152,7 @@ $(LIB_DIR)/$(LIB): $(LIB)
plugin_map_so_make: $(PLUGIN_MAP_SO)
$(LIB_PREFIX)pcre$(LIB_SUFFIX): dict_pcre.o
- $(PLUGIN_LD) -o $@ dict_pcre.o $(AUXLIBS_PCRE)
+ $(PLUGIN_LD) $(SHLIB_RPATH) -o $@ dict_pcre.o $(AUXLIBS_PCRE)
update: $(LIB_DIR)/$(LIB) $(HDRS) $(PLUGIN_MAP_SO_UPDATE) \
$(PLUGIN_MAP_OBJ_UPDATE)