Search code examples
yoctomariadb-connector-c

Yocto - compiling and installing mariadb-connector-c


I'm having issues compiling mariadb-connector-c in yocto (BSP-Yocto-i.MX6-PD20.1.0). The following is my recipe:

SUMMARY = "MariadbConnector"
SECTION = "base"
DESCRIPTION = "This recipe is for installing MariadbConnector"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
    file://win/packaging/license.rtf;md5=d84792abbbf7478e48e648c9caf8107b \
    file://cmake/COPYING-CMAKE-SCRIPTS;md5=54c7042be62e169199200bc6477f04d1"
SRC_URI = https://dlm.mariadb.com/2319728/Connectors/c/connector-c-3.3.1/mariadb-connector-c-3.3.1-src.tar.gz;name=source
SRC_URI[source.md5sum] = "bd8090528becf9a788f78ed14bb90764"
SRC_URI[source.sha256sum] = "29993f4ae4c975662724978792d1a503b9ee760fbb194d321a754253cbe60aad"

S = "${WORKDIR}/mariadb-connector-c-3.3.1-src"

DEPENDS = "zlib openssl gnutls krb5 curl zstd"

inherit cmake

do_configure() {
    cd ${WORKDIR}/build/
    cmake ../mariadb-connector-c-3.3.1-src -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
}

do_compile() {
    cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain.cmake --build .
}

Here is the link to the log file: https://pastebin.com/qK20ZJsK

I'm new to yocto, so please let me know if I must provide more details! Additionally, I managed to successfully compile and install mariadb-connector-c on the host Ubuntu 18.04.6 LTS system.

Thanks in advance!


Solution

  • Thanks to Martin for providing the solution! The following bitbake recipe for mariadb-connector-c works:

    SUMMARY = "mariadb-connector-c"
    
    SECTION = "base"
    
    DESCRIPTION = "This recipe is for installing mariadb-connector-c"
    
    LICENSE = "BSD"
    
    LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
    
                    file://win/packaging/license.rtf;md5=d84792abbbf7478e48e648c9caf8107b \
    
                    file://cmake/COPYING-CMAKE-SCRIPTS;md5=54c7042be62e169199200bc6477f04d1"
    
    SRC_URI = https://dlm.mariadb.com/2319728/Connectors/c/connector-c-3.3.1/mariadb-connector-c-3.3.1-src.tar.gz;name=source
    
    SRC_URI[source.md5sum] = "bd8090528becf9a788f78ed14bb90764"
    
    SRC_URI[source.sha256sum] = "29993f4ae4c975662724978792d1a503b9ee760fbb194d321a754253cbe60aad"
    
    S = "${WORKDIR}/mariadb-connector-c-3.3.1-src"
    
    DEPENDS = "zlib openssl gnutls krb5 curl zstd"
    
    inherit cmake
    
    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 \
        ${libdir}/mariadb/plugin/caching_sha2_password.so \
        ${libdir}/mariadb/plugin/sha256_password.so \
        ${libdir}/mariadb/plugin/zstd.so \
        ${libdir}/mariadb/plugin/client_ed25519.so"
    
    FILES_${PN}-dev+="${libdir}/mariadb/libmariadb.so"
    
    FILES_${PN}-staticdev+="${libdir}/mariadb/libmariadb.a \
        ${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"
    
    do_install_append() {
        rm -rf ${D}/usr/man/*
        rmdir ${D}/usr/man
    }