"Error: JAVA_HOME is not defined correctly." in building Jikes rvm

19,970

Solution 1

run this command:

find . -exec grep "jdk1.6.0" {} \;

To find out which file is setting JAVA_HOME to that path.

Solution 2

While you build jikes you can either build it using ant or using the command you are using. If the JAVA_HOME problem is causing trouble use

bin/buildit localhost production -j"path to your jvm directory"

-This is present in "/usr/bin/jvm".

Another method: There is bin/buildit.base_config in which path for JAVA_HOME is specifically mentioned. So under "# Default JAVA_HOME values" you can modify appropriate location, for example,

global.javahome.ppc32-linux=/usr/lib/jvm/java-6-sun-1.6.0.26
global.javahome.ppc64-linux=/usr/lib/jvm/java-6-sun-1.6.0.26
global.javahome.ia32-linux=/usr/lib/jvm/java-6-sun-1.6.0.26
global.javahome.x86_64-linux=/usr/lib/jvm/java-6-sun-1.6.0.26

You can chose which you want to use. If not familiar with your architecture, modify all and now you can build without having to worry about your java path to be mentioned explicitly. For more detailed information check this blog

I have also written a small article on how one can start to fiddle with Jikes

Share:
19,970
JackWM
Author by

JackWM

Interests: Automata Theory, Parallelism

Updated on June 13, 2022

Comments

  • JackWM
    JackWM almost 2 years

    When I built the Jikes RVM on Ubuntu, I got this error. Any idea?

    bin/buildit localhost production
    ---> Config: production
    /bin/bash --login -c  '/bin/bash --login -c  "   cd /home/jack/Programs/jikesrvm-3.1.2 &&  export JAVA_HOME=/opt/jdk1.6.0 &&   ant very-clean -Dhost.name=ia32-linux &&  ant check-components-properties -Dhost.name=ia32-linux -Dtarget.name=ia32-linux -Dcomponents.cache.dir=/home/jack/.buildit_components_cache  &&   ant -Dtarget.name=ia32-linux -Dconfig.name=production -Dhg.revision= -Dhost.name=ia32-linux -Dcomponents.cache.dir=/home/jack/.buildit_components_cache "' 
    Error: JAVA_HOME is not defined correctly.
      We cannot execute /opt/jdk1.6.0/bin/java
    Wed Jun 13 12:23:37 EDT 2012
    ===================== Summary =====================
    Local   : /home/jack/Programs/jikesrvm-3.1.2
    Build   : ubuntu:/home/jack/Programs/jikesrvm-3.1.2
    Target  : ubuntu:/home/jack/Programs/jikesrvm-3.1.2
    Start   : Wed Jun 13 12:23:37 EDT 2012
    Config  : production [FAILED Wed Jun 13 12:23:37 EDT 2012]
    ===================================================
    

    OS:

    Linux ubuntu 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux
    

    Environmental Variables: PATH

    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java-6-sun-1.6.0.22/bin<
    

    JAVA_HOME

    /usr/lib/jvm/java-6-sun-1.6.0.22
    

    I checked the java in the JAVA_HOME/bin directory, it works. No matter how I change the environmental variables, the error kept complaining

    "We cannot execute /opt/jdk1.6.0/bin/java".

    It seems that I didn't modify the right "position".