Code Yarns ‍👨‍💻
Tech BlogPersonal Blog

eclimd architecture error

📅 2013-Mar-03 ⬩ ✍️ Ashwin Nanjappa ⬩ 🏷️ eclim, eclimd, error ⬩ 📚 Archive

Problem

Eclim enables you to access Eclipse features from Vim. But, when you run the eclimd server on your 64-bit computer, you get this error:

Your jvm does not support the architecture required  for the version of eclipse you have installed: -d32

Solution

eclimd is a Bash script and it has detected that your JVM is 64-bit, but your Eclipse is 32-bit. If this really is the case, you will need to fix it by using a 64-bit version of Eclipse.

In my case, I was using 64-bit versions of both programs. I found that the architecture detection lines of the script might have a bug. Find these lines in the eclimd script:

  # ensure that the correct jvm environment is used.
  SWT=`ls $ECLIM_ECLIPSE_HOME/plugins/org.eclipse.swt.*.jar 2> /dev/null`
  if `echo "$SWT" | grep -q "x86_64"` ; then
    ARCH=-d64
  else
    ARCH=-d32
  fi

  if ! `java $ARCH -version 2> /dev/null` ; then
    echo "Your jvm does not support the architecture required " \
      "for the version of eclipse you have installed: $ARCH"
    exit 1;
  fi

Comment these out and replace them with this line:

ARCH=-d64

eclimd should work fine now.

Tried with: Eclim 1.7.13, Vim 7.3, Eclipse 3.7 (Indigo) and Ubuntu 12.04 LTS