EmbeddedRelated.com
Forums

About cross-compilling DirectFB on ARM

Started by $BG$9>E/(B(ReadLine) December 31, 2008
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.
任江哲(ReadLine) wrote:

> I'm cross-compilling DirectFB-0.9.24 on ARM using arm- > linux-2.95.3.processes like this:
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 http://www.angstrom-distribution.org 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).
> 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
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
> > Looks like the real error is some lines before. >
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.
������(ReadLine) wrote:

> notice this line: idirectfbvideoprovider_v4l.c:47: linux/compiler.h: > No such file or directory > I think it must be the real error.
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