ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scot P. Floess" <flo...@mindspring.com>
Subject Re: Cross-compilation problem
Date Fri, 22 Feb 2008 15:06:46 GMT
Curious, why don't you just use the 1.5 javac but target 1.4?  That 
should do what you want...  I think all you will need to do is this:

<javac srcdir="src" destdir="classes" source="1.4" target="1.4"/>

Christian Schröder wrote:
> Hi list,
> I have some projects that should be compiled with javac 1.4 and some 
> that should be compiled with javac 1.5. Since I do not want to change 
> my environment between the projects, I have the JAVA_HOME variable set 
> to the 1.5 classpath and want ant to use the external 1.4 javac when 
> necessary. Unfortunately, I always get an "Error running 
> /usr/java/j2sdk1.4.2/bin/javac compiler".
>
> I have been able to create a small example build file to reproduce 
> this problem:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <project name="TestProject" default="default" basedir=".">
>    <target name="default">
>        <javac srcdir="src" destdir="classes" source="1.4" target="1.4" 
> fork="yes" executable="/usr/java/j2sdk1.4.2/bin/javac"/>
>    </target>
> </project>
>
> With verbose output I get the following stack trace:
>
> /home/chschroe/deriva/projects/DerivaLibLogging/build-tmp.xml:4: Error 
> running /usr/java/j2sdk1.4.2/bin/javac compiler
>        at 
> org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java:509)

>
>        at 
> org.apache.tools.ant.taskdefs.compilers.JavacExternal.execute(JavacExternal.java:61)

>
>        at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:997)
>        at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:820)
>        at 
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
>
>        at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

>
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at 
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) 
>
>        at org.apache.tools.ant.Task.perform(Task.java:348)
>        at org.apache.tools.ant.Target.execute(Target.java:357)
>        at org.apache.tools.ant.Target.performTasks(Target.java:385)
>        at 
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>        at 
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
>
>        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>        at org.apache.tools.ant.Main.runBuild(Main.java:698)
>        at org.apache.tools.ant.Main.startAnt(Main.java:199)
>        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> Caused by: java.io.IOException: java.io.IOException: Cannot allocate 
> memory
>        at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
>        at java.lang.ProcessImpl.start(ProcessImpl.java:65)
>        at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
>        at java.lang.Runtime.exec(Runtime.java:591)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
>
>        at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

>
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at 
> org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:828) 
>
>        at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:445)
>        at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:459)
>        at 
> org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java:506)

>
>        ... 20 more
>
> The machine has several gigs of free memory and this test project is 
> really small. So what's the problem?
>
> Some information about my environment:
>
> Apache Ant version 1.7.0 compiled on December 13 2006
> javac 1.5.0_12
> javac 1.4.2_15
>
> Thanks for all help!
>    Christian
>

-- 
Scot P. Floess
27 Lake Royale
Louisburg, NC  27549

252-478-8087 (Home)
919-754-4592 (Work)

Chief Architect JPlate   http://sourceforge.net/projects/jplate
Chief Architect JavaPIM  http://sourceforge.net/projects/javapim

Architect Keros          http://sourceforge.net/projects/keros


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message