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

使用build-env-1.3.1镜像编译Doris 0.14.0出现ev_http_server.cpp.o构建失败错误

问题根因

Apache Doris 0.14.0 版本适配的构建环境镜像为apache/incubator-doris:build-env,你使用的build-env-1.3.1镜像内预装的brpc(butil组件属于brpc)版本过高,新版本butil::tcp_listen方法已经移除了第二个布尔类型的端口复用控制参数,导致旧版本Doris的代码调用时参数不匹配编译失败。

解决方案
  • 方案1:更换匹配的构建镜像(最推荐)
    直接使用Doris 0.14.0官方指定的构建镜像启动容器重新编译即可,启动命令修改为:

    docker run -it -v /xxx/.m2:/root/.m2 -v /xxx/apache-doris-0.14.0-incubating-src/:/root/apache-doris-0.14.0-incubating-src/ apache/incubator-doris:build-env
    

    进入容器后先清理之前的编译缓存,再重新执行编译命令即可。

  • 方案2:修改代码适配现有镜像
    如果你不想更换构建镜像,可以直接修改源码兼容新版本brpc:
    打开源码路径下的src/http/ev_http_server.cpp文件,找到第150行代码:

    _server_fd = butil::tcp_listen(point, true);
    

    删除第二个冗余参数,修改为:

    _server_fd = butil::tcp_listen(point);
    

    保存后重新执行编译即可,新版本brpc默认已经开启端口复用,删除参数不会影响原有功能。

内容的提问来源于stack exchange,提问作者volity

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:45:03