You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker中Ubuntu16.04通过vcpkg安装grpc失败求助

问题分析与解决思路

核心原因

这不是缺少依赖,是Ubuntu 16.04默认的GCC版本过低(5.x)触发的编译器内部bug。grpc较新版本的percent_encoding.cc中使用了复杂的constexpr代码,而GCC 5对C++11/14 constexpr的支持不完善,处理这类代码时容易出现内部错误(ICE,Internal Compiler Error)。

解决方法

1. 升级Docker内的GCC版本

Ubuntu 16.04可通过PPA安装更高版本的GCC(推荐7及以上),步骤如下:

# 添加工具链PPA
add-apt-repository ppa:ubuntu-toolchain-r/test
apt-get update
# 安装GCC7
apt-get install -y gcc-7 g++-7
# 设置GCC7为默认编译器
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 --slave /usr/bin/g++ g++ /usr/bin/g++-7

完成后重新执行vcpkg安装命令:

./vcpkg install grpc:x64-linux

2. 指定兼容的grpc旧版本

如果不想升级编译器,可安装对GCC5更友好的grpc旧版本(比如1.48.x系列):

./vcpkg install grpc:x64-linux@1.48.2

3. 仅构建Release版本

Debug模式下编译器对constexpr的检查和展开逻辑更严格,可跳过Debug版本直接安装Release:

./vcpkg install grpc:x64-linux --release

内容的提问来源于stack exchange,提问作者Francesco Saverio Comisso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:35:33