HarmonyOS鸿蒙Next中jenkins流水线构建非加签包时提示/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
HarmonyOS鸿蒙Next中jenkins流水线构建非加签包时提示/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found
相关工具下载地址:
Command Line Tools
sdk-linux
配置的环境变量
export OHPM_HOM=/usr/local/harmony/command-line-tools/ohpm
export HDC_HOME=/usr/local/harmony/sdk-linux-4.1.3.700-SP2/sdk/HarmonyOS-NEXT-DP2/base/toolchains
export HOS_SDK_HOME=/usr/local/harmony/sdk-linux-4.1.3.700-SP2/sdk
export PATH=${PATH}:${HDC_HOME}:${HOS_SDK_HOME}:${OHPM_HOM}
更多关于HarmonyOS鸿蒙Next中jenkins流水线构建非加签包时提示/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found的实战教程也可以访问 https://www.itying.com/category-93-b0.html
,请您按如下方法排查:
-
移植到的目标系统没有这个库,先排查系统是否具有这个库,具体命令参考linux命令如:
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
-
使用
echo $LD_LIBRARY_PATH
没有的话加一下:export LD_LIBRARY_PATH=/path/to/library:$LD_LIBRARY_PATH
/path/to/library
是所需库的路径
,请您参考:
-
(arkts-no-any-unknown)
报错是语法校验,适配规则参考 -
Cannot find module ‘xxx’ or its corresponding type declarations
报错是没有找到该库,请确认是否ohpm install
初始化过,是否在oh_modules
里面有正常下载正常的xxx
依赖库。
,请您尝试配置代码检查规则,参考链接:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-code-linter-V5
,请您尝试流水线场景,命令行工具sdkmgr
下载Linux SDK,参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-command-line-building-app-V5
更多关于HarmonyOS鸿蒙Next中jenkins流水线构建非加签包时提示/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中使用Jenkins流水线构建非加签包时,提示/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found
,通常是由于系统中安装的libstdc++
库版本过低,无法满足构建工具链的依赖要求。libstdc++
是GNU C++标准库,GLIBCXX_3.4.21
是该库的一个版本符号。
要解决此问题,可以尝试以下步骤:
-
检查当前
libstdc++.so.6
版本:通过命令strings /lib64/libstdc++.so.6 | grep GLIBCXX
查看当前系统中libstdc++.so.6
支持的版本符号列表。确认是否包含GLIBCXX_3.4.21
。 -
更新
libstdc++
库:如果当前版本过低,可以通过包管理器(如yum
或apt
)安装或更新libstdc++
库。例如,使用sudo yum install libstdc++
或sudo apt-get install libstdc++6
。 -
手动替换
libstdc++.so.6
:如果包管理器无法提供足够新的版本,可以从其他系统或源码编译获取更新的libstdc++.so.6
,并手动替换。
确保操作后重新运行Jenkins流水线构建任务。
在HarmonyOS鸿蒙Next中使用Jenkins构建非加签包时,提示/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found
,通常是由于系统中缺少所需的GLIBCXX版本。
- 检查GLIBCXX版本:运行
strings /lib64/libstdc++.so.6 | grep GLIBCXX
,查看当前支持的版本。 - 更新GCC:如果缺少
GLIBCXX_3.4.21
,可能需要更新GCC版本,使用sudo yum install devtoolset-8
或sudo apt-get install g++-8
安装较新版本。 - 设置环境变量:更新后,确保使用新版本的GCC,可以通过
export LD_LIBRARY_PATH=/path/to/new/libstdc++.so.6
设置环境变量。 - 重新构建:完成上述步骤后,重新启动Jenkins流水线进行构建。