Search code examples
javajvmenvironment-variablesjava-homejikes

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


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".


Solution

  • run this command:

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

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