32bit Anwendung auf 64bit Architektur

Hallo, ich habe hier eine kleine Anwendung, die leider nur in 32bit vorliegt. Wenn ich diese starten will kommt die Meldung, dass libstdc++.so.6 nicht gefunden würde. Bastel ich ein bisschen hin und die lib liegt unter /usr/lib, dann kommt die Meldung auf die falsche ELF-Klasse, nämlich ELFCLASS64 anstatt ELFCLASS32. Es sollte doch prinzipiell kein Problem sein, eine 32bit-Anwendung auf einer 64bit Architektur laufen zu lassen. Welches Paket sollte ich denn nachinstallieren? Den g++ in der cross Version habe ich, hilft nur nix. Gruß Joachim

Hallo, Am Fri, 27 Nov 2020, Joachim H. schrieb:
Natürlich, das ist ja die 64-Bit lib.
Es sollte doch prinzipiell kein Problem sein, eine 32bit-Anwendung auf einer 64bit Architektur laufen zu lassen.
Ist es auch nicht.
Welches Paket sollte ich denn nachinstallieren?
Du guckst (in diesem Fall, sonst lib und rpm Namen anpassen) mittels rpm -qf /usr/lib64/libstdc++.so.6 zu welchem Paket die 64bit lib gehört und installierst dann das dazu passende 32bit Paket, das genauso heißt, aber zusätzlich ein '-32bit' im Paketnamen hat! In deinem Fall müßtest du je nach oS Version und was rpm -qf ausspuckt zu libstdc++6-9.3.1+git1296-lp152.2.3.1.x86_64.rpm das Paket libstdc++6-32bit-9.3.1+git1296-lp152.2.3.1.x86_64.rpm nachinstallieren, und zu libstdc++6-10.2.1+git583-lp152.2.2.x86_64.rpm eben das Paket libstdc++6-32bit-10.2.1+git583-lp152.2.2.x86_64.rpm Analog das ganze für 15.1 und Tumbleweed. Eben einfach jeweils das Paket das genauso heißt wie das für 64bit, nur mit dem extra '-32bit' im Namen. -dnh -- "Tausche schwer verständliches Buch über Empfängnisverhütung gegen gebrauchten Kinderwagen..." [in de.soc.familie.kinder]

Hallo, Am Fri, 27 Nov 2020, Joachim H. schrieb:
Natürlich, das ist ja die 64-Bit lib.
Es sollte doch prinzipiell kein Problem sein, eine 32bit-Anwendung auf einer 64bit Architektur laufen zu lassen.
Ist es auch nicht.
Welches Paket sollte ich denn nachinstallieren?
Du guckst (in diesem Fall, sonst lib und rpm Namen anpassen) mittels rpm -qf /usr/lib64/libstdc++.so.6 zu welchem Paket die 64bit lib gehört und installierst dann das dazu passende 32bit Paket, das genauso heißt, aber zusätzlich ein '-32bit' im Paketnamen hat! In deinem Fall müßtest du je nach oS Version und was rpm -qf ausspuckt zu libstdc++6-9.3.1+git1296-lp152.2.3.1.x86_64.rpm das Paket libstdc++6-32bit-9.3.1+git1296-lp152.2.3.1.x86_64.rpm nachinstallieren, und zu libstdc++6-10.2.1+git583-lp152.2.2.x86_64.rpm eben das Paket libstdc++6-32bit-10.2.1+git583-lp152.2.2.x86_64.rpm Analog das ganze für 15.1 und Tumbleweed. Eben einfach jeweils das Paket das genauso heißt wie das für 64bit, nur mit dem extra '-32bit' im Namen. -dnh -- "Tausche schwer verständliches Buch über Empfängnisverhütung gegen gebrauchten Kinderwagen..." [in de.soc.familie.kinder]
participants (4)
-
David Haller
-
Joachim H.
-
Markus Koßmann
-
Martin Schröder