Yocto下使用devtool构建pysqlcipher3无报错但镜像未包含该库
问题解决步骤
- 首先补全配方的编译与依赖配置
你当前的配方缺少交叉编译所需的路径参数和依赖声明,pysqlcipher3编译时需要指定目标侧sqlcipher的头文件、库路径,否则交叉编译阶段会静默跳过生成目标架构的库文件,仅完成无产物的构建流程不报错。修改配方增加以下内容:# 增加构建依赖 DEPENDS += "sqlcipher python3-setuptools-native" # 指定交叉编译的头文件、库路径 EXTRA_OEMAKE += "build_ext --include-dirs=${STAGING_INCDIR} --library-dirs=${STAGING_LIBDIR}" # 补全运行依赖 RDEPENDS:${PN} += "sqlcipher" # 确保Python库文件被纳入主包 FILES:${PN} += "${libdir}/python${PYTHON_MAJMIN}/site-packages/*" - 确认已明确配置将包安装到镜像
pn-buildlist中存在该包仅代表该包会被构建,不代表会被装入最终镜像,你需要在构建配置的local.conf或者core-image-minimal的自定义bbappend文件中添加以下配置:IMAGE_INSTALL:append = " pysqlcipher3" - 验证构建产物
配置修改后执行以下命令验证产物是否正常生成:- 执行
bitbake pysqlcipher3 -c install,进入该配方的工作目录下的install子目录,检查是否存在对应架构的pysqlcipher3库文件 - 执行
oe-pkgdata-util list-pkg-files pysqlcipher3,确认库文件被归入pysqlcipher3主包内
- 执行
内容的提问来源于stack exchange,提问作者Antonio Santoro
相关产品推荐
相关产品推荐

