「google-chrome-stableはlibstdc ++ 6(> = 4.8.0)に依存しています。ただし、システムのlibstdc ++ 6のバージョンは4.6.3-1ubuntu5です。」


10

私はgoogle-chrome-stable新しいubuntu 12.04インストールにインストールしようとしています。次のコマンドを実行します

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

次のエラーが発生します

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

実行するsudo apt-get install -fと、google-chrome-stableが削除されます。

The following packages will be REMOVED
  google-chrome-stable

必要なバージョンを探している場合、たとえばsudo apt-get install libstdc++6=4.8.0、バージョンが見つからない場合:

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

どうすれば修正できますか?

32ビットバージョンのUbuntu 12.04はサポートされなくなったことを知っています。64ビットUbuntuバージョンを実行しています。


@glut実際のタイトルは正確です。正確なエラーメッセージが表示されます。
Braiam 2016年

@Braiam lsb_baseエラーが含まれていないため、部分的にしか正確ではないと主張します
Glutanimate

@Glutanimateですが、lsb-baseにはChromeが使用するライブラリ/バイナリがありません。
Braiam 2016年

@Braiam Ok、本当。今考えてみると、ほとんどのユーザーはとにかくエラーメッセージの最初の部分を検索するので、それを続けましょう。
グルタニメート2016年

回答:


14

GoogleがUbuntu 12.04のサポートを終了したため、これらのエラーが表示されます。

Google:32ビットLinux、Ubuntu Precise(12.04)でのGoogle Chromeのサポートを終了します。

または、chromium-browserGoogle Chromeが構築されているをインストールすることもできます。

Chromeを使用するために、Ubuntu 14.04 LTSまたはUbuntu 15.10をインストールすることもできます(どちらもサポートされています)。

ただし、新しいUbuntu 16.04 LTSがリリースされる21日の4月まで待つことをお勧めします。

Ubuntu 12.04 LTSの公式セキュリティサポートは1年間しか残っていないことを考慮してください。


64ビットのUbuntuバージョンがあります。運用システムを再インストールしたところ、1週間前まで、まったく同じ設定でChromeを使用していました。私の悪いことは、申し訳ありません
でした-fmonegaglia

5
@fmonegaglia:ここで最も重要なことは、Ubuntu 12.04が32ビットと64ビットのどちらのUbuntuエディションが使用されているかに関係なく、通常はサポートされなくなったことです。Google Chromeは、Ubuntu 14.04以降、サポートされている64ビットUbuntuエディションにのみインストールできます... :)
cl-netbox

これは間違いなく正しい答えです。残念ながら、私たちの一部は、何らかの理由で12.04で立ち往生しています。ダウングレードのような一時的な解決策(下記)ではなく、12.04を降りる努力をする必要があります。ただし、場合によっては、機能を動作させる必要があるだけです。
lathonez

6

最終編集(2017-09-13)

このソリューションは、Chromeリリース60以降では機能しません。最新のパッケージはlibc6≥2.17に依存しており、Ubuntu 12.04にはインストールできません。まだPreciseを使用している場合は、アップグレードを検討する必要があります(私が行ったように)、それでもアップグレードできない場合は、別のブラウザーに切り替えます(ただし、この時点ではまだ維持されているブラウザーを見つけることはできません)。


編集(2016-12-06):Chromeもlibfontconfig1のアップデートバージョン(2.9.0以上)に依存しているようです。それに応じてスクリプトを更新しました。これまでのところ、新しいバージョンは問題なく機能しているようですが、偽の依存関係があると、アプリの安定性が低下する可能性があることに注意してください。

編集(2017-06-10):Chrome 59には新しい依存関係(libfontconfig1≥2.11、libpango、およびlibpangocairo)が付属しています。これらを削除するようにスクリプトを更新しました。Chromeの安定性と同じ警告が再び適用されます。


Ubuntu 12.04 64ビットでの依存関係の問題の回避策

Ubuntuバージョン12.04のChromeの公式サポートは終了しましたが、これはChromeをまだ破棄する必要があるという意味ではありません。以下は、最新のChromeリリース(2016年6月28日現在)をUbuntu 12.04 64ビットにインストールする方法に関する簡単なチュートリアルです。

警告これは非常にハックなソリューションであり、いつでも機能しなくなる可能性があります。先に進む前に、何をしているかを確認してください。

前提条件

更新されたカーネル

重要: カーネルの更新には、独自の一連のトラブルとハードウェアの互換性の問題が伴う場合があることに注意してください。この手順に進む前に、以前のカーネルに切り替える方法を確認してください。

最近のChromeリリースは、Ubuntu 12.04のデフォルトカーネル(3.2.0)では利用できないサンドボックス関連のいくつかのカーネル機能に依存しています。最新のイメージ(ポイントリリース12.04.2以降)を使用してUbuntu 12.04をインストールしている場合は、更新されたカーネルをすでに使用している可能性があります。ただし、まだ元のカーネルリリースを使用している場合は、LTSハードウェア有効化スタックパッケージを介してUbuntu 14.04のカーネルスタックに更新できます

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

カーネルのアップグレードを実行した後は、必ずシステムを再起動してください。すべてがうまくいけば、システムはLinuxカーネル3.13.Xを使用しているはずです。

依存関係の問題

最近のChromeビルドをインストールしようとしたときに表示されるエラーメッセージを見ると、2つの異なる依存関係の問題があることがわかります。

  1. libstdc++6 (>= 4.8.0):これはGNU標準C ++ライブラリです。Chromeのリリース50.X以降は、このライブラリのバージョン4.8.0に依存していますが、Ubuntu 12.04にはデフォルトで4.6.3しか付属していません。
  2. lsb-base (>= 4.1):これはLinux Standard Baseパッケージです。これは、ディストリビューションがLinux Foundationによって設定された一連の標準に準拠していることを示しています。Chromeリリース50.X +は、LSBベース4.1で定義された標準に準拠する必要がありますが、Ubuntu 12.04は4.0にのみ準拠しています。

結局のところ、これらの問題はどちらもかなり簡単に修正できます。

libstdc ++ 6(> = 4.8.0)

重要: libstdc ++ 6は、多くの異なるパッケージが依存する重要なシステムライブラリです。このパッケージを新しいリリースにアップグレードすると危険な場合があり、システムの安定性の問題につながる可能性があります。私がこのアップグレードを実行した2つのシステムで私は何も問題を経験していませんが、いつものように、走行距離は異なる場合があります。

幸い、libstdc++64.8.Xは公式のUbuntu ツールチェーンテストビルドPPAで利用できます。最初のステップとして、このPPAをソフトウェアソースに追加します。

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

この時点からGoogle Chromeをインストールlibstdc++6すると、PPAから依存関係がプルされ、最初の依存関係の問題が解消されます。これが解決したら、2番目の問題に進みましょう。

lsb-base(> = 4.1)

実際のところ、最新バージョンのChromeを実行するために、このパッケージの更新バージョンをインストールする必要はありません。現時点では、Chromeは実際にはLSBベース4.1の変更された標準に依存していないようです。そのため、依存関係lsb-base (>= 4.1)は、単純に削除できるソフトな依存関係のようです。

もちろん、これを手動で行うこともできますが、次の手順のほとんどを処理するスクリプトを作成しました。

インストールスクリプト

#!/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"

上記のスクリプトをコピーして、名前install_chrome.shを付けて保存し、実行可能ファイルとしてマークします(chmod +x install_chrome.shまたはファイルマネージャーのプロパティダイアログを使用)。

それが終わったら、次を使用してスクリプトを実行できます。

./install_chrome.sh

スクリプトは、最新の安定したChromeリリースをダウンロードし、それを変更してlsb-base 4.1への依存関係を削除し、更新された.debファイルをからインストールするように求めますdpkg

おめでとうございます。Ubuntu12.04でGoogle Chromeの更新されたリリースを使用しています。

アップデート

Chromeを更新するには、スクリプトを再度実行するだけです。

将来の互換性

重要:このソリューションはいつでも機能しなくなる可能性があるため.deb、更新によりChromeが突然起動を拒否した場合に備えて、常に最新の機能する変更済みファイルをバックアップとして保存することをお勧めします。

最新の変更されたインストーラーを保存するには、スクリプトのsudo実行時にパスワードプロンプトが表示された直後(つまり、変更された.debファイルをインストールする直前)に、スクリプトの一時ディレクトリに移動します。一時ディレクトリは、どこかにある必要があります/tmp/deb.XXXXXXXXXXXXXXXXXXはランダムな文字列です)。


1
私の会社によって施行されたポリシーのため、Ubuntu 12.04に行き詰まっています。私はとにかくあなたのスクリプトを使用してクロムをインストールすることができました。どうもありがとう!
Eugeniu Rosca 2016

4

できないと思います。それらはアップグレードされたばかりで、依存関係は12.04では満たすことができません

Travisビルドで同じ問題が発生し、ダウングレードしました。ここに古いバージョンのロード。

明らかに良い答えではありませんが、私は良い時間を探しましたが、ダウングレードせずに方法を見つけることができませんでした。


1
私はこれと一緒に行きます。もちろん、これは最善の方法ではありませんが、現時点ではUbuntuの最新バージョンにアップグレードできないので、一時的な解決策としては機能します。
fmonegaglia

mirror.pcbeta.comなくなっ404へのリンク
AlexD

2

GoogleがChromeと12.04のサポートを停止したため、最善の解決策は代わりにChromiumをインストールすることです。

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

1
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.

基本的に、Google Chromeは、Preciseで利用できないlsb-baseとlibstdc ++ 6を求めています。

>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

Googleからgoogle-chromeをインストールするには、Trusty(LTSでもある)以降が必要です。または、Ubuntuリポジトリchromium-browserによって提供されるものをインストールするだけです。


1

グルタニメートの回答について直接コメントすることはできませんが、とにかくそれを共有したいと思います。installscriptに行を追加する必要がありました。

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

これでChromeは問題なく動作するようですが、それ以外の場合はインストールできません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.