logo       

Compiling Enhydra 5.0 on Mac OS X 10.2.1 (Jaguar): msg#00094

java.enhydra.general

Subject: Compiling Enhydra 5.0 on Mac OS X 10.2.1 (Jaguar)

Hi all,

I tried to compile enhydra 5.0 on my Mac running Jaguar (OS X 10.2).

I went into a strange behaviour:
when doing a compile.sh buildNoDoc (or buildAll), The compilation goes on and then I got the following error:


jddic:
[echo] Build .jhtml files ...
[javac] Compiling 13 source files to /Users/serasset/dev/tools/enhydra-5.0/Enhydra/modules/Enhydra/classes/ admin
[foreach] Note: /Users/serasset/dev/tools/enhydra-5.0/Enhydra/modules/ EnhydraAppManager/src/com/lutris/http/BasicAuth.java uses or overrides a deprecated API.
[foreach] Note: Recompile with -deprecation for details.
[jddic] Jddic srcdir =/Users/serasset/dev/tools/enhydra-5.0/Enhydra/modules/ MultiServerAdmin/src
[jddic] destdir =/Users/serasset/dev/tools/enhydra-5.0/Enhydra/modules/Enhydra/classes/ admin
[jddic] exedir =/Library/Java/Home//bin/java
[jddic] classpath =/Users/serasset/dev/tools/enhydra-5.0/Enhydra/output/enhydra5.0/lib/ enhydra.jar:/Users/serasset/dev/tools/enhydra-5.0/Enhydra/output/ enhydra5.0/lib/xmlc.jar:/Users/serasset/dev/tools/enhydra-5.0/Enhydra/ output/enhydra5.0/lib/core.jar:/Users/serasset/dev/tools/enhydra-5.0/ Enhydra/output/enhydra5.0/lib/xerces.jar:/Users/serasset/dev/tools/ enhydra-5.0/Enhydra/output/enhydra5.0/lib/servlet.jar:/Users/serasset/ dev/tools/enhydra-5.0/Enhydra/output/enhydra5.0/lib/tomcat.jar:/Users/ serasset/dev/tools/enhydra-5.0/Enhydra/output/enhydra5.0/lib/ xmlcSupport.jar:/Users/serasset/dev/tools/enhydra-5.0/Enhydra/output/ enhydra5.0/lib/gnu-regexp.jar
[jddic] force =false
[jddic] keep =false
[jddic] Jddic processing 27 files:
[jddic] Add.jhtml --> Add.class
[foreach] java.io.IOException: javac: not found
[foreach] at java.lang.UNIXProcess.forkAndExec(Native Method)
[foreach] at java.lang.UNIXProcess.<init>(UNIXProcess.java:54)
[foreach] at java.lang.Runtime.execInternal(Native Method)
[foreach] at java.lang.Runtime.exec(Runtime.java:546)
[foreach] at java.lang.Runtime.exec(Runtime.java:472)
[foreach] at java.lang.Runtime.exec(Runtime.java:438)
[foreach] at com.lutris.appserver.server.jolt.joltc.Javac.javac(Unknown Source)
[foreach] at com.lutris.appserver.server.jolt.joltc.JoltCompile.doComp(Unknown Source)
[foreach] at com.lutris.appserver.server.jolt.joltc.JoltCompile.compileJolt(Unknown Source)
[foreach] at com.lutris.appserver.server.jolt.joltc.JoltCompile.main(Unknown Source)
[foreach] Error exit value=1

[I modified the build.xml file to make the Jddic task verbose]

After digging into the code, I realized that this task s handle by the Enhydra AntTasks module.

Hence, I looked at it and saw that the AntTask was launching Jolt with PATH variable set to {java.home}/../bin

This explained the "javac not found" error.

I tried to figure out why the PATH variable was set to this value, but could not find an answer.

Hence I modified the modules/antTask/src/com/lutris/ant/taskdefs/Jddic.java by changing line 339 from:
env[1] = "PATH=" + System.getProperty("java.home") + File.separatorChar
+ ".." + File.separatorChar + "bin";
to
env[1] = "PATH=" + System.getProperty("java.home") + File.separatorChar
+ ".." + File.separatorChar + "bin" +
pathSeparator +
System.getProperty("java.home") + File.separatorChar + "bin";

After compiling the AntTask module, I was able to compile the entire enhydra application without any trouble...

Is this a bug on other plateform or is it only related to Jaguar ?

Gilles,

--
Gilles Sérasset
GETA-CLIPS-IMAG (UJF, INPG & CNRS)
BP 53 - F-38041 Grenoble Cedex 9
Phone: +33 4 76 51 43 80
Fax: +33 4 76 44 66 75


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise