lunes, 15 de marzo de 2010

Vuze en Ubuntu 9.10 64 bits

Recientemente instalé Azureus, que ahora se llama Vuze, en mi pc con Ubuntu 9.10. Pero tuve ciertos problemas. El primero fue que al parecer el script de la página de descarga que detecta qué sistema operativo estás usando no tiene en cuenta los sistemas de 64 bits. Mi Ubuntu es de 64 bits, pero la página de descarga me ofreció la versión de 32 bits. Como el archivo decía vuze para Linux, y no especificaba la arquitectura, asumí que era la correcta.

Ahora bien, como es una aplicación java no debería importar. No obstante, al parecer el fichero swt.jar sí es dependiente de la arquitectura. Esto se aprecia en el siguiente mensaje de error: "Browser check failed with: Cannot load 32-bit SWT libraries on 64-bit JVM".

Starting Azureus...
Suitable java version found [java = 1.6.0_15]
Configuring environment...
Java exec found in PATH. Verifying...
Browser check failed with: Cannot load 32-bit SWT libraries on 64-bit JVM
Auto-scanning for GRE/XULRunner.  You can skip this by appending the GRE path to LD_LIBRARY_PATH and setting MOZILLA_FIVE_HOME.
  checking /etc/gre.d/xulrunner.conf for GRE_PATH
GRE found at /usr/lib/xulrunner.
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.
setting LD_LIBRARY_PATH to: /usr/lib/xulrunner
setting MOZILLA_FIVE_HOME to: /usr/lib/xulrunner
Loading Azureus:
java -Xmx128m -cp "./Azureus2.jar:./swt.jar" -Djava.library.path="/home/jh/Descargas/vuze" -Dazureus.install.path="/home/jh/Descargas/vuze" -Dazureus.script="./azureus" -Dazureus.script.version=2 org.gudy.azureus2.ui.swt.Main 
file:/home/jh/Descargas/vuze/Azureus2.jar ; file:/home/jh/Descargas/vuze/swt.jar ; file:/home/jh/Descargas/vuze/
changeLocale: *Default Language* != Spanish (Uruguay). Searching without country..
changeLocale: Searching for language Spanish in *any* country..
changeLocale: no message properties for Locale 'Spanish (Uruguay)' (es_UY), using 'Spanish (Spain)'
Invoking main failed
java.lang.reflect.InvocationTargetException
 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:597)
 at com.aelitis.azureus.launcher.MainExecutor$1.run(MainExecutor.java:37)
 at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
 at org.eclipse.swt.internal.Library.loadLibrary(Library.java:182)
 at org.eclipse.swt.internal.Library.loadLibrary(Library.java:159)
 at org.eclipse.swt.internal.C.(C.java:21)
 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.(Display.java:131)
 at org.gudy.azureus2.ui.swt.mainwindow.SWTThread.(SWTThread.java:79)
 at org.gudy.azureus2.ui.swt.mainwindow.SWTThread.createInstance(SWTThread.java:59)
 at org.gudy.azureus2.ui.swt.mainwindow.Initializer.(Initializer.java:110)
 at org.gudy.azureus2.ui.swt.Main.(Main.java:88)
 at org.gudy.azureus2.ui.swt.Main.main(Main.java:255)
 ... 6 more
Exception in thread "MainRunner" java.lang.SecurityException: VM exit operation prohibited
 at org.gudy.azureus2.core3.security.impl.SESecurityManagerImpl$2.checkExit(SESecurityManagerImpl.java:274)
 at java.lang.Runtime.exit(Runtime.java:88)
 at java.lang.System.exit(System.java:904)
 at com.aelitis.azureus.launcher.MainExecutor$1.run(MainExecutor.java:42)
 at java.lang.Thread.run(Thread.java:619)
Exit from Azureus complete
No shutdown tasks to do
Azureus TERMINATED.

La solución a este primer problema fue volver a ir a la página de Vuze pero esta vez elegir la versión para la arquitectura correcta. En mi caso Linux 64 bits. Pero la página de Vuze me seguía autodetectando (incorrectamente) mi sistema operativo y no me daba a elegir manualmente. Así que terminé yendo a sourceforge.net, donde sí encontré un tar para mi arquitectura: http://sourceforge.net/projects/azureus/files/.

Bien. Habiendo solucionado ese primer problema, ahora Vuze sí iniciaba, llegaba a dibujar la interfaz pero todavía presentaba un comportamiento extraño. Primero: algunos botones de la interfaz no se dibujaban correctamente, me di cuenta enseguida aunque nunca hubiera usado vuze antes (figura 1). Segundo: al ejecutar el asistente de configuración, cuando llegaba al formulario final, al dar clic en el botón "Terminado" el programa dejaba de responder, y debía dar clic varias veces en el botón "Terminado" para que el asistente se cerrara, y para peor no guardaba la configuración (figura 2).

Figura 1
Figura 2

Pero yo ya tenía la experiencia de lo que me había pasado con Aptana. Y como vi que eran síntomas similares decidí intentar la misma solución. Y funcionó. Lo cual no me sorprendió demasiado. La solución fue crear un lanzador que ejecutara el siguiente comando:

sh -c "export GDK_NATIVE_WINDOWS=true; exec /opt/vuze/azureus"

Noten que en mi caso instalé vuze en el directorio opt, ustedes deberán modificar la ruta que está después del comando "exec" acorde a su instalación de vuze.

Figura 3

0 comentarios:

Publicar un comentario