Bug 8785 - java.lang.UnsatisfiedLinkError: no swt-pi-gtk-2024 or swt-motif-2024 in java.library.path
Summary: java.lang.UnsatisfiedLinkError: no swt-pi-gtk-2024 or swt-motif-2024 in java....
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Resources (show other bugs)
Version: 2.0   Edit
Hardware: PC Linux
: P5 major (vote)
Target Milestone: 2.0 M3   Edit
Assignee: DJ Houghton CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 8933
  Show dependency tree
 
Reported: 2002-01-30 15:41 EST by Tokei.Ihto CLA
Modified: 2002-02-06 22:04 EST (History)
3 users (show)

See Also:


Attachments
The output from the eclipse-start with debug-jars (1.81 KB, text/plain)
2002-02-04 11:55 EST, Tokei.Ihto CLA
no flags Details
logfile for eclipse-start with special debug-options (46.64 KB, text/plain)
2002-02-04 12:58 EST, Tokei.Ihto CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tokei.Ihto CLA 2002-01-30 15:41:13 EST
i start eclipse with they command (with 20020125 without problems) and receive
following error (20020129). (here the log from gtk)
At the motif-version, the name is  swt-motif-2024


/usr/local/eclipse-gtk/eclipse -ws gtk -data $HOME/ -vm /usr/lib/jreb/bin/java

java.lang.UnsatisfiedLinkError: no swt-pi-gtk-2024 in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1410)
        at java.lang.Runtime.loadLibrary0(Runtime.java:772)
        at java.lang.System.loadLibrary(System.java:832)
        at org.eclipse.swt.internal.Library.loadLibrary(Library.java:102)
        at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:20)
        at org.eclipse.swt.widgets.Display.createDisplay(Display.java:317)
        at org.eclipse.swt.widgets.Display.create(Display.java:311)
        at org.eclipse.swt.graphics.Device.<init>(Device.java:91)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:250)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:246)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:827)
        at
org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:895)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:321)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:151)
        at org.eclipse.core.launcher.Main.run(Main.java:502)
        at org.eclipse.core.launcher.Main.main(Main.java:362)
Comment 1 Tokei.Ihto CLA 2002-01-30 16:14:39 EST
Have found the problem.

the librarys are in a new path .../os/linux/...
i copy they in the old path .../ws/... and its running normaly
Comment 2 DJ Houghton CLA 2002-01-30 17:17:28 EST
I tried to run the 2002-01-29 build with the "-ws gtk" command line option and
it works ok for me.

Can you provide more information about your machine configuration?
Are you using a fresh install or did you unzip over top your 2002-01-25 install?
Comment 3 DJ Houghton CLA 2002-01-30 17:20:38 EST
I forgot to mention that I am also able to run the motif version "as is".

Do you get the same errors when you start eclipse from the install directory?
e.g. by running: ./eclipse -ws gtk .....
Comment 4 Tokei.Ihto CLA 2002-01-31 14:12:35 EST
> Do you get the same errors when you start eclipse from the install directory?
> e.g. by running: ./eclipse -ws gtk .....

Yes, the same error.
I must copy the librarys in the .../ws/... folder.
I install new versions every in empty folders, just the workbench is the same
(see -data), but a empty workbench doesn't help.

I use SuSE 7.3 in original configuration with jdk 1.3.1_02 and jdk 1.4_rc1
Do i need a special path-variable to find the new library-location ?

Would you like more special information, please tell me what for information you
need (and with which commands i can they read).
Comment 5 DJ Houghton CLA 2002-01-31 14:36:30 EST
Can you run in debug mode and let us know what values are printed?

- copy plugins/org.eclipse.core.runtime/.options to be a sibling of the eclipse 
executable
- change the following line to be true: 
org.eclipse.core.runtime/debug/context=true
- run the executable with -debug

I just want to ensure that the correct values for WS, OS, and ARCH are coming 
up.

Thanks.
Comment 6 Tokei.Ihto CLA 2002-01-31 14:57:05 EST
Okay, here the result
hope, thats help.

started with:
./eclipse -ws gtk -debug -data $HOME/ -vm /usr/lib/jreb/bin/java


Boot URL:
    file:/usr/local/eclipse-gtk/plugins/org.eclipse.core.boot/boot.jar
Install URL: file:/usr/local/eclipse-gtk/
Debug-Options: file:/usr/local/eclipse-gtk/.options
Read registry cache: 258ms
OS: linux WS: gtk NL: de_DE ARCH: i386
java.lang.UnsatisfiedLinkError: no swt-pi-gtk-2024 in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1410)
        at java.lang.Runtime.loadLibrary0(Runtime.java:772)
        at java.lang.System.loadLibrary(System.java:832)
        at org.eclipse.swt.internal.Library.loadLibrary(Library.java:102)
        at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:20)
        at org.eclipse.swt.widgets.Display.createDisplay(Display.java:317)
        at org.eclipse.swt.widgets.Display.create(Display.java:311)
        at org.eclipse.swt.graphics.Device.<init>(Device.java:91)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:250)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:246)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:827)
        at
org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:895)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:321)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:151)
        at org.eclipse.core.launcher.Main.run(Main.java:502)
        at org.eclipse.core.launcher.Main.main(Main.java:362)
Wrote registry: 205ms
Comment 7 Veronika Irvine CLA 2002-01-31 15:37:27 EST
The problem is the architecture "i386".

We support the architecture name "x86".

Since the architectures are same we should detect the "i386" case and map it to 
x86.

In the meantime, Tokei, you should be able to start eclipse with the arguments 
         -ws gtk -arch x86
Comment 8 DJ Houghton CLA 2002-01-31 16:02:22 EST
InternalBootloader.setupSystemContext should be doing this mapping. (like we do 
with the Windows, solaris, and other exception cases)
Comment 9 Tokei.Ihto CLA 2002-01-31 16:13:48 EST
Sorry, but it doesn't works.
here the start and the error-log (with debug).

do i rename the folder x86 to i386 and remove the parameter -arch x86 from my
start-options (or write -arch i386) than works, but not with foldername x86 and
parameter -arch x86.


./eclipse -ws gtk -arch x86 -debug -data $HOME/ -vm /usr/lib/jreb/bin/java


Boot URL:
    file:/usr/local/eclipse-gtk/plugins/org.eclipse.core.boot/boot.jar
Install URL: file:/usr/local/eclipse-gtk/
Debug-Options: file:/usr/local/eclipse-gtk/.options
Read registry cache: 263ms
OS: linux WS: gtk NL: de_DE ARCH: x86
java.lang.UnsatisfiedLinkError: no swt-pi-gtk-2024 in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1410)
        at java.lang.Runtime.loadLibrary0(Runtime.java:772)
        at java.lang.System.loadLibrary(System.java:832)
        at org.eclipse.swt.internal.Library.loadLibrary(Library.java:102)
        at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:20)
        at org.eclipse.swt.widgets.Display.createDisplay(Display.java:317)
        at org.eclipse.swt.widgets.Display.create(Display.java:311)
        at org.eclipse.swt.graphics.Device.<init>(Device.java:91)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:250)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:246)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:827)
        at
org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:895)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:321)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:151)
        at org.eclipse.core.launcher.Main.run(Main.java:502)
        at org.eclipse.core.launcher.Main.main(Main.java:362)
Wrote registry: 259ms
Comment 10 DJ Houghton CLA 2002-02-01 08:02:01 EST
So just to be clear, you have the libraries in the "os/linux/x86" directory and 
you are specifying "-ws gtk -arch x86" on the command line and it still won't 
work?

If this is so, can I send you a couple of new jars to run with, with more 
debugging added?
Comment 11 Tokei.Ihto CLA 2002-02-01 11:58:51 EST
Yes, thats correct.
It's work just, if i rename the x86 folder to i386.

I would mean, eclipse ignore the -arch parameter.
Do i name the (x86) folder i386 and start eclipse with

./eclipse -ws gtk -arch x86 -data ... -vm ...

in the debug-info is written ARCH: x86
but, eclipse start correct.

Let i the folder at x86, then eclipse go in the error.


You can send me the new JARs.
I use they today or monday.
Comment 12 Tokei.Ihto CLA 2002-02-04 11:55:38 EST
Created attachment 299 [details]
The output from the eclipse-start with debug-jars
Comment 13 Tokei.Ihto CLA 2002-02-04 11:57:54 EST
I have replaced the both jars.
But i think, the output is the same.
Comment 14 DJ Houghton CLA 2002-02-04 12:38:09 EST
Sorry, I forgot to specify which options to set in debug mode.

org.eclipse.core.runtime/loader/debug=true
org.eclipse.core.runtime/loader/debug/actions=true
org.eclipse.core.runtime/loader/debug/failure=true

Please set these in the .options file and then re-try. Thanks.
Comment 15 Tokei.Ihto CLA 2002-02-04 12:58:23 EST
Created attachment 300 [details]
logfile for eclipse-start with special debug-options
Comment 16 Tokei.Ihto CLA 2002-02-04 13:01:41 EST
no problem.

can i redirect the output in a file ?
i have make a copy from the console-window. a little bit more output and the 
buffer is full.
Comment 17 Greg Smolyn CLA 2002-02-04 14:57:35 EST
I also have this problem: slackware 8.0, jdk 1.4, eclipse-20020129
setting -arch x86 doesn't work, but renaming directory to i386 does.
both motif and gtk display this problem
had no problems with 20020125
Comment 18 DJ Houghton CLA 2002-02-05 10:07:20 EST
Fixed in builds > 2002-02-04.
Closing bug. 
Thanks for your help in tracking this down.
Comment 19 Tokei.Ihto CLA 2002-02-05 17:45:32 EST
Yes, bug is fixed in gtk- and motif-version.

Please update the "release notes" of the gtk-version (on the download-site),
thats for i386-platforms the parameter "-arch x86" is needed.
... and create one for the motif-version.

Information: the bug is not yet fixed in the nightly build 20020205
Comment 20 DJ Houghton CLA 2002-02-05 18:27:18 EST
Internally we should be mapping i386 to x86 and then the libraries will be 
picked up automatically. 

Have created a new bug for this, see Bug 9143.