Skip to content

Build for OpenEmbedded

Kirk Martinez edited this page Sep 19, 2019 · 3 revisions

OpenEmbedded is a flavour of Linux used on some embedded computers. You need to cross-compile for the platform, having built the compiler. These notes are very old !

Arm Packages for OpenEmbedded

If you do not want to compile these yourselves, here are packaged binaries for OpenEmbedded distributions. These were built using a Gumstix running the Ångström distro and install vips & nip2 7.20.7 (latest version at the time of writing) using the /usr prefix. These are quite minimal and do not link against many of the optional libraries like FFTW.

vips_7.20.7_arm.ipk

nip2_7.20.7_arm.ipk

These were generated following the instructions outlined here: http://handhelds.org/moin/moin.cgi/BuildingIpkgs?action=highlight&value=BuildingIpkgs

Cross Compiling for OpenEmbedded

Having setup the OE environment configure VIPS src (I use an alias to remind me its:

/usr/src/oe/tmp/deploy/glibc/addons/arm-angstrom-linux-gnueabi-angstrom-gumstix-custom-connex-devshell

As JPEG and TIFF libraries are pretty much essential they need building/cross-compiling locally first then pointing to in the config line

--host option to tell it to use crosscompiler, prefix to point to your special area, stop it using liboil (tricky)

./configure --host=arm-angstrom-linux-gnueabi --prefix=/home/km/armvips --without-liboil

Build Natively on OpenEmbedded

The following were the packages that I had to install to get the build environment setup on the Gumstix.

opkg install flex
opkg install bison
opkg install pkgconfig 
opkg install gtk+-dev
opkg install libxml2-dev
opkg install libgthread-2.0-0
opkg install pango-dev
opkg install libpangomm-1.4-dev 
opkg install libpng 
opkg install libexif-dev
opkg install liboil-dev
opkg install pkgconfig
opkg install m4-dev 
opkg install gettext-dev
opkg install g++-symlinks
opkg install bison-dev
opkg install cpp-symlinks
opkg install g++-symlinks

Then the following configure command was used

./configure --prefix=/usr

Somehow the bison installed through opkg (2.3-r1.5) would not work correctly, so I compiled and installed the newest version of bison (2.4).

Furthermore, vips would not compile unless I commented out im_icc_export from im_icc_transform.c. This is probably not a final solution as it could lead to unwanted behavior...

Clone this wiki locally