• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Firefox hat libatomic verlegt

utopos

Member
Hallo zusammen,

seit geraumer Zeit verwende ich den nicht mehr ganz taufrischen Browser Firefox 51.
Das hat soweit recht gut funktioniert. Nach einem Crash aber startet er nicht mehr mit folgender Fehlermeldung:

Code:
michael@kohlhasenbrueck:~> firefox51 &
[1] 8022
firefox51: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
[1]+  Exit 127                firefox51

Dass dieser Fehler seit heute erscheint, hat keinen für mich erkennbaren Anlass.
Eine Recherche zum Thema "libatomic" hat mich auch nicht viel weitergebracht, zumal ich wenig vom lib-System verstehe.
(Ein paar Zusatzinfos s.u.).

Firefox 51 hatte ich als binary-Paket installiert. Nun habe ich die aktuelle Version 64 ebenfalls als binary-Archiv heruntergeladen und entpackt. Es kommt derselbe Fehler.
Überraschung - bei der alten Version 34 kommt der Fehler nicht (die verwende ich gerade).

Code:
michael@kohlhasenbrueck:/opt> ls
firefox51  firefox64 ...
michael@kohlhasenbrueck:/opt> which firefox
/usr/bin/firefox

Die Libraries finde ich nach Hinweisen aus einer Internetsuche, wo man sie suchen kann, nicht, z.B.

Code:
kohlhasenbrueck:/ # ls /usr/i586-suse-linux/lib/
ldscripts
kohlhasenbrueck:/ # find -name 'libatomic.so.1' -print
(kein Treffer)

Leider findet das Problem auf einem veralteten System statt (openSUSE 12.3), so dass ich die Lib-Installationen schlecht aktualisieren kann.

Gibt es eine Möglichkeit, innerhalb des alten Systems Firefox schnell wieder auf die Beine zu bringen?

Vielen Dank für Eure Antworten!

Michael
 

susejunky

Moderator
Teammitglied
Hallo utopos,

utopos schrieb:
... seit geraumer Zeit verwende ich den nicht mehr ganz taufrischen Browser Firefox 51.
Das hat soweit recht gut funktioniert. Nach einem Crash aber startet er nicht mehr mit folgender Fehlermeldung:
Code:
michael@kohlhasenbrueck:~> firefox51 &
[1] 8022
firefox51: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
[1]+  Exit 127                firefox51

...

Leider findet das Problem auf einem veralteten System statt (openSUSE 12.3), so dass ich die Lib-Installationen schlecht aktualisieren kann.

Gibt es eine Möglichkeit, innerhalb des alten Systems Firefox schnell wieder auf die Beine zu bringen?
Der SUSE-Support für 12.3 endete offiziell Februar 2015 (https://lists.opensuse.org/opensuse-security-announce/2015-02/msg00003.html). Da könnte es schwierig werden jemanden zu finden, der Dir zu diesem System noch weiterhelfen kann.

Gibt es einen speziellen Grund, warum Du nicht auf die aktuelle openSUSE-Version umsteigst? Falls Du unbedingt eine 32bit-Variante benötigst, könntest Du Tumbleweed verwenden.

Viele Grüße

susejunky
 
OP
U

utopos

Member
Ich hatte tatsächlich 2015 das Upgrade in Angriff genommen - wo es dann doch auf der Strecke geblieben ist, kann ich nicht mehr genau nachvollziehen (ich habe da widersprüchliche Notizen). Der Hauptgrund für Verzögerungen war aber stets die Sorge, kein laufendes System zu haben ...

Wenn auch das Problem sehr systemspezifisch ist, sind es die lib's und deren Verwendung auch im gleichen Maße?
 

josef-wien

Ultimate Guru
Dateisystem eingehend prüfen (und nicht nur das Journal)?

In der YaST-Softwareverwaltung nach der Bibliothek suchen und das zugehörige Paket nochmals installieren?
 

susejunky

Moderator
Teammitglied
Hallo utopos,
utopos schrieb:
... Wenn auch das Problem sehr systemspezifisch ist, sind es die lib's und deren Verwendung auch im gleichen Maße?
Soweit ich das verstehe ist "libatomic.so" ein Bestandteil des C/C++-Compilers bzw. dessen Laufzeitumgebung. In meiner openSUSE Leap 15.0 Installation ist die Datei unter "/usr/lib64" zu finden.

Die von Dir genannten Fehlermeldungen zeigen, dass sowohl firefox51 als auch firefox64 diese Datei benötigen.

openSUSE Leap 15.0 verwendet GCC Version 7-lp150.1.50 und die fragliche Datei ist im Paket "libatomic1" enthalten.

openSUSE 12.3 verwendet GCC Version 4.7.2 (laut distrowatch). Eine passende "libatomic.so" für diese GCC-Version zu finden dürfte schwierig werden und ich kann Dir auch nicht sagen, ob für diese GCC-Version überhaupt ein solche Datei verfügbar ist.

Die einzige Lösung, die ich momentan sehe, ist der Umstieg auf die aktuelle openSUSE Leap 15.0.

Im Anbetracht der Tatsache, dass der Versionssprung von 12.3 auf Leap 15.0 über 4 Versionen geht, rate ich Dir dringend zu einer Neu-Installation (KEINE Aktualisierung des bestehenden 12.3-Systems!).

Von einer Wiederverwendung des/r /home-Verzeichnisse(s) rate ich Dir ebenfalls ab, da bei einem solchen Versionssprung ein Teil der in /home beheimateten Konfigurationsdaten unter 15.0 wahrscheinlich nicht mehr anwendbar sind.

Sichere den Inhalt von /home und spiele dann später - wenn erforderlich - einzelne Inhalte gezielt wieder ein.

Viele Grüße

susejunky
 
OP
U

utopos

Member
Code:
kohlhasenbrueck:/ # ls /usr/lib/liba*
/usr/lib/liba2ps.so.1 ... /usr/lib/libavutil.so.51.73.101
(kein libatomic)

Die gcc-Version scheint die gleiche wie in 13.2 zu sein:

Code:
kohlhasenbrueck:/ # gcc -v
...
gcc version 4.7.2 20130108 [gcc-4_7-branch revision 195012] (SUSE Linux)

Dann sollte ich doch die libs aus der Version nachahmen können oder?
Hat es Aussicht auf Erfolg, etwa aus einem Repository für 13.2 ziehen zu wollen?
 

susejunky

Moderator
Teammitglied
Hallo utopos,

utopos schrieb:
... Die gcc-Version scheint die gleiche wie in 13.2 zu sein:

Code:
kohlhasenbrueck:/ # gcc -v
...
gcc version 4.7.2 20130108 [gcc-4_7-branch revision 195012] (SUSE Linux)

Dann sollte ich doch die libs aus der Version nachahmen können oder?
Hat es Aussicht auf Erfolg, etwa aus einem Repository für 13.2 ziehen zu wollen?
Wenn ich die Aussagen hier https://gcc.gnu.org/wiki/Atomic/GCCMM richtig interpretiere, dann gibt es "libatomic" erst ab GCC 4.8.

Meine Meinung:

  • Wenn man Bibliotheken auf dieser Ebene (C++ memory model) ersetzt, sollte man schon sehr genau verstehen, welche Konsequenzen das hat (ich habe dieses Wissen nicht).
  • Da openSUSE Version 12.3 bereits seit 02/2015 offiziell nicht mehr unterstützt wird, fehlen Deinem System mit ziemlicher Sicherheit eine ganze Reihe von Fehlerbehebungen in sicherheitsrelevanten Bereichen. Wenn Dein System mit dem Internet verbunden ist (was bei einer Nutzung von firefox naheliegt) kann das für Dich und auch andere Benutzer des Internets problematisch werden.

Welche zwingenden Gründe gibt es, dass Du Dein System nicht aktualisieren willst?

Viele Grüße

susejunky
 

josef-wien

Ultimate Guru
utopos schrieb:
Die gcc-Version scheint die gleiche wie in 13.2 zu sein
Wie kommst Du darauf? 12.3 hat 4.7 und 13.2 hat 4.8 verwendet. Da es zu 4.7 kein Paket libatomic gab (und es bei Dir trotzdem vor dem crash funktioniert hat), scheint Dein Problem eine andere Ursache zu haben (nicht jede Fehlermeldung führt zu einer Verweigerung des Programmstarts).
 
OP
U

utopos

Member
Welche zwingenden Gründe gibt es, dass Du Dein System nicht aktualisieren willst?

Es ist ganz anders:
Ich bin wild entschlossen, mein System auf einen aktuellen Stand zu bringen.

Realistisch betrachtet sehe ich aber, dass ich, wenn ich es in dreieinhalb Jahren unter ursprünglich deutlich besseren Voraussetzungen nicht geschafft habe, ich für die Aktualisierung einige Arbeitszeit einplanen muss, und die werde ich vor Weihnachten sicher nicht mehr erübrigen können. Daher hatte ich nach einer Möglichkeit gesucht, doch einen einigermaßen aktuellen Browser zu verwenden.
 
OP
U

utopos

Member
Da es zu 4.7 kein Paket libatomic gab (und es bei Dir trotzdem vor dem crash funktioniert hat), scheint Dein Problem eine andere Ursache zu haben

Firefox hatte bei den vorherigen Starts etwas von Updates erwähnt, die habe ich im Verdacht.

(nicht jede Fehlermeldung führt zu einer Verweigerung des Programmstarts).

Stimmt, aber "Exit 127" klingt schon danach.
 

susejunky

Moderator
Teammitglied
Hallo utopos,

utopos schrieb:
... Realistisch betrachtet sehe ich aber, dass ich, wenn ich es in dreieinhalb Jahren unter ursprünglich deutlich besseren Voraussetzungen nicht geschafft habe, ich für die Aktualisierung einige Arbeitszeit einplanen muss,
Ist Dein System und/oder Deine Systemumgebung derart komplex? Eventuell solltest Du dann eine Parallel-Installation in Betracht ziehen.

Ich halte auf allen meinen Rechnern stets die aktuelle und die Vorgängerversion bereit. Steht ein Versionswechsel an, nutze ich den Platz der Vorgängerversion für eine Neu-Installation der neuen Version. Läuft etwas in der neuen Version "nicht rund", kann ich stets auf die (dann alte) Version zurückgreifen. Auch wenn ich Konfigurationsparameter in der neuen Version setzen muss, kann ich stets die alten Werte "nachschlagen".

utopos schrieb:
... Daher hatte ich nach einer Möglichkeit gesucht, doch einen einigermaßen aktuellen Browser zu verwenden.
Dafür könntest Du auch ein Live-System nutzen.

Viele Grüße

susejunky
 
OP
U

utopos

Member
Ist Dein System und/oder Deine Systemumgebung derart komplex?

Überhaupt nicht. Aber wie man aus der Versionsnummer schließen kann, habe ich begrenzte Erfahrung mit Installationen und Updates, und das heißt, ich brauche einige Zeit am Stück.

Dafür könntest Du auch ein Live-System nutzen.

Das ist ein sehr guter Vorschlag! Das heißt, ich würde mir vor der Neuinstallation - zusätzlich zum Herunterladen der Installationscds und zum Sichern der Daten - eine Live-CD brennen.
Das würde wahrscheinlich schon ein Stück weit weiterhelfen.

Ich halte auf allen meinen Rechnern stets die aktuelle und die Vorgängerversion bereit.

Das System gefällt mir auch sehr gut. Spontan hatte ich aber Bedenken, ob ich dafür genug Platz habe? Unten habe ich meine Festplattenpartition angehängt; auf welche Partitionen sollte ich denn das neue System loslassen? Oder muss ich die Partion ändern?

Code:
:/ # df
Dateisystem    1K-Blöcke  Benutzt Verfügbar Verw% Eingehängt auf
devtmpfs         2009684       40   2009644    1% /dev
tmpfs            2025360     4976   2020384    1% /dev/shm
tmpfs            2025360     5776   2019584    1% /run
/dev/sda6       20642428  9250392  10343460   48% /
tmpfs            2025360        0   2025360    0% /sys/fs/cgroup
tmpfs            2025360     5776   2019584    1% /var/lock
tmpfs            2025360     5776   2019584    1% /var/run
/dev/sda7      937684896 43069364 893662900    5% /home
 
OP
U

utopos

Member
Code:
michael@kohlhasenbrueck:~/Downloads> lsblk -o NAME,MAJ:MIN,RM,SIZE,RO,TYPE,MOUNTPOINT,FSTYPE
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT FSTYPE
sda      8:0    0 931,5G  0 disk            
├─sda1   8:1    0     1K  0 part            
├─sda4   8:4    0     1G  0 part            ntfs
├─sda5   8:5    0     2G  0 part [SWAP]     swap
├─sda6   8:6    0    20G  0 part /          ext4
└─sda7   8:7    0 908,5G  0 part /home      ext4
sr0     11:0    1     2K  0 rom

(Das "+" hatte er nicht geschluckt.)
 

susejunky

Moderator
Teammitglied
Hallo utopos,
utopos schrieb:
Code:
michael@kohlhasenbrueck:~/Downloads> lsblk -o NAME,MAJ:MIN,RM,SIZE,RO,TYPE,MOUNTPOINT,FSTYPE
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT FSTYPE
sda      8:0    0 931,5G  0 disk            
├─sda1   8:1    0     1K  0 part            
├─sda4   8:4    0     1G  0 part            ntfs
├─sda5   8:5    0     2G  0 part [SWAP]     swap
├─sda6   8:6    0    20G  0 part /          ext4
└─sda7   8:7    0 908,5G  0 part /home      ext4
sr0     11:0    1     2K  0 rom
Bei dieser Konfiguration kann es, je nach Belegungsgrad von /home, schwierig bis unmöglich werden, eine Konfiguration, wie die von mir beschriebene, sinnvoll einzurichten.

Wenn jedoch genügen Plattenplatz zur Verfügung steht, müsstest Du aber auf jeden Fall Deine Festplatte neu partitionieren. Und dafür müsstest Du zunächst erst einmal alle Deine Daten sichern. Das setzt ein entsprechendes Backup-Medium (z.B. USB-Festplatte, Server, ...) voraus und nimmt natürlich Zeit in Anspruch.

Nach einer Neu-Partitionierung würde Dir (zunächst) Dein altes OS auch nicht mehr als Rückfalllösung zur Verfügung stehen.

Viele Grüße

susejunky
 
OP
U

utopos

Member
Das hatte ich befürchtet. Ich hatte auch aus Platzgründen die vorinstallierte Windows-Partition überschrieben (wenn Platz gewesen wäre, hätte ich sie für alle Fälle stehen lassen, auch wenn ich gar nicht vorgehabt hätte, sie zu benutzen).

Was ich nie ganz verstanden habe:
Als Datensicherung wird immer ein Festplattenimage empfohlen. Damit kann ich aber nur das aktuelle System, so wie es ist, wiederherstellen. Es ist also lediglich eine Notlösung für den Fall, dass alles schief geht, oder?

Für den Fall, dass es gut oder halbwegs gut geht, brauche ich also zusätzlich (!) eine Sicherung der Dateien aus /home (und was sonst noch von Benutzern und nicht dem System stammt, z.B. Konfiguationsdateien).
Ist das richtig so?
 

josef-wien

Ultimate Guru
utopos schrieb:
wenn Platz gewesen wäre
Bei einer 931,5 GiB-Platte mit einer zu 5 % gefüllten 908,5 GiB-Partition verstehe ich das nicht.

Wenn Du Deine derzeitige Home-Partition um 20 GiB verkleinerst, hast Du schon Platz für eine zweite Systempartition (bei btrfs sollten es allerdings mindesten 40 sein). Eigene Home-Partitionen (die nur die mit einem Punkt beginnenden Verzeichnisse und Dateien enthalten) wären nicht notwendig. Falls Du öfter unter Beibehaltung Deiner Einstellungen neu installieren willst, kannst Du ja zwei zu je 1 GiB vorsehen. Die immer noch mehr als 800 GiB große Partition verwendest Du ausschließlich für Deine Daten und hängst sie in beiden Systemen z. B. unter /home/utopus/daten ein.

Das Sichern einer Systempartition als Ganzes (z. B. mit Clonezilla) mag für Dich von Vorteil sein, da Du dann nur zurückspielen und Dich wohl um nichts sonst zu kümmern brauchst. Deine Daten solltest Du aber als Dateien auf ein externes Medium sichern, z. B. mit
Code:
rsync -av --delete /home/utopus/daten/ /einhängepunkt/sicherungsverzeichnis/
(Oberflächen, die rsync verwenden, gibt es fast wie Sand am Meer), um sie auch einzeln wiederherstellen zu können.

Aber jetzt sind wir vom ursprünglichen Thema meilenweit entfernt ...
 
Oben