PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : libstdc++ kann nicht installiert werden



salim_aliya
08.11.13, 21:36
Hallo,

ich habe das Problem, dass ich libstdc++ auf das System nicht installieren kann.

System: Debian Squeeze 7.0 64 Bit

Ich möchte Apache/PHP mit der zeroc-ice Schnittstelle ausstatten. Dazu habe ich das Paket php-zeroc-ice über apt-get installiert und die php.ini angepasst.

Wenn ich nun Apache neustarte, wirft PHP folgende Fehlermeldung in der Log-Datei aus:


[08-Nov-2013 22:09:35 Europe/Berlin] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/IcePHP.so' - /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/php5/20100525/IcePHP.so) in Unknown on line 0

Zunächst dachte ich, dass libstdc++ nicht installiert ist auf dem System. Dann habe ich es versucht, via apt-get zu installieren und folgende Meldungen werden mir ausgeworfen:


Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libstdc++6-4.4-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.7-pic' for regex 'libstdc+'
Note, selecting 'libstdc++5' for regex 'libstdc+'
Note, selecting 'libstdc++6' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.1-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.1-doc' for regex 'libstdc+'
Note, selecting 'libstdc++2.9-dev' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.4-pic' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.5-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.5-doc' for regex 'libstdc+'
Note, selecting 'libstdc++-dev' for regex 'libstdc+'
Note, selecting 'libstdc++2.10-dev' for regex 'libstdc+'
Note, selecting 'libstdc++2.9-glibc2.1-dev' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.2-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.2-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-dev' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-doc' for regex 'libstdc+'
Note, selecting 'libstdc++5-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++5-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.3-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.3-dev' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.3-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-pic' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.0-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.0-doc' for regex 'libstdc+'
Note, selecting 'libstdc++2.8-dev' for regex 'libstdc+'
Note, selecting 'libstdc++5-3.3-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.7-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.7-dev' for regex 'libstdc+'
Note, selecting 'libstdc++5-3.3-doc' for regex 'libstdc+'
Note, selecting 'libstdc++3.0-dev' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.7-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.4-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.4-dev' for regex 'libstdc+'
libstdc++6 is already the newest version.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libstdc++6-4.6-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-2 is to be installed
libstdc++6-4.6-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-2 is to be installed
libstdc++6-4.7-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-2 is to be installed
Conflicts: libstdc++6-4.6-dbg but 4.6.3-14 is to be installed
libstdc++6-4.7-dev : Depends: g++-4.7 (= 4.7.2-5) but it is not going to be installed
libstdc++6-4.7-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-2 is to be installed
Conflicts: libstdc++6-4.6-doc but 4.6.3-14 is to be installed
E: Unable to correct problems, you have held broken packages.

Angeblich soll libstdc++ auf dem system installiert sein. Aber, egal wo ich nachgeschaut habe, nirgends kann ich die libstdc++.so.6 finden, sie taucht einfach nirgends auf.

Zunächst habe ich probiert mit "dpkg --add-architecture i386" und "apt-get update" das Problem zu lösen (schreiben viele in diversen Foren), hat leider nichts genützt. Auch die Installation von diverser anderer Pakete hat daran nichts geändert.

Wo liegt hier das Problem? Wieso will das einfach nicht funktionieren?

tictactux
09.11.13, 00:28
Hallo,

was sagt ein



locate libstdc++

dpkg -S /usr/lib/libstdc++.so.6


dem zweiten kannst Du auch entnehmen, wie das Paket genau heißt, nämlich libstdc++6 (hier auf Debian squeeze)



PS: ein bißchen googlen nach "version `GLIBCXX_3.4.11' not found" erwies sich als nützlich, da findet sich auch ganz oben eine Lösung, um die benötigte lib zusätzlich zur System-Version der libstdc++ zu installieren, ohne diese anzutasten
( https://www.linuxquestions.org/questions/red-hat-31/usr-lib-libstdc-so-6-version-%60glibcxx_3-4-11%27-not-found-943114/ )

vermeide es aber wie oben gezeigt, sämtliche versionen (.dbg + .pic e.t.c) einer so vitalen lib gleichzeitig zu installieren, wenn du nicht genau weißt was du tust:)

salim_aliya
09.11.13, 13:47
Hallo


locate libstdc++
(keine Ausgabe)


dpkg -S /usr/lib/libstdc++.so.6

dpkg-query: no path found matching pattern /usr/lib/libstdc++.so.6


vermeide es aber wie oben gezeigt, sämtliche versionen (.dbg + .pic e.t.c) einer so vitalen lib gleichzeitig zu installieren, wenn du nicht genau weißt was du tust

ich habe nur apt-get install libstdc++ eingegeben. Die Selection so vieler Versionen hat die Routine selber gemacht, vermutlich ist er von einer zur nächsten gesprungen, als es Fehler gab ...

Die gepostete Lösung hat leider nicht funktioniert. Wenn ich es via dpkg -i libstdc++6_4.4.5-8_amd64.deb versuche zu installieren, wird folgendes ausgegeben:


(Reading database ... 32278 files and directories currently installed.)
Preparing to replace libstdc++6 4.4.5-8 (using libstdc++6_4.4.5-8_amd64.deb) ...
Unpacking replacement libstdc++6 ...
dpkg: dependency problems prevent configuration of libstdc++6:
libstdc++6 depends on gcc-4.4-base (= 4.4.5-8); however:
Package gcc-4.4-base is not installed.

dpkg: error processing libstdc++6 (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
libstdc++6

Auch das manuelle entpacken und installieren hat nichts genützt, nun wirft PHP diese Fehlermeldung aus:


[09-Nov-2013 14:38:32 Europe/Berlin] PHP Warning: PHP Startup: Unable to load dynamic library '/opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/IcePHP.so' - /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/libIce.so.34) in Unknown on line 0

EDIT: Tut mir Leid für die Fehlinformation, es handelt sich um ein Debian 7.0 Wheezy. Ich habe die Codenamen verwechselt.

EDIT 2: apt-get ist nun zerschossen ...



apt-get: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by apt-get)
apt-get: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12)


... ich installiere das System mal neu.

Was bedeuten "dependency problems" eigentlich genau?

salim_aliya
10.11.13, 12:16
Hallo,

OK, Problem gelöst. Ich hab einfach auf die Verwendung von XAMPP von apachefriends.org verzichtet und habe stattdessen Apache, PHP und MySQL selbst eingerichtet und konfiguriert. Jetzt gibt es auch keine Schwierigkeiten mit irgendwelchen Bibliotheken.