it-swarm.com.de

"google-chrome-stable hängt von libstdc ++ 6 (> = 4.8.0) ab; allerdings: Version von libstdc ++ 6 auf dem System ist 4.6.3-1ubuntu5."

Ich versuche, google-chrome-stable auf einer neuen Ubuntu 12.04-Installation zu installieren. Ich führe die folgenden Befehle aus

wget https://dl.google.com/linux/direct/google-chrome-stable_current_AMD64.deb
Sudo dpkg -i google-chrome*.deb

Ich erhalte die folgenden Fehler

dpkg: dependency problems prevent configuration of google-chrome-stable:
 google-chrome-stable depends on libstdc++6 (>= 4.8.0); however:
Version of libstdc++6 on system is 4.6.3-1ubuntu5.
 google-chrome-stable depends on lsb-base (>= 4.1); however:
Version of lsb-base on system is 4.0-0ubuntu20.3.
dpkg: error processing google-chrome-stable (--install):
 dependency problems - leaving unconfigured
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Errors were encountered while processing:
 google-chrome-stable

Wenn ich Sudo apt-get install -f starte, wurde nur google-chrome-stable entfernt:

The following packages will be REMOVED
  google-chrome-stable

Wenn ich nach den erforderlichen Versionen suche, z. Ich versuche Sudo apt-get install libstdc++6=4.8.0 Ich kann die Version nicht finden:

E: Version ‘4.8.0’ for ‘libstdc++6’ was not found

Wie behebe ich das?

Ich weiß, dass die 32-Bit-Version von Ubuntu 12.04 nicht mehr unterstützt wird. Ich verwende eine 64-Bit-Ubuntu-Version.

9
fmonegaglia

Sie erhalten diese Fehlermeldungen, weil Google die Unterstützung für Ubuntu 12.04 eingestellt hat.

Google: Wir beenden die Unterstützung für Google Chrome unter 32-Bit-Linux, Ubuntu Precise (12.04).

Alternativ können Sie den chromium-browser installieren, auf dem Google Chrome basiert.

Sie können auch Ubuntu 14.04 LTS oder Ubuntu 15.10 installieren - beide werden unterstützt -, um Chrome zu verwenden.

Aber ich schlage vor, dass Sie bis zum 21. April warten, bis das neue Ubuntu 16.04 LTS veröffentlicht wird.

Sie sollten berücksichtigen, dass Ubuntu 12.04 LTS nur noch ein Jahr offiziellen Sicherheits-Support bietet.

13
cl-netbox

Letzte Änderung (2017-09-13) :

Diese Lösung funktioniert nicht mehr für Chrome Releases ab 60 . Die neuesten Pakete sind abhängig von libc6 ≥ 2.17, die unter Ubuntu 12.04 nicht installiert werden können. Wenn Sie Precise weiterhin verwenden, sollten Sie entweder ein Upgrade in Betracht ziehen (wie ich es getan habe), oder wenn Sie dies immer noch nicht können, wechseln Sie zu einem anderen Browser (obwohl Sie zu diesem Zeitpunkt wahrscheinlich keinen finden, der noch gewartet wird).


Edit (2016-12-06) : Sieht aus wie Chrome hängt jetzt auch von einer aktualisierten Version von libfontconfig1 ab (≥ 2.9.0 ). Ich habe das Skript entsprechend aktualisiert. Die neue Version scheint bisher einwandfrei zu funktionieren, aber bitte beachten Sie, dass Sie mit jeder vorgetäuschten Abhängigkeit erwarten können, dass die App weniger stabil wird.

Edit (2017-06-10) : Chrome 59 enthält neue Abhängigkeiten (libfontconfig1 ≥ 2.11, libpango und libpangocairo). Ich habe das Skript aktualisiert, um diese zu entfernen. Es gilt wieder der gleiche Vorbehalt hinsichtlich der Stabilität von Chrome.


Problemumgehung für Abhängigkeitsprobleme unter Ubuntu 12.04 64bit

Die offizielle Chrome -Unterstützung für Ubuntu Version 12.04 wurde beendet, dies bedeutet jedoch nicht, dass Sie Chrome erst einmal beenden müssen. Im Folgenden finden Sie eine kurze Einführung in die Installation der neuesten Chrome -Version (Stand 28.06.2016) auf Ubuntu 12.04 64-Bit.

Warnung : Dies ist eine sehr hackige Lösung, die zu jedem Zeitpunkt möglicherweise nicht mehr funktioniert. Bitte stellen Sie sicher, dass Sie wissen, was Sie tun, bevor Sie fortfahren.

Voraussetzungen

Aktualisierter Kernel

Wichtig: Beachten Sie, dass das Aktualisieren Ihres Kernels möglicherweise eigene Probleme und Probleme mit der Hardwarekompatibilität mit sich bringt. Stellen Sie sicher, dass Sie wissen, wie Sie zu einem früheren Kernel wechseln, bevor Sie mit diesem Schritt fortfahren.

Kürzliche Chrome -Versionen hängen von einer Reihe von Kernel-Funktionen im Zusammenhang mit Sandboxing ab, die im Standardkernel von Ubuntu 12.04 (3.2.0) nicht verfügbar sind. Wenn Sie Ubuntu 12.04 mit einem neueren Image (Point Release 12.04.2 und höher) installiert haben, ist es wahrscheinlich, dass Sie bereits einen aktualisierten Kernel verwenden. Wenn Sie jedoch immer noch mit dem ursprünglichen Kernel-Release arbeiten, können Sie über das LTS Hardware Enablement Stack-Paket ​​auf den Kernel-Stack von Ubuntu 14.04 aktualisieren:

Sudo apt-get install --install-recommends linux-generic-lts-trusty

Stellen Sie sicher, dass Sie Ihr System nach dem Durchführen des Kernel-Upgrades neu starten. Wenn alles geklappt hat, sollte Ihr System jetzt den Linux-Kernel 3.13.X verwenden.

Probleme mit Abhängigkeiten

Wenn Sie sich die Fehlermeldung ansehen, die beim Installieren eines aktuellen Chrome Builds angezeigt wird, werden zwei unterschiedliche Abhängigkeitsprobleme angezeigt:

  1. libstdc++6 (>= 4.8.0): Dies ist die GNU Standard-C++ - Bibliothek. Chrome Releases ab 50.X hängen von Version 4.8.0 dieser Bibliothek ab, aber Ubuntu 12.04 wird standardmäßig nur mit 4.6.3 ausgeliefert.
  2. lsb-base (>= 4.1): Dies ist das Linux Standard Base-Paket. Es zeigt die Übereinstimmung der Distribution mit einer Reihe von Standards an, die von der Linux Foundation festgelegt wurden. Chrome Releases 50.X + erfordern die Einhaltung der in LSB Base 4.1 definierten Standards, Ubuntu 12.04 ist jedoch nur mit 4.0 kompatibel.

Wie sich herausstellt, können diese beiden Probleme ziemlich einfach behoben werden:

libstdc ++ 6 (> = 4.8.0)

Wichtig: libstdc ++ 6 ist eine wichtige Systembibliothek, von der viele verschiedene Pakete abhängen. Ein Upgrade dieses Pakets auf eine neuere Version kann gefährlich sein und zu Problemen mit der Systemstabilität führen. Ich habe auf den beiden Systemen, auf denen ich dieses Upgrade durchgeführt habe, selbst keine Probleme festgestellt, aber wie immer kann Ihr Kilometerstand variieren.

Zum Glück ist libstdc++6 4.8.X im offiziellen Ubuntu verfügbar toolchain test builds PPA . Als ersten Schritt werden wir diese PPA zu unseren Softwarequellen hinzufügen:

Sudo add-apt-repository ppa:ubuntu-toolchain-r/test
Sudo apt-get update

Wenn Sie ab diesem Zeitpunkt Google Chrome installieren, wird die Abhängigkeit libstdc++6 von der PPA abgerufen, wodurch das erste Abhängigkeitsproblem behoben wird. Nachdem dies gelöst ist, fahren wir mit der zweiten Ausgabe fort.

lsb-base (> = 4.1)

Es stellt sich heraus, dass wir keine aktualisierte Version dieses Pakets installieren müssen, um die neuesten Versionen von Chrome zum Laufen zu bringen. Derzeit scheint Chrome nicht von den geänderten Standards in LSB-Basis 4.1 abhängig zu sein, sodass die Abhängigkeit von lsb-base (>= 4.1) eine weiche Abhängigkeit zu sein scheint, die wir einfach entfernen können.

Sie können dies natürlich manuell tun, aber ich habe ein Skript geschrieben, das die meisten der folgenden Schritte für Sie erledigt.

Installationsskript

#!/bin/bash

# Name:         Chrome installer for Ubuntu 12.04 LTS 64-bit
# Author:       (c) 2016-2017 Glutanimate
# License:      GNU GPLv3
# Manual:       http://askubuntu.com/a/792442/

# Description:
#
# Downloads latest chrome release and makes it compatible with 12.04.
#
# This is a hack that will likely stop working at some point,
# but for those of us who can't upgrade Ubuntu just yet
# it's better than running a completely obsolete Chrome release.

set -e

tmpDir=$(mktemp -d /tmp/deb.XXXXXXXXXX)
debUrl="https://dl.google.com/linux/direct/google-chrome-stable_current_AMD64.deb"
debFile="$tmpDir/chrome.deb"

cleanup () {
  [[ -n "$tmpDir" ]] && [[ -d "$tmpDir" ]] && rm -r "$tmpDir"
}

trap "cleanup" EXIT

echo "Downloading latest Chrome release..."
mkdir -p "$tmpDir/build"
buildDir="$tmpDir/build"
wget "$debUrl" -O "$tmpDir/chrome.deb" || exit 1
echo "Extracting original deb file..."
dpkg-deb -x "$debFile" "$buildDir"
dpkg-deb --control "$debFile"  "$buildDir/DEBIAN"
echo "Updating dependencies..."
Perl -pe  's|lsb-base \(\>\= 4\.1\)|lsb-base \(\>\= 4\.0\)|g' "$buildDir/DEBIAN/control" > "$buildDir/DEBIAN/control.1"
Perl -pe  's|libfontconfig1 \(\>\= 2\.11\)|libfontconfig1 \(\>\= 2\.8\.0\)|g' "$buildDir/DEBIAN/control.1" > "$buildDir/DEBIAN/control"
Perl -pe  's|libpango-1\.0-0 \(\>\= 1\.14\.0\), libpangocairo-1\.0-0 \(\>\= 1\.14\.0\), ||g' "$buildDir/DEBIAN/control" > "$buildDir/DEBIAN/control.1"
mv "$buildDir/DEBIAN/control.1" "$buildDir/DEBIAN/control"
echo "Building new deb file..."
dpkg -b "$buildDir" "$tmpDir/chrome_modified.deb"
echo "Installing new Chrome version. Please enter your password:"
Sudo dpkg -i "$tmpDir/chrome_modified.deb"

Kopieren Sie das obige Skript, speichern Sie es als install_chrome.sh und markieren Sie es als ausführbar (entweder über chmod +x install_chrome.sh oder den Eigenschaftendialog Ihres Dateimanagers).

Danach können Sie das Skript ausführen mit:

./install_chrome.sh

Das Skript lädt die neueste stabile Chrome Version herunter, ändert sie, um die Abhängigkeit von lsb-base 4.1 zu entfernen, und fordert Sie auf, die aktualisierte .deb -Datei über dpkg zu installieren.

Herzlichen Glückwunsch, Sie verwenden jetzt eine aktualisierte Version von Google Chrome für Ubuntu 12.04!

Aktualisierung

Führen Sie zum Aktualisieren von Chrome das Skript einfach erneut aus.

Zukunftsfähigkeit

Wichtig: Da diese Lösung möglicherweise jederzeit nicht mehr funktioniert, empfehle ich Ihnen, die zuletzt bearbeitete .deb -Datei immer als zu speichern Sicherung für den Fall, dass Chrome aufgrund eines Updates plötzlich nicht mehr gestartet werden kann.

Um das zuletzt geänderte Installationsprogramm zu speichern, rufen Sie einfach das temporäre Verzeichnis des Skripts auf, nachdem Sie beim Ausführen des Skripts die Aufforderung zur Eingabe des Kennworts Sudo erhalten haben (d. H. Unmittelbar vor der Installation der geänderten Datei .deb). Das temporäre Verzeichnis sollte sich irgendwo unter /tmp/deb.XXXXXXXXX befinden (wobei XXXXXXXXX eine zufällige Zeichenfolge ist).

6
Glutanimate

Ich glaube nicht, dass du kannst. Sie wurden gerade aktualisiert und die Abhängigkeiten können in 12.04 nicht erfüllt werden .

Ich hatte das gleiche Problem bei einem Travis-Build und habe ein Downgrade durchgeführt. Viele alte Versionen hier .

Offensichtlich keine gute Antwort, ich habe lange gesucht und konnte keinen Weg finden, ohne ein Downgrade durchzuführen.

4
lathonez

Da Google die Unterstützung für Chrome und 12.04 eingestellt hat, ist die beste Lösung, stattdessen Chromium zu installieren:

wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | Sudo apt-key add -
Sudo apt-get update
Sudo apt-get install chromium-browser
2
Arahkun
dpkg: dependency problems prevent configuration of google-chrome-stable:
 google-chrome-stable depends on libstdc++6 (>= 4.8.0); however:
Version of libstdc++6 on system is 4.6.3-1ubuntu5.
 google-chrome-stable depends on lsb-base (>= 4.1); however:
Version of lsb-base on system is 4.0-0ubuntu20.3.

Grundsätzlich fragt Google Chrome nach lsb-base und libstdc ++ 6, die in Precise nicht verfügbar sind:

>lsb-base   | 4.0-0ubuntu20          | precise         | all
>lsb-base   | 4.0-0ubuntu20.3        | precise-updates | all
 lsb-base   | 4.1+Debian11ubuntu6    | trusty          | all
 lsb-base   | 4.1+Debian11ubuntu6.1  | trusty-proposed | all
 lsb-base   | 4.1+Debian11ubuntu8    | vivid           | all
 lsb-base   | 4.1+Debian11ubuntu8    | wily            | all
 lsb-base   | 9.20160110             | xenial          | all
>libstdc++6 | 4.6.3-1ubuntu5         | precise         | AMD64, armel, armhf, i386, powerpc
 libstdc++6 | 4.8.2-19ubuntu1        | trusty          | AMD64, arm64, armhf, i386, powerpc, ppc64el
 libstdc++6 | 4.8.4-2ubuntu1~14.04.1 | trusty-updates  | AMD64, arm64, armhf, i386, powerpc, ppc64el
 libstdc++6 | 4.9.2-10ubuntu13       | vivid           | AMD64, arm64, armhf, i386, powerpc, ppc64el
 libstdc++6 | 5.2.1-22ubuntu2        | wily            | AMD64, arm64, armhf, i386, powerpc, ppc64el
 libstdc++6 | 5.3.1-14ubuntu2        | xenial          | AMD64, arm64, armhf, i386, powerpc, ppc64el, s390x

Sie benötigen Trusty (das auch LTS ist) oder höher, um google-chrome von Google zu installieren, oder installieren Sie einfach dasjenige, das vom Ubuntu-Repositories-Chrom-Browser bereitgestellt wird.

1
Braiam

Ich kann die Antwort von Glutanimate nicht direkt kommentieren, möchte sie aber trotzdem teilen. Ich musste dem installscript eine zusätzliche Zeile hinzufügen:

Perl -pe  's|libnspr4 \(\>\= 2\:4\.9\-2\~\)|libnspr4 \(\>\= 4\.12\)|g' "$buildDir/DEBIAN/control.1" > "$buildDir/DEBIAN/control"

Chrome scheint damit gut zu laufen, aber es würde mir nicht erlauben, es anders zu installieren.

1
Fabian Dellwing