Libraries should be linked with -rpath $libdir but programs should not. Doing so for the latter means that a redundant RPATH entry of $libdir will end up in the binaries. The redundant RPATH can also cause obscure build failures by causing in-build binaries to pick up libraries from the system environment, which libtool will otherwise avoid. --- subversion-1.6.1/build.conf.rpath +++ subversion-1.6.1/build.conf @@ -472,7 +472,7 @@ type = swig_lib lang = python path = subversion/bindings/swig/python/libsvn_swig_py libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr -link-cmd = $(LINK) $(SWIG_PY_LIBS) +link-cmd = $(LINK_LIB) $(SWIG_PY_LIBS) install = swig-py-lib # need special build rule to include -DSWIGPYTHON compile-cmd = $(COMPILE_SWIG_PY) @@ -495,7 +495,7 @@ type = swig_lib lang = ruby path = subversion/bindings/swig/ruby/libsvn_swig_ruby libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr -link-cmd = $(LINK) $(SWIG_RB_LIBS) +link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS) install = swig-rb-lib # need special build rule to include compile-cmd = $(COMPILE_SWIG_RB) --- subversion-1.6.1/build/generator/gen_base.py.rpath +++ subversion-1.6.1/build/generator/gen_base.py @@ -455,6 +455,10 @@ class TargetLib(TargetLinked): self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target self.msvc_export = options.get('msvc-export', '').split() + ### hmm. this is Makefile-specific + if self.link_cmd == '$(LINK)': + self.link_cmd = '$(LINK_LIB)' + class TargetApacheMod(TargetLib): def __init__(self, name, options, gen_obj): --- subversion-1.6.1/Makefile.in.rpath +++ subversion-1.6.1/Makefile.in @@ -184,7 +184,8 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXF COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS) COMPILE_JAVAHL_JAVAH = $(JAVAH) -LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir) +LINK_LIB = $(LINK) -rpath $(libdir) +LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir) # special link rule for mod_dav_svn