Pregunta

I am working on a node(64-bit) of the testbed named Planetlab. The java path is set and simple jar files are working. I have to run Azureus/Vuze bittorrent client on this node. It runs on Ubuntu via extracting the Vuze's installer tar file then with command "./vuze". When I try to run it on the node, I encountered those:

Starting Azureus...
Suitable java version found [java = 1.6.0_16]
Configuring environment...
Java exec found in PATH. Verifying...
Browser check failed with: Could not load SWT library. Reasons: 
    no swt-pi-gtk-4403 in java.library.path
    no swt-pi-gtk in java.library.path
    /home/ku_green/.swt/lib/linux/x86/libswt-pi-gtk-4403.so: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
    Can't load library: /home/ku_green/.swt/lib/linux/x86/libswt-pi-gtk.so

Auto-scanning for GRE/XULRunner.  You can skip this by appending the GRE path to LD_LIBRARY_PATH and setting MOZILLA_FIVE_HOME.
Browser check failed with: Could not initialize class org.eclipse.swt.widgets.Display
Can't create browser.  Will try to set LD_LIBRARY_PATH and hope Vuze has better luck.
GRE/XULRunner automatically found
Loading Azureus:
java -Xmx128m -cp "./Azureus2.jar:./swt.jar" -Djava.library.path="/home/ku_green/vuze" -Dazureus.install.path="/home/ku_green/vuze" -Dazureus.script="./vuze" -Dazureus.script.version=3 org.gudy.azureus2.ui.swt.Main 
file:/home/ku_green/vuze/Azureus2.jar ; file:/home/ku_green/vuze/swt.jar ; file:/home/ku_green/vuze/
changeLocale: *Default Language* != English (United States). Searching without country..
changeLocale: Searching for language English in *any* country..
changeLocale: no message properties for Locale 'English (United States)' (en_US), using 'English (default)'
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.gudy.azureus2.ui.swt.Main.<init>(Main.java:114)
    at org.gudy.azureus2.ui.swt.Main.main(Main.java:325)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.aelitis.azureus.launcher.MainExecutor$1.run(MainExecutor.java:37)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
    no swt-pi-gtk-4403 in java.library.path
    no swt-pi-gtk in java.library.path
    /home/ku_green/.swt/lib/linux/x86/libswt-pi-gtk-4403.so: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
    Can't load library: /home/ku_green/.swt/lib/linux/x86/libswt-pi-gtk.so

    at org.eclipse.swt.internal.Library.loadLibrary(Library.java:327)
    at org.eclipse.swt.internal.Library.loadLibrary(Library.java:236)
    at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:31)
    at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
    at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
    at org.eclipse.swt.widgets.Display.<clinit>(Display.java:133)
    at org.gudy.azureus2.ui.swt.mainwindow.SWTThread.<init>(SWTThread.java:85)
    at org.gudy.azureus2.ui.swt.mainwindow.SWTThread.createInstance(SWTThread.java:64)
    at com.aelitis.azureus.ui.swt.Initializer.<init>(Initializer.java:163)
    ... 12 more
Exit from Azureus complete
No shutdown tasks to do
Azureus TERMINATED.

What are the reasons for this?

¿Fue útil?

Solución

The reason is this:

    /home/ku_green/.swt/lib/linux/x86/libswt-pi-gtk-4403.so: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

SWT requires the GTK libraries, but they are not present on your system. Specifically, libgtk-x11-2.0.so.0 could not be found.

You will need to install this system library using yum.

First locate the package which contains the library:

yum whatprovides */libgtk-x11-2.0.so.0

Then install the package that it indicates.

yum install gtk2
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top