On 6/22/18 12:21 PM, Lukas Tribus wrote:
> - share:
> grep OPENSSL_VERSION_TEXT /usr/include/openssl/opensslv.h
> grep OPENSSL_VERSION_TEXT /usr/local/include/openssl/opensslv.h
> grep OPENSSL_VERSION_TEXT /usr/local/openssl11/include/openssl/opensslv.h
grep OPENSSL_VERSION_TEXT /usr/include/openssl/opensslv.h
# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0h-fips 27 Mar 2018"
# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0h 27 Mar 2018"
grep OPENSSL_VERSION_TEXT /usr/local/include/openssl/opensslv.h
grep: /usr/local/include/openssl/opensslv.h: No such file or directory
grep OPENSSL_VERSION_TEXT /usr/local/openssl11/include/openssl/opensslv.h
# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0h-fips 27 Mar 2018"
# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0h 27 Mar 2018"
where
cat /usr/local/openssl11/include/openssl/opensslv.h
...
42 # define OPENSSL_VERSION_NUMBER 0x1010008fL
# ifdef OPENSSL_FIPS
# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0h-fips 27 Mar
2018"
# else
# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0h 27 Mar 2018"
# endif
...
> - don't build with PCRE for now
> - retry the SSL_INC/SSL_LIB approach (but without PCRE at all)
> - share the gcc lines of your original attempt (atleast one compile
> line and the linking)
unset LDFLAGS
make clean
make V=1 \
TARGET=linux2628 \
USE_SYSTEMD=1 \
USE_OPENSSL=1 \
ADDINC=" -I/usr/local/openssl11/include" \
ADDLIB=" -L/usr/local/openssl11/lib64 -Wl,-rpath,/usr/local/openssl11/lib64" \
ADDLIB="-ldl"
...
gcc -Iinclude -Iebtree -Wall -O2 -g -fno-strict-aliasing
-Wdeclaration-after-statement -fwrapv -fno-strict-overflow
-Wno-format-truncation -Wno-null-dereference -Wno-unused-label
-DCONFIG_HAP_LINUX_SPLICE -DTPROXY -DCONFIG_HAP_LINUX_TPROXY -DCONFIG_HAP_CRYPT
-DENABLE_POLL -DENABLE_EPOLL -DUSE_CPU_AFFINITY -DASSUME_SPLICE_WORKS
-DUSE_ACCEPT4 -DNETFILTER -DUSE_THREAD -DUSE_OPENSSL -DUSE_SYSCALL_FUTEX
-DUSE_SYSTEMD -I/usr/local/openssl11/include
-DCONFIG_HAPROXY_VERSION=\"1.8.10-ec17d7a\"
-DCONFIG_HAPROXY_DATE=\"2018/06/22\" -c -o src/ssl_sock.o src/ssl_sock.c
src/ssl_sock.c: In function ‘ssl_locking_function’:
src/ssl_sock.c:220:13: error: ‘CRYPTO_LOCK’ undeclared (first use in
this function); did you mean ‘CRYPTO_RWLOCK’?
if (mode & CRYPTO_LOCK) {
^~~~~~~~~~~
CRYPTO_RWLOCK
src/ssl_sock.c:220:13: note: each undeclared identifier is reported
only once for each function it appears in
src/ssl_sock.c:221:14: error: ‘CRYPTO_READ’ undeclared (first use in
this function); did you mean ‘CRYPTO_ONCE’?
if (mode & CRYPTO_READ)
^~~~~~~~~~~
CRYPTO_ONCE
src/ssl_sock.c: In function ‘ssl_locking_init’:
src/ssl_sock.c:238:43: warning: implicit declaration of function
‘CRYPTO_num_locks’; did you mean ‘CRYPTO_realloc’?
[-Wimplicit-function-declaration]
ssl_rwlocks = malloc(sizeof(HA_RWLOCK_T)*CRYPTO_num_locks());
^~~~~~~~~~~~~~~~
CRYPTO_realloc
src/ssl_sock.c:245:2: warning: implicit declaration of function
‘CRYPTO_set_id_callback’; did you mean ‘BIO_set_callback’?
[-Wimplicit-function-declaration]
CRYPTO_set_id_callback(ssl_id_function);
^~~~~~~~~~~~~~~~~~~~~~
BIO_set_callback
src/ssl_sock.c:246:2: warning: implicit declaration of function
‘CRYPTO_set_locking_callback’; did you mean ‘BIO_set_info_callback’?
[-Wimplicit-function-declaration]
CRYPTO_set_locking_callback(ssl_locking_function);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
BIO_set_info_callback
src/ssl_sock.c: In function ‘ssl_sock_do_create_cert’:
src/ssl_sock.c:1693:23: warning: implicit declaration of function
‘X509_get_notBefore’; did you mean ‘X509_getm_notBefore’?
[-Wimplicit-function-declaration]
if (!X509_gmtime_adj(X509_get_notBefore(newcrt), (long)-60*60*24) ||
^~~~~~~~~~~~~~~~~~
X509_getm_notBefore
src/ssl_sock.c:1693:23: warning: passing argument 1 of
‘X509_gmtime_adj’ makes pointer from integer without a cast [-Wint-conversion]
if (!X509_gmtime_adj(X509_get_notBefore(newcrt), (long)-60*60*24) ||
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/openssl11/include/openssl/pem.h:17,
from /usr/local/openssl11/include/openssl/ssl.h:55,
from src/ssl_sock.c:43:
/usr/local/openssl11/include/openssl/x509.h:479:12: note: expected
‘ASN1_TIME *’ {aka ‘struct asn1_string_st *’} but argument is of type ‘int’
ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj);
^~~~~~~~~~~~~~~
src/ssl_sock.c:1694:23: warning: implicit declaration of function
‘X509_get_notAfter’; did you mean ‘X509_getm_notAfter’?
[-Wimplicit-function-declaration]
!X509_gmtime_adj(X509_get_notAfter(newcrt),(long)60*60*24*365))
^~~~~~~~~~~~~~~~~
X509_getm_notAfter
src/ssl_sock.c:1694:23: warning: passing argument 1 of
‘X509_gmtime_adj’ makes pointer from integer without a cast [-Wint-conversion]
!X509_gmtime_adj(X509_get_notAfter(newcrt),(long)60*60*24*365))
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/openssl11/include/openssl/pem.h:17,
from /usr/local/openssl11/include/openssl/ssl.h:55,
from src/ssl_sock.c:43:
/usr/local/openssl11/include/openssl/x509.h:479:12: note: expected
‘ASN1_TIME *’ {aka ‘struct asn1_string_st *’} but argument is of type ‘int’
ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj);
^~~~~~~~~~~~~~~
src/ssl_sock.c: In function ‘ssl_get_dh_1024’:
src/ssl_sock.c:2421:7: warning: implicit declaration of function
‘BN_bin2bn’; did you mean ‘OBJ_nid2sn’? [-Wimplicit-function-declaration]
p = BN_bin2bn(dh1024_p, sizeof dh1024_p, NULL);
^~~~~~~~~
OBJ_nid2sn
src/ssl_sock.c:2421:5: warning: assignment to ‘BIGNUM *’ {aka ‘struct
bignum_st *’} from ‘int’ makes pointer from integer without a cast
[-Wint-conversion]
p = BN_bin2bn(dh1024_p, sizeof dh1024_p, NULL);
^
src/ssl_sock.c:2422:5: warning: assignment to ‘BIGNUM *’ {aka ‘struct
bignum_st *’} from ‘int’ makes pointer from integer without a cast
[-Wint-conversion]
g = BN_bin2bn(dh1024_g, sizeof dh1024_g, NULL);
^
src/ssl_sock.c: In function ‘ssl_get_dh_2048’:
src/ssl_sock.c:2468:5: warning: assignment to ‘BIGNUM *’ {aka ‘struct
bignum_st *’} from ‘int’ makes pointer from integer without a cast
[-Wint-conversion]
p = BN_bin2bn(dh2048_p, sizeof dh2048_p, NULL);
^
src/ssl_sock.c:2469:5: warning: assignment to ‘BIGNUM *’ {aka ‘struct
bignum_st *’} from ‘int’ makes pointer from integer without a cast
[-Wint-conversion]
g = BN_bin2bn(dh2048_g, sizeof dh2048_g, NULL);
^
src/ssl_sock.c: In function ‘ssl_get_dh_4096’:
src/ssl_sock.c:2536:5: warning: assignment to ‘BIGNUM *’ {aka ‘struct
bignum_st *’} from ‘int’ makes pointer from integer without a cast
[-Wint-conversion]
p = BN_bin2bn(dh4096_p, sizeof dh4096_p, NULL);
^
src/ssl_sock.c:2537:5: warning: assignment to ‘BIGNUM *’ {aka ‘struct
bignum_st *’} from ‘int’ makes pointer from integer without a cast
[-Wint-conversion]
g = BN_bin2bn(dh4096_g, sizeof dh4096_g, NULL);
^
src/ssl_sock.c: In function ‘smp_fetch_ssl_x_notafter’:
src/ssl_sock.c:6244:24: warning: passing argument 1 of
‘ssl_sock_get_time’ makes pointer from integer without a cast [-Wint-conversion]
if (ssl_sock_get_time(X509_get_notAfter(crt), smp_trash) <= 0)
^~~~~~~~~~~~~~~~~~~~~~
src/ssl_sock.c:5770:30: note: expected ‘ASN1_TIME *’ {aka ‘struct
asn1_string_st *’} but argument is of type ‘int’
ssl_sock_get_time(ASN1_TIME *tm, struct chunk *out)
~~~~~~~~~~~^~
src/ssl_sock.c: In function ‘smp_fetch_ssl_x_notbefore’:
src/ssl_sock.c:6344:24: warning: passing argument 1 of
‘ssl_sock_get_time’ makes pointer from integer without a cast [-Wint-conversion]
if (ssl_sock_get_time(X509_get_notBefore(crt), smp_trash) <= 0)
^~~~~~~~~~~~~~~~~~~~~~~
src/ssl_sock.c:5770:30: note: expected ‘ASN1_TIME *’ {aka ‘struct
asn1_string_st *’} but argument is of type ‘int’
ssl_sock_get_time(ASN1_TIME *tm, struct chunk *out)
~~~~~~~~~~~^~
src/ssl_sock.c: In function ‘__ssl_sock_init’:
src/ssl_sock.c:8800:2: warning: implicit declaration of function
‘SSL_library_init’; did you mean ‘SSL_in_init’?
[-Wimplicit-function-declaration]
SSL_library_init();
^~~~~~~~~~~~~~~~
SSL_in_init
src/ssl_sock.c:8832:9: warning: implicit declaration of function
‘SSLeay_version’; did you mean ‘SSL_version’? [-Wimplicit-function-declaration]
SSLeay_version(SSLEAY_VERSION),
^~~~~~~~~~~~~~
SSL_version
src/ssl_sock.c:8832:24: error: ‘SSLEAY_VERSION’ undeclared (first use
in this function); did you mean ‘SSL2_VERSION’?
SSLeay_version(SSLEAY_VERSION),
^~~~~~~~~~~~~~
SSL2_VERSION
src/ssl_sock.c:8833:36: warning: implicit declaration of function
‘SSLeay’; did you mean ‘SSLerr’? [-Wimplicit-function-declaration]
((OPENSSL_VERSION_NUMBER ^ SSLeay()) >> 8) ? " (VERSIONS
DIFFER!)" : "");
^~~~~~
SSLerr
src/ssl_sock.c: In function ‘__ssl_sock_deinit’:
src/ssl_sock.c:8925:9: warning: implicit declaration of function
‘ERR_free_strings’; did you mean ‘ERR_load_strings’?
[-Wimplicit-function-declaration]
ERR_free_strings();
^~~~~~~~~~~~~~~~
ERR_load_strings
src/ssl_sock.c:8927:9: warning: implicit declaration of function
‘EVP_cleanup’; did you mean ‘EVP_PBE_cleanup’? [-Wimplicit-function-declaration]
EVP_cleanup();
^~~~~~~~~~~
EVP_PBE_cleanup
src/ssl_sock.c:8930:9: warning: implicit declaration of function
‘CRYPTO_cleanup_all_ex_data’; did you mean ‘CRYPTO_dup_ex_data’?
[-Wimplicit-function-declaration]
CRYPTO_cleanup_all_ex_data();
^~~~~~~~~~~~~~~~~~~~~~~~~~
CRYPTO_dup_ex_data
make: *** [Makefile:909: src/ssl_sock.o] Error 1
unset LDFLAGS
make clean
make V=1 \
TARGET=linux2628 \
USE_SYSTEMD=1 \
USE_OPENSSL=1 \
ADDINC=" -I/usr/local/openssl11/include" \
ADDLIB=" -L/usr/local/openssl11/lib64 -Wl,-rpath,/usr/local/openssl11/lib64" \
SSL_INC="/usr/local/openssl11/include" \
SSL_LIB="/usr/local/openssl11/lib64" \
ADDLIB="-ldl"
...
gcc -Iinclude -Iebtree -Wall -O2 -g -fno-strict-aliasing
-Wdeclaration-after-statement -fwrapv -fno-strict-overflow
-Wno-format-truncation -Wno-null-dereference -Wno-unused-label
-DCONFIG_HAP_LINUX_SPLICE -DTPROXY -DCONFIG_HAP_LINUX_TPROXY -DCONFIG_HAP_CRYPT
-DENABLE_POLL -DENABLE_EPOLL -DUSE_CPU_AFFINITY -DASSUME_SPLICE_WORKS
-DUSE_ACCEPT4 -DNETFILTER -DUSE_THREAD -DUSE_OPENSSL
-I/usr/local/openssl11/include -DUSE_SYSCALL_FUTEX -DUSE_SYSTEMD
-I/usr/local/openssl11/include -DCONFIG_HAPROXY_VERSION=\"1.8.10-ec17d7a\"
-DCONFIG_HAPROXY_DATE=\"2018/06/22\" -c -o src/ssl_sock.o src/ssl_sock.c
src/ssl_sock.c: In function ‘ssl_locking_function’:
src/ssl_sock.c:220:13: error: ‘CRYPTO_LOCK’ undeclared (first use in
this function); did you mean ‘CRYPTO_RWLOCK’?
if (mode & CRYPTO_LOCK) {
^~~~~~~~~~~
CRYPTO_RWLOCK
src/ssl_sock.c:220:13: note: each undeclared identifier is reported
only once for each function it appears in
src/ssl_sock.c:221:14: error: ‘CRYPTO_READ’ undeclared (first use in
this function); did you mean ‘CRYPTO_ONCE’?
if (mode & CRYPTO_READ)
^~~~~~~~~~~
CRYPTO_ONCE
src/ssl_sock.c: In function ‘ssl_locking_init’:
src/ssl_sock.c:238:43: warning: implicit declaration of function
‘CRYPTO_num_locks’; did you mean ‘CRYPTO_realloc’?
[-Wimplicit-function-declaration]
ssl_rwlocks = malloc(sizeof(HA_RWLOCK_T)*CRYPTO_num_locks());
^~~~~~~~~~~~~~~~
CRYPTO_realloc
src/ssl_sock.c:245:2: warning: implicit declaration of function
‘CRYPTO_set_id_callback’; did you mean ‘BIO_set_callback’?
[-Wimplicit-function-declaration]
CRYPTO_set_id_callback(ssl_id_function);
^~~~~~~~~~~~~~~~~~~~~~
BIO_set_callback
src/ssl_sock.c:246:2: warning: implicit declaration of function
‘CRYPTO_set_locking_callback’; did you mean ‘BIO_set_info_callback’?
[-Wimplicit-function-declaration]
CRYPTO_set_locking_callback(ssl_locking_function);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
BIO_set_info_callback
src/ssl_sock.c: In function ‘ssl_sock_do_create_cert’:
src/ssl_sock.c:1693:23: warning: implicit declaration of function
‘X509_get_notBefore’; did you mean ‘X509_getm_notBefore’?
[-Wimplicit-function-declaration]
if (!X509_gmtime_adj(X509_get_notBefore(newcrt), (long)-60*60*24) ||
^~~~~~~~~~~~~~~~~~
X509_getm_notBefore
src/ssl_sock.c:1693:23: warning: passing argument 1 of
‘X509_gmtime_adj’ makes pointer from integer without a cast [-Wint-conversion]
if (!X509_gmtime_adj(X509_get_notBefore(newcrt), (long)-60*60*24) ||
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/openssl11/include/openssl/pem.h:17,
from /usr/local/openssl11/include/openssl/ssl.h:55,
from src/ssl_sock.c:43:
/usr/local/openssl11/include/openssl/x509.h:479:12: note: expected
‘ASN1_TIME *’ {aka ‘struct asn1_string_st *’} but argument is of type ‘int’
ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj);
^~~~~~~~~~~~~~~
src/ssl_sock.c:1694:23: warning: implicit declaration of function
‘X509_get_notAfter’; did you mean ‘X509_getm_notAfter’?
[-Wimplicit-function-declaration]
!X509_gmtime_adj(X509_get_notAfter(newcrt),(long)60*60*24*365))
^~~~~~~~~~~~~~~~~
X509_getm_notAfter
src/ssl_sock.c:1694:23: warning: passing argument 1 of
‘X509_gmtime_adj’ makes pointer from integer without a cast [-Wint-conversion]
!X509_gmtime_adj(X509_get_notAfter(newcrt),(long)60*60*24*365))
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/openssl11/include/openssl/pem.h:17,
from /usr/local/openssl11/include/openssl/ssl.h:55,
from src/ssl_sock.c:43:
/usr/local/openssl11/include/openssl/x509.h:479:12: note: expected
‘ASN1_TIME *’ {aka ‘struct asn1_string_st *’} but argument is of type ‘int’
ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj);
^~~~~~~~~~~~~~~
src/ssl_sock.c: In function ‘ssl_get_dh_1024’:
src/ssl_sock.c:2421:7: warning: implicit declaration of function
‘BN_bin2bn’; did you mean ‘OBJ_nid2sn’? [-Wimplicit-function-declaration]
p = BN_bin2bn(dh1024_p, sizeof dh1024_p, NULL);
^~~~~~~~~
OBJ_nid2sn
src/ssl_sock.c:2421:5: warning: assignment to ‘BIGNUM *’ {aka ‘struct
bignum_st *’} from ‘int’ makes pointer from integer without a cast
[-Wint-conversion]
p = BN_bin2bn(dh1024_p, sizeof dh1024_p, NULL);
^
src/ssl_sock.c:2422:5: warning: assignment to ‘BIGNUM *’ {aka ‘struct
bignum_st *’} from ‘int’ makes pointer from integer without a cast
[-Wint-conversion]
g = BN_bin2bn(dh1024_g, sizeof dh1024_g, NULL);
^
src/ssl_sock.c: In function ‘ssl_get_dh_2048’:
src/ssl_sock.c:2468:5: warning: assignment to ‘BIGNUM *’ {aka ‘struct
bignum_st *’} from ‘int’ makes pointer from integer without a cast
[-Wint-conversion]
p = BN_bin2bn(dh2048_p, sizeof dh2048_p, NULL);
^
src/ssl_sock.c:2469:5: warning: assignment to ‘BIGNUM *’ {aka ‘struct
bignum_st *’} from ‘int’ makes pointer from integer without a cast
[-Wint-conversion]
g = BN_bin2bn(dh2048_g, sizeof dh2048_g, NULL);
^
src/ssl_sock.c: In function ‘ssl_get_dh_4096’:
src/ssl_sock.c:2536:5: warning: assignment to ‘BIGNUM *’ {aka ‘struct
bignum_st *’} from ‘int’ makes pointer from integer without a cast
[-Wint-conversion]
p = BN_bin2bn(dh4096_p, sizeof dh4096_p, NULL);
^
src/ssl_sock.c:2537:5: warning: assignment to ‘BIGNUM *’ {aka ‘struct
bignum_st *’} from ‘int’ makes pointer from integer without a cast
[-Wint-conversion]
g = BN_bin2bn(dh4096_g, sizeof dh4096_g, NULL);
^
src/ssl_sock.c: In function ‘smp_fetch_ssl_x_notafter’:
src/ssl_sock.c:6244:24: warning: passing argument 1 of
‘ssl_sock_get_time’ makes pointer from integer without a cast [-Wint-conversion]
if (ssl_sock_get_time(X509_get_notAfter(crt), smp_trash) <= 0)
^~~~~~~~~~~~~~~~~~~~~~
src/ssl_sock.c:5770:30: note: expected ‘ASN1_TIME *’ {aka ‘struct
asn1_string_st *’} but argument is of type ‘int’
ssl_sock_get_time(ASN1_TIME *tm, struct chunk *out)
~~~~~~~~~~~^~
src/ssl_sock.c: In function ‘smp_fetch_ssl_x_notbefore’:
src/ssl_sock.c:6344:24: warning: passing argument 1 of
‘ssl_sock_get_time’ makes pointer from integer without a cast [-Wint-conversion]
if (ssl_sock_get_time(X509_get_notBefore(crt), smp_trash) <= 0)
^~~~~~~~~~~~~~~~~~~~~~~
src/ssl_sock.c:5770:30: note: expected ‘ASN1_TIME *’ {aka ‘struct
asn1_string_st *’} but argument is of type ‘int’
ssl_sock_get_time(ASN1_TIME *tm, struct chunk *out)
~~~~~~~~~~~^~
src/ssl_sock.c: In function ‘__ssl_sock_init’:
src/ssl_sock.c:8800:2: warning: implicit declaration of function
‘SSL_library_init’; did you mean ‘SSL_in_init’?
[-Wimplicit-function-declaration]
SSL_library_init();
^~~~~~~~~~~~~~~~
SSL_in_init
src/ssl_sock.c:8832:9: warning: implicit declaration of function
‘SSLeay_version’; did you mean ‘SSL_version’? [-Wimplicit-function-declaration]
SSLeay_version(SSLEAY_VERSION),
^~~~~~~~~~~~~~
SSL_version
src/ssl_sock.c:8832:24: error: ‘SSLEAY_VERSION’ undeclared (first use
in this function); did you mean ‘SSL2_VERSION’?
SSLeay_version(SSLEAY_VERSION),
^~~~~~~~~~~~~~
SSL2_VERSION
src/ssl_sock.c:8833:36: warning: implicit declaration of function
‘SSLeay’; did you mean ‘SSLerr’? [-Wimplicit-function-declaration]
((OPENSSL_VERSION_NUMBER ^ SSLeay()) >> 8) ? " (VERSIONS
DIFFER!)" : "");
^~~~~~
SSLerr
src/ssl_sock.c: In function ‘__ssl_sock_deinit’:
src/ssl_sock.c:8925:9: warning: implicit declaration of function
‘ERR_free_strings’; did you mean ‘ERR_load_strings’?
[-Wimplicit-function-declaration]
ERR_free_strings();
^~~~~~~~~~~~~~~~
ERR_load_strings
src/ssl_sock.c:8927:9: warning: implicit declaration of function
‘EVP_cleanup’; did you mean ‘EVP_PBE_cleanup’? [-Wimplicit-function-declaration]
EVP_cleanup();
^~~~~~~~~~~
EVP_PBE_cleanup
src/ssl_sock.c:8930:9: warning: implicit declaration of function
‘CRYPTO_cleanup_all_ex_data’; did you mean ‘CRYPTO_dup_ex_data’?
[-Wimplicit-function-declaration]
CRYPTO_cleanup_all_ex_data();
^~~~~~~~~~~~~~~~~~~~~~~~~~
CRYPTO_dup_ex_data
make: *** [Makefile:909: src/ssl_sock.o] Error 1
unset LDFLAGS
make clean
make V=1 \
TARGET=linux2628 \
USE_OPENSSL=1 \
SSL_INC=" -I/usr/local/openssl11/include" \
SSL_LIB=" -L/usr/local/openssl11/lib64 -Wl,-rpath,/usr/local/openssl11/lib64"
...
gcc -Iinclude -Iebtree -Wall -O2 -g -fno-strict-aliasing
-Wdeclaration-after-statement -fwrapv -fno-strict-overflow
-Wno-format-truncation -Wno-null-dereference -Wno-unused-label
-DCONFIG_HAP_LINUX_SPLICE -DTPROXY -DCONFIG_HAP_LINUX_TPROXY -DCONFIG_HAP_CRYPT
-DENABLE_POLL -DENABLE_EPOLL -DUSE_CPU_AFFINITY -DASSUME_SPLICE_WORKS
-DUSE_ACCEPT4 -DNETFILTER -DUSE_THREAD -DUSE_OPENSSL
-I-I/usr/local/openssl11/include -DUSE_SYSCALL_FUTEX
-DCONFIG_HAPROXY_VERSION=\"1.8.10-ec17d7a\"
-DCONFIG_HAPROXY_DATE=\"2018/06/22\" -c -o src/hash.o src/hash.c
gcc -g -o haproxy src/ev_poll.o src/ev_epoll.o src/ssl_sock.o
ebtree/ebtree.o ebtree/eb32sctree.o ebtree/eb32tree.o ebtree/eb64tree.o
ebtree/ebmbtree.o ebtree/ebsttree.o ebtree/ebimtree.o ebtree/ebistree.o
src/proto_http.o src/cfgparse.o src/server.o src/stream.o src/flt_spoe.o
src/stick_table.o src/stats.o src/mux_h2.o src/checks.o src/haproxy.o src/log.o
src/dns.o src/peers.o src/standard.o src/sample.o src/cli.o
src/stream_interface.o src/proto_tcp.o src/backend.o src/proxy.o
src/tcp_rules.o src/listener.o src/flt_http_comp.o src/pattern.o src/cache.o
src/filters.o src/vars.o src/acl.o src/payload.o src/connection.o
src/raw_sock.o src/proto_uxst.o src/flt_trace.o src/session.o src/ev_select.o
src/channel.o src/task.o src/queue.o src/applet.o src/map.o src/frontend.o
src/freq_ctr.o src/lb_fwlc.o src/mux_pt.o src/auth.o src/fd.o src/hpack-dec.o
src/memory.o src/lb_fwrr.o src/lb_chash.o src/lb_fas.o src/hathreads.o
src/chunk.o src/lb_map.o src/xxhash.o src/regex.o src/shctx.o src/buffer.o
src/action.o src/h1.o src/compression.o src/pipe.o src/namespace.o src/sha1.o
src/hpack-tbl.o src/hpack-enc.o src/uri_auth.o src/time.o src/proto_udp.o
src/arg.o src/signal.o src/protocol.o src/lru.o src/hdr_idx.o src/hpack-huff.o
src/mailers.o src/h2.o src/base64.o src/hash.o -lcrypt -ldl -lpthread
-L-L/usr/local/openssl11/lib64 -Wl,-rpath,/usr/local/openssl11/lib64 -lssl
-lcrypto -ldl
> - share the openssl config line and installation commands
gcc --version
gcc (SUSE Linux) 8.1.1 20180614 [gcc-8-branch revision 261584]
which openssl
/usr/local/openssl11/bin/openssl
openssl version
OpenSSL 1.1.0h 27 Mar 2018
openssl version -f
compiler: /usr/bin/gcc-8 -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG
-DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2
-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM
-DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM
-DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM
-DOPENSSL_API_COMPAT=0x10100000L -D_GNU_SOURCE -DOPENSSL_NO_BUF_FREELISTS
-DOPENSSL_NO_HEARTBEAT -DPURIFY -DSSL_FORBID_ENULL -DTERMIO
-DOPENSSLDIR="\"/usr/local/openssl11\""
-DENGINESDIR="\"/usr/local/openssl11/lib64/engines-1.1\"" -Wa,--noexecstack
-Wall -fno-common -Wa,--noexecstack
ldd /usr/local/openssl11/bin/openssl
linux-vdso.so.1 (0x00007ffe767d0000)
libssl.so.1.1 => /usr/local/openssl11/lib64/libssl.so.1.1
(0x00007fc6e1f0e000)
libcrypto.so.1.1 => /usr/local/openssl11/lib64/libcrypto.so.1.1
(0x00007fc6e1a65000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fc6e1861000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc6e1643000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc6e1289000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc6e2425000)
ldd /usr/local/openssl11/lib64/libssl.so
linux-vdso.so.1 (0x00007ffc058e3000)
libcrypto.so.1.1 => /usr/local/openssl11/lib64/libcrypto.so.1.1
(0x00007f7c2fb42000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f7c2f93e000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7c2f720000)
libc.so.6 => /lib64/libc.so.6 (0x00007f7c2f366000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7c3025a000)
ldd /usr/local/openssl11/lib64/libcrypto.so
linux-vdso.so.1 (0x00007ffd34528000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9b7db96000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9b7d978000)
libc.so.6 => /lib64/libc.so.6 (0x00007f9b7d5be000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9b7e243000)