Author Topic: Error the chosen operation is not currently available undefined symbol: _Z5vmain  (Read 6350 times)

Nico

  • Junior Community Member
  • Posts: 3
  • Hero Points: 0
I am using CodeSourcery's version of eclipse 3.5 for embedded development. Since I have been a user of slickedit I would like to use slickedit core in eclipse.

I have found 2 different posts about this problem but neither of them had a resolution.

The OS is Ubuntu 9.10 amd64

eclipse version 32-bit i have both 32-bit and 64-bit sun java 6 installed.

Eclipse core installs with no problems but when going to use any feature I receive the error "the chosen operation is not currently available"

When I start the program with eclipse -vstrace I receive the following output:
com.slickedit.core: Found exePath as: /home/nico/CodeSourcery/Sourcery_G++/eclipse/plugins/com.slickedit.linux.libs_3.5.0/slickedit/bin
com.slickedit.core: Update File Path is: /home/nico/CodeSourcery/Sourcery_G++/eclipse/plugins/com.slickedit.linux.libs_3.5.0/slickedit/bin/.upddat
com.slickedit.core: Starting Plugin
com.slickedit.core: Trying to load libraries.
com.slickedit.core: Loading: /home/nico/CodeSourcery/Sourcery_G++/eclipse/plugins/com.slickedit.linux.libs_3.5.0/slickedit/bin/libvsenv.so
com.slickedit.core: Loading: /home/nico/CodeSourcery/Sourcery_G++/eclipse/plugins/com.slickedit.linux.libs_3.5.0/slickedit/bin/libvsapi.so
com.slickedit.core: Could not load library: /home/nico/CodeSourcery/Sourcery_G++/eclipse/plugins/com.slickedit.linux.libs_3.5.0/slickedit/bin/libvsapi.so: /home/nico/CodeSourcery/Sourcery_G++/eclipse/plugins/com.slickedit.linux.libs_3.5.0/slickedit/bin/libvsapi.so: undefined symbol: _Z5vmainiPPc
/usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so
/usr/lib/gio/modules/libgioremote-volume-monitor.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgioremote-volume-monitor.so
/usr/lib/gio/modules/libgiogconf.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgiogconf.so

So my question is: Is there any way to get this to work on my machine? It appears that eclipse is using the 64-bit java environment instead of the 32 bit version. Is there a way to force  eclipse to use the 32-bit version of the java runtime?

Thanks for any assistance in advance,
Nico

Ryan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 987
  • Hero Points: 77
Yes, all you have to do is prepend the path to the 32-bit Java executable to your PATH env var, and then start Eclipse.  Also, make sure you are using Java 1.6.0 or later.

- Ryan

EDIT:  Do 'java -version' on the command line prior to start Eclipse to make sure you are using the desired version of Java.
« Last Edit: January 17, 2010, 09:31:24 pm by Ryan »

Nico

  • Junior Community Member
  • Posts: 3
  • Hero Points: 0
Thanks for the quick reply

I uninstalled all versions of Java from the synaptic package manager then installed the latest Java runtime directly from the Sun site.

But still the problem exists. Here is my current output along with the Java version.

nico@dev:~/CodeSourcery/Sourcery_G++_for_ARM_GNU_Linux$ java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) Server VM (build 14.3-b01, mixed mode)

nico@dev:~/CodeSourcery/Sourcery_G++_for_ARM_GNU_Linux$ ./Sourcery_GXX_IDE -vstrace
nico@dev:~/CodeSourcery/Sourcery_G++_for_ARM_GNU_Linux$ com.slickedit.core: Found exePath as: /home/nico/CodeSourcery/Sourcery_G++/eclipse/plugins/com.slickedit.linux.libs_3.5.0/slickedit/bin
com.slickedit.core: Update File Path is: /home/nico/CodeSourcery/Sourcery_G++/eclipse/plugins/com.slickedit.linux.libs_3.5.0/slickedit/bin/.upddat
com.slickedit.core: Starting Plugin
com.slickedit.core: Trying to load libraries.
com.slickedit.core: Loading: /home/nico/CodeSourcery/Sourcery_G++/eclipse/plugins/com.slickedit.linux.libs_3.5.0/slickedit/bin/libvsenv.so
com.slickedit.core: Loading: /home/nico/CodeSourcery/Sourcery_G++/eclipse/plugins/com.slickedit.linux.libs_3.5.0/slickedit/bin/libvsapi.so
com.slickedit.core: Could not load library: /home/nico/CodeSourcery/Sourcery_G++/eclipse/plugins/com.slickedit.linux.libs_3.5.0/slickedit/bin/libvsapi.so: /home/nico/CodeSourcery/Sourcery_G++/eclipse/plugins/com.slickedit.linux.libs_3.5.0/slickedit/bin/libvsapi.so: undefined symbol: _Z5vmainiPPc
/usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so
/usr/lib/gio/modules/libgioremote-volume-monitor.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgioremote-volume-monitor.so
/usr/lib/gio/modules/libgiogconf.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgiogconf.so
com.slickedit.core: Stopping Plugin

Thanks,
nico

Nico

  • Junior Community Member
  • Posts: 3
  • Hero Points: 0
I was able to get this working by doing the following:

Download getlibs-all from
http://frozenfox.freehostia.com/cappy/

run "getlibs -l" on each file that was showing the "wrong ELF class: ELFCLASS64"

Even though I had installed the 32 bit libraries for some reason eclipse or slickedit was still pointing at the 64 bit versions. The getlibs program helps sort that out.