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