2007sm
28.11.2021
SEAMONKEY FÜR BETAGTE PROZESSOREN
Erstellung einer ohne SSE2-Befehlssatzerweiterung arbeitenden Binärversion
Hintergrundinformation
Das Seamonkey-Projekt [
1] stellt seinen Browser in
Form des Quellcodes und als lauffähigen Maschinencode (Binärpaket) zur
Verfügung. Im Regelfall wird der Anwender letzteren herunterladen und
erspart sich so das aufwendige und Expertenwissen voraussetzende
Kompilieren. Dabei verloren geht allerdings auch die
Möglichkeit, die Software an Gegebenheiten der Hardware
anzupassen.
Ab der Version 2.49.5 vom September 2019 verlangte das Binärpaket
für 32-Bit-Prozessoren und das Betriebssystem Linux, dass der
Prozessor in der Lage ist, SSE2-Befehle zu verarbeiten. Die Einführung
von SSE2 [
2] geschah um das Jahr 2000 herum, zuerst
bei Intel, etwas später bei AMD. Somit war der Browser an Computern,
in welchen ältere Prozessoren verbaut sind, nach besagtem Update nicht
mehr verwendbar und meldete "Ungültiger Maschinenbefehl".
Durchführung
Die Kompilierung der am 16.11.2021 erschienenen Version 2.53.10
erfolgte im Wesentlichen wie im Linux-from-Scratch-Projekt
[
3] umrissen auf einem Debian-Linux-System. Dass der
Maschinencode für einen nicht SSE2-fähigen Prozessor ausführbar sein
soll, wurde in der Datei
mozconfig [
4]festgelegt. Ihr werden
unter anderem die Einstellungen für den/die Compiler entnommen.
z1 | export CC=gcc
z2 | export CXX=g++
z3 | export CFLAGS="$CFLAGS -m32 -mmmx -march=k6"
z4 | export CXXFLAGS="$CXXFLAGS -m32 -mmmx -march=k6"
z5 | ac_add_options --target=i586-unknown-linux-gnu
z6 | ac_add_options --with-system-bz2
z7 | ac_add_options --with-system-icu
z8 | ac_add_options --with-system-jpeg
z9 | ac_add_options --with-system-png
z10 | ac_add_options --with-system-zlib
z11 | ac_add_options --with-system-libevent
z12 | ac_add_options --with-system-nspr
z13 | ac_add_options --with-system-nss
z14 | ac_add_options --with-system-webp
Mit der Option -march=k6 in den Zeilen 3 und 4 wird
dem Compiler GCC mitgeteilt, dass der Maschinencode für einen
Prozessor der Klasse k6 bestimmt ist. Der AMD Duron gehört dieser
Klasse an.
Teile des Quellcodes sind in der Sprache Rust programmiert. In
Zeile 7 ist hinterlegt, für welchen Prozessor der Rust-Compiler den
Maschinencode erzeugen soll. Mit der
Option --target=i586-unknown-linux-gnu in der
mozconfig-Datei wird an ihn weitergegeben, dass das ausführbare
Programm für x86er-Prozessoren bestimmt ist, die keine SSE2-Befehle
verarbeiten können.
Ergebnis
Die Dateien des Browsers wurden als Archivdatei
gepackt und werden in dieser Form zum Download zur Verfügung
gestellt.
Link: seamonkey-2.53.10-211127-k6.tgz
MD5-Prüfsumme: ab0e8f75becbdbb8ae52270d56ef7263
Dateiliste: http://www.hiereth.de/programm/2007sm-1.html
Die Archivdatei sollte im Verzeichnis /usr/local entpackt werden.
cd /usr/local
tar xzvf /pfad/zur/datei/seamonkey-2.53.10-211127-k6.tgz
Wie die meisten komplexen Anwendungsprogramme verwendet Seamonkey
grundlegende Funktionen, die mit sogenannten Bibliotheken, englisch
"Shared Libraries", bereitgestellt werden. Diese müssen nur einmal auf
dem System vorhanden sein. Die Anweisungen in Zeile 6 bis 14 der
mozconfig-Datei geben an, welche Bibliotheken nicht kompiliert werden
müssen, da sie auf dem System schon verfügbar sind.
Da Seamonkey eine neuere als die in Debian 11 enthaltene Version
der Bibliothek libwebp6 benötigt, wurde dieses Paket auch als
Quellcode besorgt und kompiliert.
Link: libwebp-1.2.1-211109.tgz
MD5-Prüfsumme: f410d83580272969da336dcaef23e188
Dateiliste: http://www.hiereth.de/programm/2007sm-2.html
Wenn Sie Bibliotheken aus so einem Paket in das Verzeichnis
/usr/local entpacken, sie also nicht über das Paketmanagement Ihrer
Linux-Distribution installiert wurden, müssen Sie mit dem
Befehl
ldconfig
die Auflistung, welche Bibliotheken an welchem Speicherort
verfügbar sind, aktualisieren. Sollten weitere Bibliotheken fehlen,
erhalten Sie bei Aufruf von /usr/local/bin/seamonkey eine Meldung.
Zur direkten Wiedergabe von in Internetseiten eingebetteten
Mediendateien greift Seamonkey auf den
Hintergrundprozesses pulseaudio zurück. Sollte dieser
Prozess nicht installiert oder nicht aktiv sein, lassen sich
Audiodateien nicht starten beziehungsweise Videodateien werden stumm
abgespielt.
Bildschirmfotos Seamonkey
Surfen im Internet |
Mailkommunikation |
Seitenerstellung |
Chatkommunikation |
|
|
|
|
Abschließende Bemerkung
Seamonkey wurde für mich zum bevorzugten Browser, als die
Entwickler von Firefox meinten, durch die Abschaffung des Menüs am
oberen Rand der Bedienoberfläche dem Nutzer irgendetwas Gutes zu
tun. Das damit fällige Suchen nach Befehlen und Einstellungen empfand
ich als unerquicklich. So karg die Bedienoberfläche bei Firefox und
aktuellen Browsern ist, so mitteilungsbedürftig scheinen sie
programmiert. So behelligt Firefox seine Nutzer immer wieder einmal
mit überflüssigen Meldung "Eine Seite verlangsamt Firefox". Wenn sich
eine Seite verzögert aufbaut, kann dies vielerlei Gründe haben und es
völlig uninteressant, ob der angesprochene Server im Internet, die
Internetverbindung des Nutzers, die eigene Hardware oder der Browser
verantwortlich sind. Es ist ärgerlich, dass die Firefox-Entwickler
meinen, mit so einer Meldung das Image ihres Produktes aufpolieren zu
müssen.
Die eigentlichen Bremsen bei der Nutzung des Internets sind
meiner Einschätzung nach Vorgänge, auf die viele gerne verzichten
würden: Schriftarten, die erst bei Google geholt werden. Cookies und
Skripte, anhand derer versucht wird, den Internetnutzer zu
durchleuchten, des weiteren aufpoppende Werbung, animierte Texte,
Diashows und Videos mit geringem Informationswert, die ablenken und an
denen es oftmals liegt, dass man sich, nachdem eine Seite komplett
aufgebaut ist, fragt, was man dort eigentlich in Erfahrung bringen
wollte.
Anmerkungen und Verweise
Die Datei
mozconfig zur Ansicht oder zum Herunterladen.