Index: rts/ghc.mk
===================================================================
--- rts/ghc.mk.orig	2017-01-03 15:59:18.000000000 +0000
+++ rts/ghc.mk	2017-01-19 02:47:52.152613917 +0000
@@ -471,6 +471,7 @@
 rts_PACKAGE_CPP_OPTS += -DFFI_INCLUDE_DIR=$(FFIIncludeDir)
 rts_PACKAGE_CPP_OPTS += -DFFI_LIB_DIR=$(FFILibDir)
 rts_PACKAGE_CPP_OPTS += '-DFFI_LIB='
+LIBFFI_LIBS += -optl-Wl,-rpath,$(FFILibDir)
 
 else # UseSystemLibFFI==YES
 
Index: rules/distdir-way-opts.mk
===================================================================
--- rules/distdir-way-opts.mk.orig	2017-01-04 04:04:11.000000000 +0000
+++ rules/distdir-way-opts.mk	2017-01-19 02:49:15.223741190 +0000
@@ -218,6 +218,8 @@
 ifeq "$$(TargetElf)" "YES"
 $1_$2_$3_GHC_LD_OPTS += \
     -fno-use-rpaths \
+    -optl-Wl,-rpath,$(FFILibDir) \
+    -optl-Wl,-rpath,$(GMP_LIB_DIRS) \
     $$(foreach d,$$($1_$2_TRANSITIVE_DEP_COMPONENT_IDS),-optl-Wl$$(comma)-rpath -optl-Wl$$(comma)'$$$$ORIGIN/../$$d') -optl-Wl,-zorigin
 else ifeq "$$(TargetOS_CPP)" "darwin"
 $1_$2_$3_GHC_LD_OPTS += \
