[caffe-contrib] 13/362: patch: 01-fix-makefile-rpath-and-soname.patch

Zhou Mo cdluminate-guest at moszumanska.debian.org
Tue May 3 09:24:07 UTC 2016


This is an automated email from the git hooks/post-receive script.

cdluminate-guest pushed a commit to branch master
in repository caffe-contrib.

commit ca87f0874738aafbfceb787da6d694eabdcae993
Author: Zhou Mo <cdluminate at gmail.com>
Date:   Thu Jul 9 01:38:00 2015 +0000

    patch: 01-fix-makefile-rpath-and-soname.patch
---
 .../patches/01-fix-makefile-rpath-and-soname.patch | 104 +++++++++++++++++++++
 1 file changed, 104 insertions(+)

diff --git a/debian/patches/01-fix-makefile-rpath-and-soname.patch b/debian/patches/01-fix-makefile-rpath-and-soname.patch
new file mode 100644
index 0000000..22ba3f5
--- /dev/null
+++ b/debian/patches/01-fix-makefile-rpath-and-soname.patch
@@ -0,0 +1,104 @@
+Fix rpath issue in upstream Makefile
+--- a/Makefile
++++ b/Makefile
+@@ -1,3 +1,8 @@
++### start debian
++# check DYNAMIC_NAME when bumping SONAME
++SONAME := libcaffe.so.0
++### end debian
++
+ PROJECT := caffe
+ 
+ CONFIG_FILE := Makefile.config
+@@ -31,7 +36,7 @@
+ # The target shared library name
+ LIB_BUILD_DIR := $(BUILD_DIR)/lib
+ STATIC_NAME := $(LIB_BUILD_DIR)/lib$(PROJECT).a
+-DYNAMIC_NAME := $(LIB_BUILD_DIR)/lib$(PROJECT).so
++DYNAMIC_NAME := $(LIB_BUILD_DIR)/lib$(PROJECT).so.0
+ 
+ ##############################
+ # Get all source files
+@@ -255,7 +260,7 @@
+ 	# boost::thread is called boost_thread-mt to mark multithreading on OS X
+ 	LIBRARIES += boost_thread-mt
+ 	# we need to explicitly ask for the rpath to be obeyed
+-	DYNAMIC_FLAGS := -install_name @rpath/libcaffe.so
++	DYNAMIC_FLAGS := -Wl,-soname,$(SONAME)
+ 	ORIGIN := @loader_path
+ else
+ 	ORIGIN := \$$ORIGIN
+@@ -441,9 +446,15 @@
+ 
+ $(PY$(PROJECT)_SO): $(PY$(PROJECT)_SRC) $(PY$(PROJECT)_HXX) | $(DYNAMIC_NAME)
+ 	@ echo CXX/LD -o $@ $<
+-	$(Q)$(CXX) -shared -o $@ $(PY$(PROJECT)_SRC) \
++	#$(Q)$(CXX) -shared -o $@ $(PY$(PROJECT)_SRC) \
++	#	-o $@ $(LINKFLAGS) -l$(PROJECT) $(PYTHON_LDFLAGS) \
++	#	-L$(ORIGIN)/$(LIB_BUILD_DIR)/
++	echo "$(CXX) -shared -o $@ $(PY$(PROJECT)_SRC) \
+ 		-o $@ $(LINKFLAGS) -l$(PROJECT) $(PYTHON_LDFLAGS) \
+-		-Wl,-rpath,$(ORIGIN)/../../build/lib
++		-L$(ORIGIN)/$(LIB_BUILD_DIR)/ " > build_py_so.sh
++	sed -i -e 's/-pie//g' -e 's/-fPIE/-fPIE -fPIC/g' build_py_so.sh
++	sh build_py_so.sh
++	$(RM) build_py_so.sh
+ 
+ mat$(PROJECT): mat
+ 
+@@ -506,7 +517,13 @@
+ 
+ $(DYNAMIC_NAME): $(OBJS) | $(LIB_BUILD_DIR)
+ 	@ echo LD -o $@
+-	$(Q)$(CXX) -shared -o $@ $(OBJS) $(LINKFLAGS) $(LDFLAGS) $(DYNAMIC_FLAGS)
++	#$(Q)$(CXX) -shared -o $@ $(OBJS) $(LINKFLAGS) $(LDFLAGS) $(DYNAMIC_FLAGS)
++	echo $(CXX) -shared -o $@ $(OBJS) $(LINKFLAGS) $(LDFLAGS) $(DYNAMIC_FLAGS) \
++		-Wl,-soname,$(SONAME) > build_so.sh
++	sed -i -e 's/-pie//g' build_so.sh
++	sh build_so.sh
++	$(RM) build_so.sh
++	sh -c "cd $(LIB_BUILD_DIR); ln -s $(SONAME) libcaffe.so"
+ 
+ $(STATIC_NAME): $(OBJS) | $(LIB_BUILD_DIR)
+ 	@ echo AR -o $@
+@@ -537,19 +554,22 @@
+ 		| $(DYNAMIC_NAME) $(TEST_BIN_DIR)
+ 	@ echo CXX/LD -o $@ $<
+ 	$(Q)$(CXX) $(TEST_MAIN_SRC) $(TEST_OBJS) $(GTEST_OBJ) \
+-		-o $@ $(LINKFLAGS) $(LDFLAGS) -l$(PROJECT) -Wl,-rpath,$(ORIGIN)/../lib
++		-o $@ $(LINKFLAGS) $(LDFLAGS) -l$(PROJECT) \
++		-L$(ORIGIN)/$(LIB_BUILD_DIR)/
+ 
+ $(TEST_CU_BINS): $(TEST_BIN_DIR)/%.testbin: $(TEST_CU_BUILD_DIR)/%.o \
+ 	$(GTEST_OBJ) | $(DYNAMIC_NAME) $(TEST_BIN_DIR)
+ 	@ echo LD $<
+ 	$(Q)$(CXX) $(TEST_MAIN_SRC) $< $(GTEST_OBJ) \
+-		-o $@ $(LINKFLAGS) $(LDFLAGS) -l$(PROJECT) -Wl,-rpath,$(ORIGIN)/../lib
++		-o $@ $(LINKFLAGS) $(LDFLAGS) -l$(PROJECT) \
++		-L$(ORIGIN)/$(LIB_BUILD_DIR)/
+ 
+ $(TEST_CXX_BINS): $(TEST_BIN_DIR)/%.testbin: $(TEST_CXX_BUILD_DIR)/%.o \
+ 	$(GTEST_OBJ) | $(DYNAMIC_NAME) $(TEST_BIN_DIR)
+ 	@ echo LD $<
+ 	$(Q)$(CXX) $(TEST_MAIN_SRC) $< $(GTEST_OBJ) \
+-		-o $@ $(LINKFLAGS) $(LDFLAGS) -l$(PROJECT) -Wl,-rpath,$(ORIGIN)/../lib
++		-o $@ $(LINKFLAGS) $(LDFLAGS) -l$(PROJECT) \
++		-L$(ORIGIN)/$(LIB_BUILD_DIR)/
+ 
+ # Target for extension-less symlinks to tool binaries with extension '*.bin'.
+ $(TOOL_BUILD_DIR)/%: $(TOOL_BUILD_DIR)/%.bin | $(TOOL_BUILD_DIR)
+@@ -559,12 +579,12 @@
+ $(TOOL_BINS): %.bin : %.o | $(DYNAMIC_NAME)
+ 	@ echo CXX/LD -o $@
+ 	$(Q)$(CXX) $< -o $@ $(LINKFLAGS) -l$(PROJECT) $(LDFLAGS) \
+-		-Wl,-rpath,$(ORIGIN)/../lib
++		-L$(ORIGIN)/$(LIB_BUILD_DIR)/
+ 
+ $(EXAMPLE_BINS): %.bin : %.o | $(DYNAMIC_NAME)
+ 	@ echo CXX/LD -o $@
+ 	$(Q)$(CXX) $< -o $@ $(LINKFLAGS) -l$(PROJECT) $(LDFLAGS) \
+-		-Wl,-rpath,$(ORIGIN)/../../lib
++		-L$(ORIGIN)/$(LIB_BUILD_DIR)/
+ 
+ proto: $(PROTO_GEN_CC) $(PROTO_GEN_HEADER)
+ 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/caffe-contrib.git



More information about the debian-science-commits mailing list