Netbeans "sublime.so: wrong ELF class: ELFCLASS32"

Я потратил много времени впустую. И решил записать тут решение проблемы. Это не назовешь статьей, скорее заметка.












Так:
0. Я установил netbeans 8.0.2 скриптом с официального сайта (как виндузятник). Та версия, что лежит в репозитории  протухла и не боле поддерживается, а ppt я не нашел, судя по тому, как я поступил.
1. Я установил WTK 2.5.2
Я не помню, как я это делал. Все как в тумане. Я это делал пару недель назад. Но мне смутно вспоминается, что он спрашивал меня: "Где лежит JDK?". А я отвечал: "Не знаю, наверное тут /usr/lib/jvm/default-java".
2. Потом я запускаю netbeans, настаиваю проект. Не помню как это было - гуглите. Но судя по всему - очень просто.
Компиляция проходит нормально, а когда я нажимаю кнопочку "Запустить в эмуляторе", IDE недолго думая выдает мне такую новость:
java.lang.UnsatisfiedLinkError: /usr/local/netbeans-7.0/mobility/WTK2.5.2/bin/sublime.so: /usr/local/netbeans-7.0/mobility/WTK2.5.2/bin/sublime.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch) at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1750) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1646) at java.lang.Runtime.load0(Runtime.java:787) at java.lang.System.load(System.java:1022) at com.sun.kvem.Sublime.<init>(Unknown Source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:532) at java.lang.Class.newInstance0(Class.java:372) at java.lang.Class.newInstance(Class.java:325) at com.sun.kvem.Lime.createLime(Unknown Source) at com.sun.kvem.KVMBridge.<init>(Unknown Source) at com.sun.kvem.KVMBridge.getBridge(Unknown Source) at com.sun.kvem.midp.MIDP.run(Unknown Source) at com.sun.kvem.environment.EmulatorInvoker.runEmulatorImpl(Unknown Source) at com.sun.kvem.environment.EmulatorInvoker.main(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at com.sun.kvem.environment.JVM.main(Unknown Source) NetBeansProjects/VDCustomComponents1/nbproject/build-impl.xml:915: Execution failed with error code 1. BUILD FAILED (total time: 3 seconds)

Я посмотрел на часы, понял что мне срочно пора куда-то бежать и убежал на неделю.

4. Я запустил netbeans снова, через неделю, и получил ту же ошибку. Начал думать.
Первое что я подумал - несовместимы 64 битный jre и 32 битный wtk и мои подозрения оправдались тут. Тогда я скачал jdk для архитектуры i586 и распаковал в /usr/lib/jvm.
И следующий шаг я сделал в неправильном направлении - я начал биться с аргументом --jdkhome бедного netbeans'а. Мне не помогло и я изменил символическую ссылку /usr/lib/jvm/default-java. Это был жуткий костыль, но все заработало. 
А через час, я начал вспоминать события, описанные в пункте 1.
Короче, если твой случай, похож на мой - просто открой файл WTK2.5.2/bin/emulator
И измени путь в переменной javapathtowtk на тот, который тебе нужен. В моем случае, это выглядит так:
javapathtowtk=/usr/lib/jvm/jdk1.7.0_76/bin/

Комментарии

Популярные сообщения из этого блога

Siege Up! Editor (beta)

STM32F4 и программный выход в DFU

Git и Yandex.Disk