This is a read-only copy of the MariaDB Knowledgebase generated on 2024-11-17. For the latest, interactive version please visit https://mariadb.com/kb/.

Compiling the C connector for MariaDB on Yocto/Embedded Linux

Hello, I'm attempting to compile the C connector for yocto, but keep running into errors at the compiling stage. here is the recipe I'm using (there is no do_install for now):

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() { cmake ${WORKDIR}/mariadb-connector-c-3.3.1-src -DCMAKE_BUILD_TYPE=Release }

do_compile() { make }

This is the error I receive:

DEBUG: Executing shell function do_compile
Scanning dependencies of target remote_io
[ 0%] Building C object CMakeFiles/remote_io.dir/plugins/io/remote_io.c.o
[ 1%] Linking C shared module remote_io.so
/home/user/imx/build/tmp/work/cortexa9t2hf-neon-phytec-linux-gnueabi/mariadbconnector/0.1-r0/recipe-sysroot-native/usr/lib/libcurl.so: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status
CMakeFiles/remote_io.dir/build.make:84: recipe for target 'remote_io.so' failed
make[2]: * [remote_io.so] Error 1
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/remote_io.dir/all' failed
make[1]: * [CMakeFiles/remote_io.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: * [all] Error 2
WARNING: exit code 2 from a shell command.

the command "file libcurl.so.4.5.0" produces: libcurl.so.4.5.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3bab38f8075a676a90ab4f402da8c06c31226f2a, stripped

Can you please help me with compiling the C connector for yocto? Thanks a lot!

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.