很多时候,我们会需要编译一个无动态链接库依赖可以直接运行的iperf3,这需要我们提前做一些准备。
通常在ubuntu中,我们需要以下
几个步骤
- 安装C静态库,glibc-static
可以用以下命令查看静态库是不是已经安装
sudo find / -name 'libc.a'
如果未安装,可以用以下命令安装
sudo apt install libc6-dev
- 安装openssl静态库,openssl-static
- 在configure时加上–enable-static-bin 选项.
已知问题:
1, SCTP还没有静态连接库,所以最好在configure时也加上 --without-sctp配置项,去除SCTP的支持。
2, 会出现这样的告警,warning: Using ‘getaddrinfo’ in statically linked applications requires at runtime the shared libraries from the glibc version used for linking,查了一下,这个问题是glibc的遗留问题,似乎无解,stackoverlow上这篇文章讲了,为什么非常不推荐在linux系统上使用静态方式对glibc进行链接。
本文介绍了在Ubuntu系统上如何编译无动态链接库依赖的iperf3,包括安装C静态库glibc-static和openssl静态库,并在configure时添加相应选项。特别指出,由于SCTP的静态库不可用,需要禁用SCTP支持。此外,文章提到了使用静态glibc链接的应用可能会遇到的警告问题,这是一个已知的glibc遗留问题。

2351

被折叠的 条评论
为什么被折叠?



