[caffe] 13/249: patch: 01-fix-makefile-rpath-and-soname.patch
Zhou Mo
cdluminate-guest at moszumanska.debian.org
Tue Mar 8 14:51:12 UTC 2016
This is an automated email from the git hooks/post-receive script.
cdluminate-guest pushed a commit to branch debian/experimental
in repository caffe.
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.git
More information about the debian-science-commits
mailing list