Point at readline fix on macOS
authorPhil Pennock <pdp@exim.org>
Sun, 26 Feb 2017 01:18:08 +0000 (20:18 -0500)
committerPhil Pennock <pdp@exim.org>
Sun, 26 Feb 2017 01:18:08 +0000 (20:18 -0500)
dlopen() without a qualified path searches env vars and paths stamped
into the binary; Exim is usually setuid, so this becomes just the paths
stamped into the binary.  On some platforms (*cough* macOS) libreadline
is not in the usual places.

So show how to stamp the Homebrew location of libreadline into the Exim
binary.

src/src/EDITME

index 956b1e1e29343585003cd97abb6ad19cf6bae3e8..5ac5a55dcc17bcd6b1404474d4d70362b609b5a6 100644 (file)
@@ -1099,6 +1099,13 @@ SYSTEM_ALIASES_FILE=/etc/aliases
 # Note that this option adds to the size of the Exim binary, because the
 # dynamic loading library is not otherwise included.
 
 # Note that this option adds to the size of the Exim binary, because the
 # dynamic loading library is not otherwise included.
 
+# If libreadline is not in the normal library paths, then because Exim is
+# setuid you'll need to ensure that the correct directory is stamped into
+# the binary so that dlopen will find it.
+# Eg, on macOS/Darwin with a third-party install of libreadline, perhaps:
+
+# EXTRALIBS_EXIM+=-Wl,-rpath,/usr/local/opt/readline/lib
+
 
 #------------------------------------------------------------------------------
 # Uncomment this setting to include IPv6 support.
 
 #------------------------------------------------------------------------------
 # Uncomment this setting to include IPv6 support.