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
Hi Neal,
On Tue Apr 24, 2007 at 11:12:07 +0200, Neal H. Walfield wrote:
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:
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.
It's right that those directories should not be mixed. I've uploaded an updated package that has a change include path. Thanks for the note.
Adam
l4-hackers@os.inf.tu-dresden.de