On Wed, Nov 28, 2018 at 11:00:33PM +1100, James Brown wrote:
> > On 28 Nov 2018, at 10:38 pm, Herbert J. Skuhra wrote:
> > 
> > On Wed, Nov 28, 2018 at 09:55:02PM +1100, James Brown wrote:
> >> I have installed OpenSSL v1.1.1 via Homebrew. I’m trying to install 
> >> Postfix 3.3.2 but it always ends with:
> >> 
> >> cc -I. -I../../include -DUSE_TLS -DUSE_SASL_AUTH 
> >> -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DDEF_COMMAND_DIR=\"/usr/local/sbin\" 
> >> -DDEF_CONFIG_DIR=\"/usr/local/etc/postfix\" 
> >> -DDEF_DAEMON_DIR=\"/usr/local/libexec/postfix\" -DHAS_PCRE 
> >> -I/usr/local/opt//include -DHAS_SSL 
> >> -I/usr/local/Cellar/[email protected]/1.1.1/include/openssl -DHAS_MYSQL 
> >> -I/usr/local/opt/[email protected]/include/mysql -DBIND_8_COMPAT -DNO_NETINFO 
> >> -DRESOLVE_H_NEEDS_ARPA_NAMESER_COMPAT_H -DNO_EAI 
> >> -DDEF_SMTPUTF8_ENABLE=\"no\" -DHAS_DEV_URANDOM 
> >> -DDEF_MAILQ_PATH=\"/usr/local/bin/mailq\" 
> >> -DDEF_NEWALIAS_PATH=\"/usr/local/bin/newaliases\" 
> >> -DDEF_SENDMAIL_PATH=\"/usr/local/sbin/sendmail\" -UUSE_DYNAMIC_LIBS 
> >> -DDEF_SHLIB_DIR=\"no\" -UUSE_DYNAMIC_MAPS -Wmissing-prototypes -Wformat 
> >> -Wno-comment  -g -O -I. -I../../include -DMACOSX -c abounce.c
> >> In file included from abounce.c:187:
> >> ./mail_params.h:20:10: fatal error: 'openssl/opensslv.h' file not found
> >> #include <openssl/opensslv.h>           /* OPENSSL_VERSION_NUMBER */
> >>         ^~~~~~~~~~~~~~~~~~~~
> >> 1 error generated.
> >> make: *** [abounce.o] Error 1
> >> 
> >> opensslv.h is at:
> >> 
> >> $ locate opensslv.h
> >> /usr/local/Cellar/openssl/1.0.2p/include/openssl/opensslv.h
> >> /usr/local/Cellar/openssl/1.0.2q/include/openssl/opensslv.h
> >> /usr/local/Cellar/[email protected]/1.1.1/include/openssl/opensslv.h
> >> /usr/local/Cellar/[email protected]/1.1.1a/include/openssl/opensslv.h
> >> 
> >> My Make script is:
> >> 
> >> $ make -f Makefile.init makefiles CCARGS='-DUSE_TLS -DUSE_SASL_AUTH \
> >> -DDEF_SERVER_SASL_TYPE=\"dovecot\" \
> >> -DDEF_COMMAND_DIR=\"/usr/local/sbin\" \
> >> -DDEF_CONFIG_DIR=\"/usr/local/etc/postfix\" \
> >> -DDEF_DAEMON_DIR=\"/usr/local/libexec/postfix\" \
> >> -DHAS_PCRE -I/usr/local/opt//include \
> >> -DHAS_SSL -I/usr/local/opt/[email protected]/1.1.1/include \
> >> -DHAS_MYSQL -I/usr/local/opt/[email protected]/include/mysql' 
> >> AUXLIBS='-L/usr/local/lib -lpcre -lssl -lcrypto 
> >> -L/usr/local/opt/[email protected]/lib \
> >> -lmysqlclient -lz -lm'  sendmail_path=/usr/local/sbin/sendmail 
> >> newaliases_path=/usr/local/bin/newaliases mailq_path=/usr/local/bin/mail
> >> 
> >> I’ve change the DHAS_SSL a few times but keep getting the exact same 
> >> error. I’m sure it’s a simple thing to fix, but can’t get it to work.
> >> 
> >> Any ideas?
> > 
> > Have you really tried -I/usr/local/Cellar/[email protected]/1.1.1/include/ ?
> > The build log shows -I/usr/local/Cellar/[email protected]/1.1.1/include/openssl.
> > 
> > And why do you have multiple versions of openssl (1.0.2p vs 1.0.2q and
> > 1.1.1 vs. 1.1.1a) installed?
> 
> Thanks Herbert.
> 
> Well, I thought that’s what I was using, but I’ve tried so many variations. 
> Removed the ‘/openssl’ and now I get:
> 
> c/postfix\" -DHAS_PCRE -I/usr/local/opt//include -DHAS_SSL 
> -I/usr/local/Cellar/[email protected]/1.1.1/include -DHAS_MYSQL 
> -I/usr/local/opt/[email protected]/include/mysql -DBIND_8_COMPAT -DNO_NETINFO 
> -DRESOLVE_H_NEEDS_ARPA_NAMESER_COMPAT_H -DNO_EAI -DDEF_SMTPUTF8_ENABLE=\"no\" 
> -DHAS_DEV_URANDOM -DDEF_MAILQ_PATH=\"/usr/local/bin/mailq\" 
> -DDEF_NEWALIAS_PATH=\"/usr/local/bin/newaliases\" 
> -DDEF_SENDMAIL_PATH=\"/usr/local/sbin/sendmail\" -UUSE_DYNAMIC_LIBS 
> -DDEF_SHLIB_DIR=\"no\" -UUSE_DYNAMIC_MAPS -Wmissing-prototypes -Wformat 
> -Wno-comment -g -O -I. -I../../include -DMACOSX  -o master master.o 
> master_conf.o master_ent.o master_sig.o master_avail.o master_spawn.o 
> master_service.o master_status.o master_listen.o master_vars.o 
> master_wakeup.o master_watch.o master_flow.o master_monitor.o 
> ../../lib/libglobal.a ../../lib/libutil.a -L/usr/local/lib -lpcre -lssl 
> -lcrypto -L/usr/local/opt/[email protected]/lib -lmysqlclient -lz -lm -flat_namespace 
> -lresolv 
> ld: library not found for -lssl
> clang: error: linker command failed with exit code 1 (use -v to see 
> invocation)
> make: *** [master] Error 1
> 
> Homebrew installed openssl 1.0.2 when I installed either stunnel or [email protected] 
> as Homebrew won’t let me uninstall that version as they are using it. Suppose 
> I’ll have to work out how to have Homebrew install them with [email protected] 
> somehow.

You also have to add -L/usr/local/Cellar/[email protected]/1.1.1/lib
(in front of -lssl -lcrypto).

You probably should use Openssl 1.1.1a (instead of 1.1.1) because it includes 
fixes
for known vulnerabilities.

-- 
Herbert

Reply via email to