About cross-compilling DirectFB on ARM

Dec 31, 2008 3 Replies

I'm cross-compilling DirectFB-0.9.24 on ARM using arm- linux-2.95.3.processes like this:


1.#NM=/usr/local/arm/2.95.3/bin/arm-linux-nm LD=/usr/local/arm/2.95.3/ bin/arm-linux-ld CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc CXX=/usr/ local/arm/2.95.3/bin/arm-linux-g++ RANLIB=/usr/local/arm/2.95.3/bin/ arm-linux-ranlib AR=/usr/local/arm/2.95.3/bin/arm-linux-ar ./configure

--prefix=/usr/miniDirectFB --enable-mmx=no --enable-sse=no --enable- sdl=no --enable-gif=no --enable-jpeg=no --with-gfxdrivers='none' -- with-inputdrivers='none' --without-tools --disable-fast-install -- disable-libtool-lock --enable-png=no --enable-video4linux=no --disable- debug --disable-trace --enable-freetype=no --target=arm-linux -- host=arm-linux



The last output is : Build options: Version 0.9.24 Install prefix /usr/miniDirectFB Build shared libs yes Build static libs no Module directory ${exec_prefix}/lib/directfb-0.9.24 CPPFLAGS -D_REENTRANT CFLAGS -Wall -O3 -ffast-math -pipe - D_GNU_SOURCE -Werror-implicit-function-declaration LDFLAGS LIBS -ldl -lpthread



Misc options: Multi Application Core no Voodoo (network support) no Debug mode no Trace support no MMX support no SSE support no zlib compression no sysfs support no



Building Core Systems: Linux FBDev support yes X11 support no OSX support no SDL support no VNC support no



Building WM Modules: Default yes UniQuE no



Building Tools yes



Building Image Providers: GIF no JPEG no MPEG2 I-Frame yes PNG no



Building Video Providers: Video4Linux yes (v2: no)



Building Font implementations: FreeType2 Default font yes



Building Graphics Drivers: 3Dfx Voodoo yes ATI Mach64 yes ATI Radeon yes ATI Rage 128 yes ATI R200 yes Intel i810 no Intel i830 no Matrox yes NeoMagic no NSC Geode yes nVidia yes S3 Savage no SiS 315 yes TVIA CyberPro yes VIA CLE266 no VIA UniChrome no



Building Input Drivers: DBox2 Remote no DreamBox Remote no ELO Touchscreen yes H3600 Touchscreen no Joystick yes Keyboard yes Linux Input yes LiRC yes MuTouch touchscreen yes PS/2 Mouse yes Serial Mouse yes SonyPI Jogdial no ucb1x00 Touchscreen yes WM97xx Touchscreen yes


2.#make The errors are: make[3]: *** [idirectfbvideoprovider_v4l.lo] Error 1 make[3]: Leaving directory `/home/nfs_share/DirectFB-0.9.24/interfaces/ IDirectFBVideoProvider' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/nfs_share/DirectFB-0.9.24/ interfaces' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/nfs_share/DirectFB-0.9.24' make: *** [all-recursive-am] Error 2

Anyone can help$B!)(B



ps:My English is pool.


Do you use GCC 2.95? This is a really old version and you might get problems with some programs and libraries.

I've used

formatting link
for compiling Ångström for the AT91SAM9263, which uses a GCC 4.* compiler (I don't remember the exact version), which works great. But first it didn't compile on an old Fedora Core Linux system, but the latest Debian distribution worked (some problems with old M4 generators).

Looks like the real error is some lines before.

Frank Buss, fb@frank-buss.de http://www.frank-buss.de, http://www.it4-systems.de

You are right! As you said ,I found something like this:

/usr/local/arm/2.95.3/bin/arm-linux-gcc -DHAVE_CONFIG_H -I. -I. - I../.. -I../../include -I../../lib -I../../lib -I../../src -DDATADIR= \"/usr/miniDirectFB/share/directfb-0.9.24\" -D_REENTRANT -Wall -O3 - ffast-math -pipe -D_GNU_SOURCE -Werror-implicit-function-declaration - c idirectfbvideoprovider_v4l.c -fPIC -DPIC -o .libs/ idirectfbvideoprovider_v4l.o idirectfbvideoprovider_v4l.c:47: linux/compiler.h: No such file or directory In file included from ../../src/core/state.h:35, from idirectfbvideoprovider_v4l.c:59: ../../lib/direct/serial.h: In function `direct_serial_increase': ../../lib/direct/serial.h:63: warning: value computed is not used make[3]: *** [idirectfbvideoprovider_v4l.lo] Error 1 ....

notice this line: idirectfbvideoprovider_v4l.c:47: linux/compiler.h: No such file or directory I think it must be the real error.

Frank Buss,thank you very much.

Yes, this looks like the real error. It is part of the linux header files, but you'll need it for your cross compile target, not from your Linux host system. Try an updatedb and "locate compiler.h" to check, if you have this file somewhere in your cross compile path. Then you can add it to the header include path.

Frank Buss, fb@frank-buss.de http://www.frank-buss.de, http://www.it4-systems.de

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required