[yocto] Missing headers in /usr/inlcude for software developers

Burton, Ross ross.burton at intel.com
Wed Dec 5 02:48:00 PST 2018


On Wed, 5 Dec 2018 at 10:37, Georgi Georgiev
<Georgi.Georgiev at woodward.com> wrote:
> Thank you Ross.
> Everything went fine with makefile. It works in yocto and from cl
> Now another issue arise. The software guys will need the headers and when I "populated" sdk they were not in the rootfs. The symbolic links also were not there. The symlink (so.0) and the library is present in the image rootfs. Here is my recipe libanybus-m40.so_0.0.1.bb:

Headers and symlinks for what recipe?  This one?

> DESCRIPTION = "Anybus M40 Library"
> LICENSE = "GPLv2"
> LIC_FILES_CHKSUM =  "file://${THISDIR}/files/LICENSE;md5=5959e502cb44bafc53b2cc9400e3d4cd"

Checksum a file in the source tree.

> PR = "r0"

Redundant, you can remove.

> PACKAGES = "${PN} ${PN}-dev ${PN}-dbg"

Redundant, remove.

> # This is to satisfy yocto QA
> TARGET_CC_ARCH += "${LDFLAGS}"

Better to fix your makefile so it doesn't override LDFLAGS
assignments: your makefile is what is broken here.

> do_compile() {
>     oe_runmake
> }

That's the default, you can remove this.

> do_install() {
>     install -d ${D}${libdir}
>     install -m 0644 ${PN}.${PV} ${D}${libdir}
> }
> Obvously I am missing something else....

You're not installing the headers or library symlinks, which is why
they're not in the SDK.

I suggest you move from raw makefiles to a build utility such as
autotools, cmake, or meson.

Ross


More information about the yocto mailing list