Debian package for Dice and DICE_INCDIR

Neal H. Walfield neal at walfield.org
Tue Apr 24 11:12:07 CEST 2007


When using Adam's Debian package for dice [1], Dice's include files
are installed in /usr/include.  For L4 ENV to make use of them, I had
to override DICE_INCDIR.  This has the unfortunate effect of
essentially making the system header files includable.  This triggers
the following error:

  LD_PRELOAD=/home/neal/src/tudos/build/tool/gendep/libgendep.so
  GENDEP_TARGET=helper_dyn.s.o GENDEP_BINARY=cc1  gcc-3.4 -c
  -DRAM_BASE=0x0 -DUSE_UCLIBC=y    -DSYSTEM_x86_586_l4v2 -DARCH_x86
  -DCPUTYPE_586 -DL4API_l4v2 -DCONFIG_L4_CALL_SYSCALLS
  -DCONFIG_L4_ABS_SYSCALLS
  -I/home/neal/src/tudos/build/pkg/loader/idl/OBJ-x86-l4v2
  -I/home/neal/src/tudos/build/include/x86/l4v2
  -I/home/neal/src/tudos/build/include/l4v2
  -I/home/neal/src/tudos/build/include/x86
  -I/home/neal/src/tudos/build/include -I/usr/include
  -I/home/neal/src/tudos/l4/../install/include/x86/l4v2
  -I/home/neal/src/tudos/l4/../install/include/l4v2
  -I/home/neal/src/tudos/l4/../install/include/x86
  -I/home/neal/src/tudos/l4/../install/include -nostdinc
  -I/home/neal/src/tudos/build/include/x86/uclibc
  -I/home/neal/src/tudos/build/include/uclibc
  -I/home/neal/src/tudos/build/include/uclibc++
  -I/home/neal/src/tudos/l4/../install/include/x86/uclibc
  -I/home/neal/src/tudos/l4/../install/include/uclibc
  -I/home/neal/src/tudos/l4/../install/include/uclibc++
  -I/usr/lib/gcc/i486-linux-gnu/3.4.6/include -gstabs+      -g -O2
  -fno-strict-aliasing  -march=i586 -Wall -Wstrict-prototypes
  -Wmissing-prototypes -Wmissing-declarations  -fno-common -D__PIC__
  -fPIC /home/neal/src/tudos/l4/pkg/loader/lib/runtime/helper_dyn.c -o
  helper_dyn.s.o
  /home/neal/src/tudos/l4/pkg/loader/lib/runtime/helper_dyn.c:70: error:
  syntax error before "__extension__"
  /home/neal/src/tudos/l4/pkg/loader/lib/runtime/helper_dyn.c:70: error:
  syntax error before '&&' token
  ...
  make[6]: *** [helper_dyn.s.o] Error 1
  make[6]: Leaving directory
  `/home/neal/src/tudos/build/pkg/loader/lib/runtime/OBJ-x86_586-l4v2'

As can be seen above -I/usr/include is present on the command line.
This is due to the expansion of $(DICE_INCDIR).

To work around this problem, the package could be changed to instead
install the dice include files under /usr/include/dice such that
setting DICE_INCDIR to /usr/include/dice would cause the dice header
files to be made available for inclusion.

Neal


[1] http://os.inf.tu-dresden.de/~adam/dice/




More information about the l4-hackers mailing list