1.haproxy安装报错如下
Linux:centos8.4, 安装包里面没有openssl-devel;
[root@K8S8 haproxy-3.0.0]# make TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 \
> USE_CPU_AFFINITY=1 PREFIX=/usr/local/haproxy
CC src/ev_poll.o
CC src/ev_epoll.o
CC src/cpuset.o
CC src/ssl_sock.o
In file included from src/ssl_sock.c:62:
include/haproxy/openssl-compat.h:17:10: fatal error: openssl/bn.h: No such file or directory
#include <openssl/bn.h>
^~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1041: src/ssl_sock.o] Error 1
2.处理方法
--安装Openssl;
yum install openssl-devel -y
rpm -ivh openssl-devel-1.1.1k-12.el8_9.x86_64.rpm --nodeps
[root@K8S8 soft]# rpm -ivh openssl-devel-1.1.1k-12.el8_9.x86_64.rpm --nodeps
warning: openssl-devel-1.1.1k-12.el8_9.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID c21ad6ea: NOKEY
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:openssl-devel-1:1.1.1k-12.el8_9 ################################# [100%]
3.编译
[root@K8S7 soft]# cd haproxy-2.5.0/
[root@K8S7 haproxy-2.5.0]# make TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 \
> USE_CPU_AFFINITY=1 PREFIX=/usr/local/haproxy
CC src/ssl_sample.o
CC src/ssl_sock.o
CC src/ssl_crtlist.o
CC src/ssl_ckch.o
CC src/ssl_utils.o
CC src/cfgparse-ssl.o
CC src/jwt.o
CC src/namespace.o
CC src/mux_h2.o
CC src/mux_fcgi.o
CC src/http_ana.o
CC src/mux_h1.o
CC src/tcpcheck.o
CC src/stream.o
CC src/stats.o
CC src/server.o
CC src/flt_spoe.o
CC src/stick_table.o
CC src/tools.o
CC src/sample.o
CC src/log.o
CC src/peers.o
CC src/resolvers.o
CC src/backend.o
CC src/cfgparse.o
CC src/http_htx.o
CC src/cli.o
CC src/proxy.o
CC src/pattern.o
CC src/connection.o
CC src/check.o
CC src/cfgparse-listen.o
CC src/cache.o
CC src/haproxy.o
src/haproxy.c:80:10: fatal error: systemd/sd-daemon.h: No such file or directory
#include <systemd/sd-daemon.h>
^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:984: src/haproxy.o] Error 1
还是报错:
--需要安装systemd-devel包。
rpm -ivh systemd-devel-239-51.el8.x86_64.rpm --nodeps
--再次编译haproxy ,还是报错。
CC src/freq_ctr.o
CC src/ebtree.o
CC src/hash.o
CC src/dgram.o
CC src/version.o
LD haproxy
/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
collect2: error: ld returned 1 exit status
make: *** [Makefile:951: haproxy] Error 1
--说明是安装的openssl 版本有问题。无法之别:libssl,libcrypto;
--重新安装 openssl;
--openssl-3.0.0 安装失败。
[root@K8S8 openssl-3.0.0]# ./config
Can''t locate IPC/Cmd.pm in @INC (you may need to install the IPC::Cmd module) (@INC contains: /data/soft/openssl-3.0.0/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 /data/soft/openssl-3.0.0/external/perl/Text-Template-1.56/lib) at /data/soft/openssl-3.0.0/util/perl/OpenSSL/config.pm line 18.
BEGIN failed--compilation aborted at /data/soft/openssl-3.0.0/util/perl/OpenSSL/config.pm line 18.
Compilation failed in require at /data/soft/openssl-3.0.0/Configure line 23.
BEGIN failed--compilation aborted at /data/soft/openssl-3.0.0/Configure line 23.
--需要安装这个IPC/pod模块。
yum -y install perl-IPC-Cmd
yum -y install perl-Pod*
--重新安装openssl ;
./config
make
make install
--重新编译haproxy;
make TARGET=linux-glibc USE_OPENSSL=1 USE_ZLIB=1 USE_PCRE=1 USE_OPENSSL=1 USE_CPU_AFFINITY=1 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
/usr/local/haproxy/sbin/haproxy -v
HAProxy version 2.5.0-f2e0833f16a 2021/11/23 - https://haproxy.org/
Status: stable branch - will stop receiving fixes around Q1 2023.
Known bugs: http://www.haproxy.org/bugs/bugs-2.5.0.html
Running on: Linux 4.18.0-305.3.1.el8.x86_64 #1 SMP Tue Jun 1 16:14:33 UTC 2021 x86_64