Ich wollte heute (mal wieder) einen IBM Sametime-Server unter Linux installieren.
Also habe ich ein frisches CentOS 6.2 x64 in einer VMware-VM hochgezogen,
alle Installationsarchive bereitgestellt und entpackt und will gerade mit
der Installation der DB2 9.7 anfangen, doch diesmal kommt ein merkwürdiger
Fehler: "Unterstützter Browser kann nicht gefunden werden"
(englisch: "Unable to find supported browser").
Im Folgenden beschriebe ich, wie ich
den Fehler analysiert und schließlich beseitigt habe.
In der Meldung steht noch ein Vorschlag,
die BROWSER-Umgebungsvariable
zu setzen (mit einem Beispiel für Mozilla), also
export BROWSER=/usr/bin/firefox
Nächster Versuch, gleicher Fehler. Hmm,
vielleicht will das Launchpad ja doch unbedingt /usr/bin/mozilla
haben?! Also versuche ich es mit einem symbolischen Link:
ln -s /usr/bin/firefox /usr/bin/mozilla
Noch ein Versuch, gleiches Ergebnis.
Langsam werde ich unruhig...
Okay, was macht launchpad.sh
eigentlich genau?
Es ruft launchpad/browser.sh
auf...
Gut die nächste Datei geöffnet. Zunächst
ein paar Funktionen, die offenbar Browser-Versionen prüfen. In der Mitte
irgendwo dann der Aufruf des eingestellten Browsers. Die Version wird in
versionString gespeichert
und dann die Funktionen vom Anfang des Skripts genutzt, um die Versionen
zu prüfen:
if [ "$BROWSER" ]; then
if versionString=`("$BROWSER"
-version) 2>/dev/null`; then
case "$versionString" in
[...]
*Firefox*) if supportedFirefoxVersion
"$versionString"; then
whichBrowser=Firefox
fi ;;
[...]
esac
fi
fi
Was liefert denn bei mir ein
/usr/bin/firefox -version
Ergebnis:
Mozilla Firefox 10.0.5
Nochmal zurück zum Anfang - und Bingo!
Die Funktion supportedFirefoxVersion()
erlaubt nur Firefox-Versionen bis zur 9.x.
Also füge ich eine neue erste Zeile
im case hinzu:
supportedFirefoxVersion()
{
case "$*" in
*Firefox\ [1-9][0-9].*) return 0;;
*Firefox\ [1-9].*) return 0;;
*Firefox/[1-9].*) return 0;;
*Firefox*) return 1;;
*rv:1.[7-9]*) return 0;;
*rv:[2-9].*) return 0;;
*rv:*) return 1;;
Mozilla*\ 1.[7-9]*) return 0;;
Mozilla*\ [2-9].[0-9]*) return 0;;
*) return 1;;
esac
}
Das war's. Jetzt geht das Launchpad
wieder. Und bis zur Version 100 von Firefox werden noch ein paar Jahre
ins Land gehen - selbst bei der aktuellen Versionsschwemme...
Man könnte jetzt mal wieder meckern,
dass einige aus dem Jahr 2000-Problem u.ä. immer noch nichts gelernt haben,
aber das schenke ich mir.