[yocto] Building gutenprint recipe

Burton, Ross ross.burton at intel.com
Mon Jul 9 02:33:21 PDT 2018


If it's just a single simple binary that you need to run at build time
then you can build it manually in the target recipe before invoking
make.

The Pango recipe has an example of doing this.

Ross

On 7 July 2018 at 11:17, Alexander Kanavin <alex.kanavin at gmail.com> wrote:
> How to do this is specific to each project. Generally, you want the
> target recipe to depend on the native recipe (so that the necessary
> native tools show up in the target sysroot), and then you need to
> study the build system of the upstream component project (makefiles
> etc.) to see how it can be instructed to use the tool installed in the
> system, instead of building and using it's own version. Then patch the
> source code accordingly from the recipe.
>
> Alex
>
> 2018-07-07 12:02 GMT+02:00 Timm <timm at timmedia.de>:
>> There was a gutenprint recipe back in OE-Classic:
>> https://layers.openembedded.org/layerindex/oe-classic/recipe/12076/
>>
>> But currently there is no gutenprint available for Yocto.
>>
>> I tried to build my own recipe. But I got stuck at the stage where the
>> build process wants to call some generated binaries:
>>
>>     | ./extract-strings `cat xml-stamp | sed -e
>> 's;^;../../../gutenprint-5.2.11/src/xml/;'` > xmli18n-tmp.h.tmp
>>     | /lib/ld-linux-armhf.so.3: No such file or directory
>>
>> So, I introduced a "native" recipe, which just compiles the
>> "extract-strings" for me:
>>
>> ----------------------------------------------------------------------------------------------------------
>>
>> SECTION = "libs"
>> require gutenprint_${PV}.bb
>> DEPENDS = "gettext-native"
>> inherit native autotools
>>
>> EXTRA_OECONG = "\
>>         --disable-libgutenprintui2 \
>>             --disable-samples \
>>         --without-gimp2 \
>>         --without-doc \
>>         --disable-nls \
>>         --disable-nls-macos \
>>         --without-foomatic \
>>         --without-foomatic3 \
>>         --disable-escputil \
>>         --disable-test \
>>         --disable-testpattern \
>>         --without-cups \
>>                "
>>
>> do_compile() {
>>     oe_runmake -C src/xml/ extract-strings
>> }
>>
>> -----------------------------------------------------------------------------------------------------------------
>>
>> The next step is quite unclear for me? How can I tell the build system
>> not to generate the extract-strings again and use the native instead?
>>
>> As reference I used the build scripts from openwrt and buildroot. But
>> I'm not able to translate this build steps to Yocto.
>>
>> https://github.com/FranciscoBorges/openwrt-printing-packages/blob/master/net/gutenprint/Makefile
>>
>> https://github.com/buildroot/buildroot/blob/master/package/gutenprint/gutenprint.mk
>> --
>> _______________________________________________
>> yocto mailing list
>> yocto at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/yocto
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


More information about the yocto mailing list