From 4f769d342c72345cbbe5a20dee130cb220de65e8 Mon Sep 17 00:00:00 2001 From: Frank Liu Date: Wed, 9 Jan 2019 09:06:39 -0800 Subject: [PATCH] Fix cpp examples build on Mac. This is a regression of addning @rpath name to libmxnet.so on Mac, example executable is not able to find libmxnet.so anymore. Add @rpath search path to fix this issue. --- cpp-package/example/Makefile | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/cpp-package/example/Makefile b/cpp-package/example/Makefile index 58d4c82bdb35..237ab96a3e32 100644 --- a/cpp-package/example/Makefile +++ b/cpp-package/example/Makefile @@ -15,6 +15,12 @@ # specific language governing permissions and limitations # under the License. +ifeq ($(OS),Windows_NT) + UNAME_S := Windows +else + UNAME_S := $(shell uname -s) +endif + prebuild : @mkdir -p build $(shell ./get_data.sh) @@ -30,6 +36,7 @@ endif # CPPEX_CFLAGS += -I../include CPPEX_EXTRA_LDFLAGS := -L../../lib -lmxnet +MXNET_LIB_PATH := $(shell cd ../../lib; pwd) .PHONY: all clean @@ -38,10 +45,12 @@ all: prebuild $(CPPEX_EXE) debug: CPPEX_CFLAGS += -DDEBUG -g debug: prebuild all - - $(CPPEX_EXE):% : %.cpp $(CXX) -std=c++11 $(CFLAGS) $(CPPEX_CFLAGS) -o build/$@ $(filter %.cpp %.a, $^) $(CPPEX_EXTRA_LDFLAGS) +ifeq ($(UNAME_S), Darwin) + install_name_tool -add_rpath @loader_path build/$@ + install_name_tool -add_rpath $(MXNET_LIB_PATH) build/$@ +endif clean: @rm -rf build