WSL中构建旧版TensorFlow时libcurl3-dev安装报错求助
问题解决:旧版TensorFlow构建时libcurl3-dev依赖报错
问题原因
Ubuntu 18.04(Bionic Beaver)开始,官方已将libcurl的开发包从libcurl3-dev替换为libcurl4-openssl-dev,系统源中不再提供libcurl3-dev。你使用的旧版TensorFlow构建脚本未更新依赖检查逻辑,仍硬编码要求检测libcurl3-dev的存在,因此即使安装了替代的libcurl4-openssl-dev,还是会触发相同错误,该问题与WSL环境无关。
解决方案
方案一:修改构建脚本的依赖检查(推荐,无依赖冲突)
找到TensorFlow源码中负责依赖检查的脚本(通常是configure脚本或构建配置文件),将其中检查libcurl3-dev的代码替换为检查libcurl4-openssl-dev,或者直接跳过该检查步骤:
- 定位检查逻辑:执行
grep -r "libcurl3-dev" ./tensorflow查找相关代码段 - 修改检查规则:将判断条件中的
libcurl3-dev替换为libcurl4-openssl-dev,或者直接将该检查的返回值设为成功(如return 0)
方案二:手动安装旧版libcurl3-dev(不推荐,可能引发依赖冲突)
若必须使用libcurl3-dev,可从Ubuntu旧版本归档源下载对应deb包手动安装,但这会替换系统中的libcurl4系列包,可能影响其他依赖libcurl4的软件:
- 下载对应架构的deb包(以amd64为例):
wget http://archive.ubuntu.com/ubuntu/pool/main/c/curl/libcurl3-dev_7.47.0-1ubuntu2.19_amd64.deb - 安装包并修复依赖:
sudo dpkg -i libcurl3-dev_7.47.0-1ubuntu2.19_amd64.deb sudo apt -f install
内容的提问来源于stack exchange,提问作者AYRTON ROMARIO DEXTRE RAMIREZ
相关产品推荐
相关产品推荐

