A similar problem occurs when building on fiasco:
The error
Program bootstrap/bootstrap make[6]: Nothing to be done for `all'. ... Generating bootstrap.ld cc1: error: missing argument to "-P"
is caused by the '-P' in
$(LDSCRIPT): $(LDSCRIPT).in $(SRC_DIR)/Makefile $(BOOTSTRAP_LD_dep) @$(GEN_MESSAGE) $(VERBOSE)cpp -P $(CPPFLAGS) -DLINKADDR=$(DEFAULT_RELOC_$(ARCH)) $< $@;
in
base-fiasco/contrib/fiasco/snapshot/l4/pkg/bootstrap/server/src/Makefile
and can be solved by using '-P="$(CPPFLAGS)"' then the error
/usr/local/genode-gcc/bin/genode-x86-ld:bootstrap.ld:1: ignoring invalid character `#' in expression /usr/local/genode-gcc/bin/genode-x86-ld:bootstrap.ld:1: syntax error
leds to <BUILD_DIR>/l4/pkg/bootstrap/server/src/OBJ-x86_586/bootstrap.ld where removing the faulty comment style is again the problem.
After this the build and run succeeds. The problems do not occur with other L4 based kernels.
On 11/12/2012 11:39 AM, Martin Stein wrote:
Hi,
I have an obscure little error that kept me from running Genode with base-foc. I have a freshly cloned Genode repo on the master branch with a freshly 'make prepare'd base-foc/contrib. The build dir is also freshly created and not modified (no 'MAKE+=j' or something). I'm using Linux 3.0.0-23 x86_64 and GCC 4.7.2 and i already built with FOC on GCC 4.6.x some time ago. The error:
[ "222" -lt "218" ] && \ CPP_ARGS="-DMAXPAGESIZE=0x1000 -DCOMMONPAGESIZE=0x1000 -DCONSTANT(x)=x"; \ cpp -nostdinc -include /home/hyronimo/LokaleDaten1/GenodeLabs/genode/test/base-foc/contrib/l4/pkg/ldscripts/generic.h \ -Wno-trigraphs -Ui386 -P $CPP_ARGS /home/hyronimo/LokaleDaten1/GenodeLabs/genode/test/base-foc/contrib/l4/pkg/ldscripts/ARCH-arm/main_dyn.ld main_dyn.ld cc1: error: missing argument to "-P"
led me to 'base-foc/contrib/l4/pkg/ldscripts/Makefile' where
%.ld: $(PKGDIR)/ARCH-$(ARCH)/%.ld $(SRC_DIR)/Makefile $(SRC_DIR)/generic.h -@$(GEN_MESSAGE) $(VERBOSE)[ "$(LDVERSION)" -lt "218" ] && \ CPP_ARGS="-DMAXPAGESIZE=$(MAXPAGESIZE_$(ARCH)) -DCOMMONPAGESIZE=$(COMMONPAGESIZE_$(ARCH)) -DCONSTANT(x)=x"; \ cpp -nostdinc -include $(SRC_DIR)/generic.h \ -Wno-trigraphs -Ui386 -P $$CPP_ARGS $< $@
checks the LD version that is 222 and not 218 in my scenario, thus CPP_ARGS is empty. But even with a not empty CPP_ARGS i get the error. Thus i removed anything before the cpp-call and inserted the CPP_ARGS directly, one times with the 222-version and another with the 218 version.
Now the build was going on until this came up:
/usr/local/genode-gcc/bin/genode-arm-ld:/home/hyronimo/LokaleDaten1/GenodeLabs/genode/build.test/l4/lib/arm_armv7a/main_rel.ld:1: ignoring invalid character `#' in expression /usr/local/genode-gcc/bin/genode-arm-ld:/home/hyronimo/LokaleDaten1/GenodeLabs/genode/build.test/l4/lib/arm_armv7a/main_rel.ld:1: syntax error
that was caused by comments that were preceeded by '#' instead of '/*', thus i removed all of these faulty comments and now the demo builds and runs fine.
I'm a little confused with this, has anybody a hint for me?