base-foc: contrib compile errors

Martin Stein martin.stein at ...1...
Tue Nov 13 13:51:07 CET 2012


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?
> 





More information about the users mailing list