[e-lang] Problems building E 0.8.35f

Mark S. Miller markm at cs.jhu.edu
Thu Sep 8 14:15:56 EDT 2005

Steve Jenson wrote:
> Hi guys,
> Have any of you build E 0.8.35f with Java 5 on Win32? Using cygwin, I
> get the following error:
> javac: target release 1.2 conflicts with default source release 1.5
> I clearly see see javac getting called with -target 1.2 in the make
> output but don't find this anywhere in the Makefile.

Hi Steve, sorry it took me so long to get to this.

The -target directive is in src/build/makerules.mk. You should be able to
build while suppressing the target directive by setting the environment
variable JTARGET to "none". In bash, this would be

    $ JTARGET=none make ...

The problem seems to be that I'm setting the -target version without setting
the -source version. I've changed the relevant block of code in makerules.mk to

ifeq "$(JAVAC)" "gcj"
 JCOMPILE="$(JAVAC)" -C -fno-assert -g \
	-classpath "$(COMP_PATH)" -d $(TOP)/classes
 TOOLCOMPILE="$(JAVAC)" -C -fno-assert -g \
	-classpath "$(TOOL_PATH)" -d $(TOP)/classes
 ifeq "$(JTARGET)" "none"
  JCOMPILE="$(JAVAC)" -g \
	-classpath "$(COMP_PATH)" -d $(TOP)/classes
	-classpath "$(TOOL_PATH)" -d $(TOP)/classes
  ifndef JTARGET
  JCOMPILE="$(JAVAC)" -source $(JTARGET) -target $(JTARGET) -g \
	-classpath "$(COMP_PATH)" -d $(TOP)/classes
  TOOLCOMPILE="$(JAVAC)" -source $(JTARGET) -target $(JTARGET) -g \
	-classpath "$(TOOL_PATH)" -d $(TOP)/classes

I'm testing this change now. If you'd like to try it and let me know if it
works for you, I'd appreciate it. Thanks.

Text by me above is hereby placed in the public domain


More information about the e-lang mailing list