Hi all,

Have a look at the meta-mono layer: https://github.com/KokoFitClub/meta-mono/tree/master/recipes-mono/libgdiplus

I found some time to look at the qa_staging failure I've been seeing when trying to build this recipe. I think I have a solution so for those like me coming up the OpenEmbedded recipe curve, here's some feedback for Google.

The libgdiplus recipe (above) uses autotools, one of the outputs of which seems to be a package configuration file (libgdiplus.pc)

There seems to be an issue that in some cases the .pc file references paths on the build system, due to the output of the pkg-config tool and seemingly these paths need to be fixed up to reference the target instead (or at least, not the host staging directory).

From what I can tell the function package_qa_check_staged() in openembedded/classes/insane.bbclass is trying to determine if this problem exists in the .pc files and if so flag it up, which is why I see:

NOTE: package libgdiplus-2.10-r0: task do_qa_staging: Started
ERROR: QA Issue with staging: libgdiplus.pc failed sanity test (tmpdir) in path /data_drive/openembedded/build/tmp-angstrom_2008_1/sysroots/armv5te-angstrom-linux-gnueabi/usr/lib/pkgconfig
ERROR: QA staging was broken by the package built above
NOTE: package libgdiplus-2.10-r0: task do_qa_staging: Failed

So the key seems to be to correct the contents of the pc file.

If we add the following code to the .bb recipe file Koen links to above, to execute after package installation it should cause sed to strip out includes of absolute paths referencing the staging directory:

do_install_append() {
  # fix pkgconfig .pc file
  sed -i -e s#I${STAGING_DIR_HOST}#I#g ${D}${libdir}/pkgconfig/*.pc
}

If I go to look at the libgdiplus.pc file in the pkgconfig directory of the staging tree the resulting output looks
correct for the target (I think) and the build then works.

I think this should be the basis for a fairly generic solution to pkg-config issues, but I'm working this out as I go along so if I'm misunderstanding things, any corrections on what's going on would be appreciated.

Best Regards,

Alex




_______________________________________________
Angstrom-distro-devel mailing list
Angstrom-distro-devel@linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel

Reply via email to