使用Yocto Kirkstone分支时do_populate_sdk因libpython3.6m.so.1.0缺失失败
解决Populate SDK时libpython3.6m.so.1.0依赖缺失问题
安装Python 3.6运行时库:
你之前只装了开发包,而运行时库才是提供libpython3.6m.so.1.0的核心组件,执行命令:sudo apt-get install libpython3.6更新系统动态库缓存:
即使文件存在,系统可能未识别到该库,更新缓存后再验证:sudo ldconfig ldconfig -p | grep libpython3.6m输出能看到该库路径就说明缓存更新成功
配置bitbake环境变量:
在执行populate_sdk前,先把系统Python库路径加入动态库搜索路径:export LD_LIBRARY_PATH=/usr/lib/x86_64-gnu:$LD_LIBRARY_PATH也可以把这条配置添加到构建目录的
conf/local.conf中,避免每次手动设置:EXTRA_OECONF += "LDFLAGS='-L/usr/lib/x86_64-gnu'"Kirkstone分支专属配置:
Kirkstone对SDK依赖检查更严格,可在local.conf中添加以下配置跳过无效依赖检查(仅确认库存在时使用):SDK_PREBUILT_DONT_CHECK += "libpython3.6m.so.1.0"清理缓存后重试:
如果以上方法无效,清理SDK相关缓存后重新构建:bitbake -c cleansdk <你的自定义镜像名> bitbake -c cleansstate nativesdk-gcc-arm-none-eabi bitbake <你的自定义镜像名> -c populate_sdk
内容的提问来源于stack exchange,提问作者AddA
相关产品推荐
相关产品推荐

