支持HTTP/3的curl编译踩坑

Linux下编译curl开启http3

日期:2021年1月29日
系统版本:Windows的Linux子系统,Ubuntu20.10
原网址:HTTP/3 with curl
实现方式:openssl + nghttp3 + ngtcp2 + curl

依赖

libtool
autoconf
pkg-config
其他基本编译工具,gcc等等

实测需要的更改

  1. 编译curl时需要加入PKG_CONFIG_PATH环境变量,指定nghttp3的pkgconfig文件夹位置,它在$(nghttp3安装位置)/lib/pkgconfig
  2. make install完成之后运行curl,发现程序是新的,但是libcurl是旧的,直接运行无法使用http3。这是因为make install吧libcurl的库装在了/usr/local/lib,而实际上curl编译的默认加载共享库路径是/usr/lib/x86_64-linux-gnu,也就是加载到了系统原本的库。
  3. 针对上述问题,简单粗暴的办法是把/usr/local/lib下的libcurl库直接扔到/usr/lib/x86_64-linux-gnu下,实测可以运行。另一方面,可能可以在curl的configure命令的LDFLAGS选项中加入/usr/local/bin,指定curl程序的共享库加载路径,该方法尚未尝试。

其他

  1. 另外,编译安装的curl不仅需要libcurl的共享库,还需要openssl的共享库,删除后curl无法正常运行
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值