You are correct - it appears the new version of OpenSSL did not create a .so file.
It appears that "./config shared" is a necessary build option. Then the following make statement succeeded: make TARGET=linux2628 USE_PCRE=1 USE_SLZ=1 USE_OPENSSL=1 SSL_INC=/usr/local/ssl/include/openssl SSL_LIB=/usr/local/ssl/lib Thank you all and sundry. -----Original Message----- From: Willy Tarreau [mailto:[email protected]] Sent: July-28-17 6:18 AM To: Norman Branitsky <[email protected]> Cc: [email protected] Subject: Re: HAProxy 1.7.8 compile problem with new OpenSSL On Wed, Jul 26, 2017 at 06:40:46PM +0000, Norman Branitsky wrote: > On another server, I upgraded OpenSSL: > > # openssl version > > OpenSSL 1.0.2l 25 May 2017 > > This is my make statement: > > # make TARGET=linux2628 USE_OPENSSL=1 USE_PCRE=1 USE_SLZ=1 > > This is the end of the compile output: > > gcc -g -o haproxy src/haproxy.o src/base64.o src/protocol.o src/uri_auth.o > src/standard.o src/buffer.o src/log.o src/task.o src/chunk.o src/channel.o > src/listener.o src/lru.o src/xxhash.o src/time.o src/fd.o src/pipe.o > src/regex.o src/cfgparse.o src/server.o src/checks.o src/queue.o > src/frontend.o src/proxy.o src/peers.o src/arg.o src/stick_table.o > src/proto_uxst.o src/connection.o src/proto_http.o src/raw_sock.o > src/backend.o src/tcp_rules.o src/lb_chash.o src/lb_fwlc.o src/lb_fwrr.o > src/lb_map.o src/lb_fas.o src/stream_interface.o src/stats.o src/proto_tcp.o > src/applet.o src/session.o src/stream.o src/hdr_idx.o src/ev_select.o > src/signal.o src/acl.o src/sample.o src/memory.o src/freq_ctr.o src/auth.o > src/proto_udp.o src/compression.o src/payload.o src/hash.o src/pattern.o > src/map.o src/namespace.o src/mailers.o src/dns.o src/vars.o src/filters.o > src/flt_http_comp.o src/flt_trace.o src/flt_spoe.o src/cli.o src/ev_poll.o > src/ev_epoll.o src/ssl_sock.o src/shctx.o ebtree/ebtree.o ebtree/eb32tree.o > ebtree/eb64tree.o ebtree/ebmbtree.o ebtree/ebsttree.o ebtree/ebimtree.o > ebtree/ebistree.o -lcrypt -lslz -ldl -lssl -lcrypto -ldl -L/usr/lib > -lpcreposix -lpcre > > src/ssl_sock.o: In function `smp_fetch_ssl_fc_alpn': > > /tmp/haproxy-1.7.8/src/ssl_sock.c:4927: undefined reference to > `SSL_get0_alpn_selected' > > src/ssl_sock.o: In function `ssl_sock_load_sctl': > > /tmp/haproxy-1.7.8/src/ssl_sock.c:1006: undefined reference to > `SSL_CTX_add_server_custom_ext' > > src/ssl_sock.o: In function `ssl_sock_prepare_ctx': > > /tmp/haproxy-1.7.8/src/ssl_sock.c:2879: undefined reference to > `SSL_CTX_set_alpn_select_cb' > > collect2: error: ld returned 1 exit status > > make: *** [haproxy] Error 1 I think you have not correctly upgraded your openssl version on this machine. It detected version 1.0.2 and enabled ALPN (so the include files are OK) but it seems that it linked against the previous one. You probably have some libssl.so lying around and still pointing to 1.0.1. Willy

