[Opera 9.24+Java 6] ...libXt got loaded before libXm...

Quidoff

Lieutenant
Registriert
Feb. 2005
Beiträge
897
Hallo,
ich benutze Ubuntu 7.10 und
habe Java nach
der Anleitung im Wiki
installiert.

java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)

opera --debugplugin --debugjava
opera: [java] There seems to be a preloaded version of Xt.
There is a workaround for this problem in the opera
startup script. If that workaround fails, opera will
most likely crash every time it tries to use Java.
The workaround seems to be working.
Technical explanation:
There is a problem with the order of loading Xt and
Java. If Xt is loaded before libawt (part of Java),
Java will crash when it tries to access the screen.
The workaround is based on using LD_PRELOAD to load
libawt.so first.

opera: [java] The Java enable flag will not be reset
because the OPERA_FORCE_JAVA_ENABLED environment
variable has been defined.

operapluginwrapper: [plugin probing] /usr/lib/opera/plugins/libnpp.so
opera: plugin detection successful: /usr/lib/opera/plugins/libnpp.so
operapluginwrapper: [plugin probing] /usr/lib/opera/plugins/libflashplayer.so
opera: plugin detection successful: /usr/lib/opera/plugins/libflashplayer.so
operapluginwrapper: [plugin probing] /usr/lib/mozilla/plugins/libjavaplugin.so
operapluginwrapper: [plugin failure] (No 'mimedescription') /usr/lib/mozilla/plugins/libjavaplugin.so
opera: pluginwrapper exited cleanly with exit code 1 during plug-in detection
operapluginwrapper: [plugin probing] /usr/lib/mozilla/plugins/flashplugin-alternative.so
opera: plugin detection successful: /usr/lib/mozilla/plugins/flashplugin-alternative.so
operapluginwrapper: [plugin probing] /usr/lib/flashplugin-nonfree/libflashplayer.so
opera: plugin detection successful: /usr/lib/flashplugin-nonfree/libflashplayer.so
opera: [Java] Adding '/usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/plugin.jar' to classpath.

Runtime link error - it appears that libXt got loaded before libXm,
which is not allowed.

In der /usr/bin/opera Startdatei
ist keiner der Workarounds aus-
kommentiert.
/usr/bin/opera
Code:
...
# Workarounds for the "preloaded libXt" problem.
LD_PRELOAD="libjvm.so:libawt.so:${OPERA_LD_PRELOAD}"
export LD_PRELOAD
# To disable the first workaround, comment the next line.
JAVA_WORKAROUND=`${OPERA_BINARYDIR}/works 2>/dev/null`

if test "${JAVA_WORKAROUND}" = 'works'
then OPERA_FORCE_JAVA_ENABLED="1"
else
    LD_PRELOAD="libjava.so:${LD_PRELOAD}"
    # To disable the second workaround, comment the next line.
    IBMJAVA131_WORKAROUND=`${OPERA_BINARYDIR}/works 2>/dev/null`
    if test "${IBMJAVA131_WORKAROUND}" = 'works'
    then OPERA_FORCE_JAVA_ENABLED="1"
    else LD_PRELOAD="${OPERA_LD_PRELOAD}"
    fi
fi
export LD_PRELOAD OPERA_FORCE_JAVA_ENABLED
...

Auf der Java-Testseite
funktioniert das Applet dementsprechend nicht.

Der Javapfad-Check in Opera zeigt an,
dass der Pfad richtig ist.

//edit
Mit der Opera 9.24 Version von der
Opera Seite habe ich das selbe Problem.
Ebenso mit der aktuellen Opera 9.50beta
Version.

Gibt es überhaupt jemanden, bei dem
Java in Opera unter Ubuntu läuft?

//edit
Ich habe das Problem jetzt gelöst.

Und zwar musste ich
Code:
AWT_TOOLKIT="MToolkit"
aus /etc/environment entfernen, damit
Java in Opera läuft.

Dabei wird immernoch die Fehlemeldung von oben
angezeigt, jedoch nicht:
Code:
Runtime link error - it appears that libXt got loaded before libXm, 
which is not allowed.

Ich habe gelesen, dass der Eintrag
in die /etc/environment muss,
damit Grafikfehler bei der Verwendung
mit Beryl/Compiz behoben werden.

Und jetzt habe ich tatsächlich
Grafikfehler:


Die Fensterrahmen verschwinden, sobald
das erste Java-Applet in Opera
ausgeführt werden.

//edit
Die Grafikfehler treten nicht im
shared tarball auf.

Aber was muss ich ändern, damit
sie auch nicht mehr in der Opera
Version aus den Paketquellen auftreten?

//edit
Nachdem ich die Opera
Version aus den Paket-
quellen mit:
Code:
sudo apt-get purge opera
entfernt hatte und das
shared Deb-Package von
der Opera-Seite installiert hatte,
funktioniert Java jetzt bestens
in Opera.
 
Zuletzt bearbeitet: (Problem vollständig gelöst.)
Zurück
Oben