鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

编译BE时提示undefined symbol:__res_nsearch的解决方法

问题现象描述

执行STRIP_DEBUG_INFO=ON sh build.sh --clean --be,报错:undefined symbol:__res_nsearch。

关键过程、根本原因分析

预下载的第三方中的libkrb5.a文件需重新编译。

结论、解决方案及效果

  1. 重新编译第三方的libkrb5.a文件。
    1. 打开文件。
      1
      vi /opt/tools/installed/doris-2.1.2-rc04/thirdparty/build-thirdparty.sh
      
    2. 注释1871行,新增1872行package的赋值并将packages赋值为krb5。
      1
      packages=(krb5)
      

    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  2. 使用GCC 12编译第三方的krb5。
    1
    2
    3
    export DORIS_TOOLCHAIN=gcc
    cd /opt/tools/installed/doris-2.1.2-rc04/thirdparty
    sh build-thirdparty.sh
    
  3. 重新执行命令。
    1
    2
    3
    export DORIS_TOOLCHAIN=clang
    cd /opt/tools/installed/doris-2.1.2-rc04
    STRIP_DEBUG_INFO=ON sh build.sh --clean --be