Ich versuche, ein Rezept für den C/C++ Connector von MariaDB zu erstellen.Yocto Projekt Dateien nicht richtig installieren
Bitbake funktioniert ohne Fehler oder Warnungen, aber wenn ich die Dateien in meinem Bild überprüft es zwei fehlen:
- libmariadbclient.a
- libmariadb.so
Es gibt sowohl in verschiedenen Pakete (-dev und -staticdev), aber aus welchem Grund auch immer, werden nicht zu meinem Bild geliefert.
Hat jemand eine Lösung? Hier
ist das Rezept:
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
}
Sie werden nicht in Ihrem Image ausgeliefert, da kein anderes Paket in Ihrem Image eine Laufzeitabhängigkeit von diesen Paketen aufweist. Bist du sicher, dass etwas in deinem Image diese Dateien benötigt? Statische libs und dev-Dateien sind normalerweise nicht Teil eines Ziel-Images. – jku
Also die '-dev' und' -staticdev' Pakete sind nicht in meinem Image enthalten? Ich brauche sie, da ich eine Quelle zum kompilieren habe. Ohne sie habe ich Fehler. Wie kann ich sie in mein endgültiges Bild aufnehmen? Ich weiß, es ist nicht üblich –
Meinst du wirklich, dass du deine Quellen * auf * deinem Ziel kompilieren willst? Ich würde es vorziehen, auf meiner Build-Maschine zu kompilieren ... – Anders