Mariadb Yocto项目未正确安装文件
我正在尝试为MariaDB的C/C++连接器创建一个配方 Bitbake工作时没有错误或警告,但如果我检查了图像中的文件,则缺少两个文件:Mariadb Yocto项目未正确安装文件,mariadb,yocto,bitbake,openembedded,Mariadb,Yocto,Bitbake,Openembedded,我正在尝试为MariaDB的C/C++连接器创建一个配方 Bitbake工作时没有错误或警告,但如果我检查了图像中的文件,则缺少两个文件: libmariadbclient.a libmariadb.so 它们都在不同的包(-dev和-staticdev)中,但出于任何原因,它们都没有发送到我的映像中 有人有解决办法吗 以下是菜谱: LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd2559510
- libmariadbclient.a
- libmariadb.so
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
file://win/packaging /license.rtf;md5=0b6c50a153e2fca0364c97805d74ba50 \
file://cmake/COPYING-CMAKE-SCRIPTS;md5=54c7042be62e169199200bc6477f04d1"
SRC_URI = "http://mirror2.hs-esslingen.de/mariadb//connector-c-3.0.2/mariadb-connector-c-3.0.2-src.tar.gz;name=source"
SRC_URI[source.md5sum] = "2eb5ba004ac105eebb538ead352c0c78"
SRC_URI[source.md256sum] = "518d14b8d77838370767d73f9bf1674f46232e1a2a34d4195bd38f52a3033758"
S = "${WORKDIR}/mariadb-connector-c-3.0.2-src"
DEPENDS = "zlib openssl gnutls krb5 curl"
PACKAGES =+"${PN}-include"
FILES_${PN}+="${libdir}/mariadb/libmariadb.so.3 \
${libdir}/mariadb/plugin/dialog.so \
${libdir}/mariadb/plugin/mysql_clear_password.so \
${libdir}/mariadb/plugin/remote_io.so \
${libdir}/mariadb/plugin/auth_gssapi_client.so \
${bindir}/mariadb_config"
FILES_${PN}-dev+="${libdir}/mariadb/libmariadb.so"
FILES_${PN}-staticdev+="${libdir}/mariadb/libmariadbclient.a"
FILES_${PN}-include+="${includedir}/mariadb/mariadb_com.h \
${includedir}/mariadb/mysql.h \
${includedir}/mariadb/mariadb_stmt.h \
${includedir}/mariadb/ma_pvio.h \
${includedir}/mariadb/ma_tls.h \
${includedir}/mariadb/mariadb_version.h \
${includedir}/mariadb/ma_list.h \
${includedir}/mariadb/errmsg.h \
${includedir}/mariadb/mariadb_dyncol.h \
${includedir}/mariadb/mariadb_ctype.h \
${includedir}/mariadb/mysqld_error.h \
${includedir}/mariadb/mysql/client_plugin.h \
${includedir}/mariadb/mysql/plugin_auth_common.h \
${includedir}/mariadb/mysql/plugin_auth.h \
${includedir}/mariadb/mariadb/ma_io.h "
RDEPENDS_${PN}+="${PN}-include"
inherit cmake
do_compile() {
make
}
只需将特定的包添加到image中,就可以使用local.conf(或image recipe)中的
image\u INSTALL\u append=“mariadb dev”
。听起来你想在设备上编译一些东西,所以这不太可能实现你想要的(你仍然会缺少所有的开发工具和所有其他你需要的开发包)
我并不建议在映像上开发(为什么不为你的应用编写一个配方,让Yocto来处理编译和安装呢?),但是如果你想这样做,在local.conf中添加这个应该可以:
EXTRA_IMAGE_FEATURES += "dev-pkgs tools-sdk"
这将向映像中添加构建工具(gcc、make等)和所有开发包。有关更多详细信息,请参阅。可以使用local.conf(或image recipe)中的
image\u INSTALL\u append=“mariadb dev”
来向image添加特定的包。听起来你想在设备上编译一些东西,所以这不太可能实现你想要的(你仍然会缺少所有的开发工具和所有其他你需要的开发包)
我并不建议在映像上开发(为什么不为你的应用编写一个配方,让Yocto来处理编译和安装呢?),但是如果你想这样做,在local.conf中添加这个应该可以:
EXTRA_IMAGE_FEATURES += "dev-pkgs tools-sdk"
这将向映像中添加构建工具(gcc、make等)和所有开发包。有关更多详细信息,请参阅。它们没有在映像中提供,因为映像中没有其他包对这些包具有运行时依赖性。您真的确定图像中的某些内容需要这些文件吗?静态libs和dev文件通常不是目标映像的一部分。因此,
-dev
和-staticdev
包不包括在我的映像中?我需要它们,因为我有一些源代码要编译。没有他们,我会犯错误。如何将它们包含在最终图像中?我知道,这并不常见。你的意思是你真的想在你的目标上编译你的源代码吗?我更喜欢在我的构建机器上编译…它们不在您的映像上提供,因为映像中没有其他包对这些包具有运行时依赖性。您真的确定图像中的某些内容需要这些文件吗?静态libs和dev文件通常不是目标映像的一部分。因此,-dev
和-staticdev
包不包括在我的映像中?我需要它们,因为我有一些源代码要编译。没有他们,我会犯错误。如何将它们包含在最终图像中?我知道,这并不常见。你的意思是你真的想在你的目标上编译你的源代码吗?我更喜欢在我的编译机器上编译。。。