I am trying to generate a package from a Bitbake recipe for Raspberry Pi:
inherit cargo
SUMMARY = "myapp"
DESCRIPTION = "Compile and configure myapp"
LICENSE = "CLOSED"
HOMEPAGE = "git://git.myserver.com:myapp/myapp.git"
DEPENDS = "openssl postgresql"
SRC_URI = "git://git.myserver.com/myapp/myapp.git;protocol=https;user=myuser:mypass;tag=v${PV}"
SRC_URI[sha256sum] = "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
S = "${WORKDIR}/git"
The program I am compiling depends on the PostgreSQL library libpq which is generated by the postgresql package. My problem is that the linker cannot find libpq, even been in DEPENDS.
The output error is:
...
"-Wl,--end-group" "/home/yocto-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/myapp/0.0.1-r0/recipe-sysroot-native/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-e2523c360f03ba10.rlib" "-Wl,-Bdynamic" "-lpq" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc"
| = note: /home/yocto-image/build/tmp/hosttools/ld: cannot find -lpq
| collect2: error: ld returned 1 exit status
|
|
| error: aborting due to previous error
|
...
Finally found the solution. I was cross-compiling the code in a Ubuntu x86_64 PC. The library was necessary for the compiling machine not for the target machine (Raspberry Pi). The solution is just to install the libraries needed in Ubuntu: