HAproxy 2.1.3源码 编译问题

HAproxy 2.1.3源码 编译问题?

官网地址下载: https://www.haproxy.org

(百度搜出来词条打不开http://www.haproxy.org/ ,需要使用 https)

wget https://www.haproxy.org/download/2.1/src/haproxy-2.1.3.tar.gz
yum install gcc gcc-c++ openssl-devel libnl3-devel pcre-devel
tar -xf haproxy-2.1.3.tar.gz -C  /usr/local/haproxy

在进行源码安装编译时:

官方给出参考编译:
$ make clean $ make
-j $(nproc) TARGET=linux-glibc \ USE_OPENSSL=1 USE_ZLIB=1 USE_LUA=1 USE_PCRE=1 USE_SYSTEMD=1 $ sudo make install

报错?

...

src/namespace.o: In function `my_socketat':
/usr/local/haproxy/src/namespace.c:123: undefined reference to `setns'
/usr/local/haproxy/src/namespace.c:118: undefined reference to `setns'
collect2: ld returned 1 exit status
make: *** [haproxy] Error 1

跳过依赖重新编译:

在 haproxy 源码目录
make -j $(nproc) TARGET=linux-glibc USE_NS=
# USE_NS = 确实确实跳过了依赖于此的代码 因为namespace.c中的部分不在该标志的后面。setns在内核2.6.15及更高版本中受支持,而6.6之后的CentOS / RHEL中存在2.6.32,但存在的glibc版本(2.12)不提供此功能。

跳过依赖重新编译成功,生成 haproxy 执行文件

手动创建 haproxy.cfg 配置文件;

指向配置文件启动:

启动示例:
haproxy -D -f /etc/haproxy/haproxy.cfg

 

posted @ 2020-03-13 16:41  01234567  阅读(1404)  评论(1编辑  收藏  举报