sudo apt-get install libstdc ++


16

libstdc++を使用してインストールしようとすると:

sudo apt-get install libstdc++

ubuntuで以下のエラーが表示されます。それについて何かご存知ですか?

The following packages have unmet dependencies:
 libstdc++-4.8-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
                     Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed
                     Conflicts: libstdc++6-4.7-doc but 4.7.3-12ubuntu1 is to be installed
 libstdc++-4.9-doc : Conflicts: libstdc++-4.8-doc but 4.8.5-2ubuntu1~14.04.1 is to be installed
                     Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
                     Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed
                     Conflicts: libstdc++6-4.7-doc but 4.7.3-12ubuntu1 is to be installed
 libstdc++-5-doc : Conflicts: libstdc++-4.8-doc but 4.8.5-2ubuntu1~14.04.1 is to be installed
                   Conflicts: libstdc++-4.9-doc but 4.9.3-8ubuntu2~14.04 is to be installed
                   Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
                   Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed
                   Conflicts: libstdc++6-4.7-doc but 4.7.3-12ubuntu1 is to be installed
 libstdc++6-4.6-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
 libstdc++6-4.6-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
 libstdc++6-4.7-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
                      Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed
 libstdc++6-4.7-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed
                      Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed
 libstdc++6-4.8-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
                      Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed
                      Conflicts: libstdc++6-4.7-dbg but 4.7.3-12ubuntu1 is to be installed
 libstdc++6-4.8-dbg-armhf-cross : Conflicts: libstdc++6-4.7-dbg-armhf-cross but 4.7.3-11ubuntu1cross1.85 is to be installed
 libstdc++6-4.9-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
                      Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed
                      Conflicts: libstdc++6-4.7-dbg but 4.7.3-12ubuntu1 is to be installed
                      Conflicts: libstdc++6-4.8-dbg but 4.8.5-2ubuntu1~14.04.1 is to be installed
 libstdc++6-5-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed
                    Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed
                    Conflicts: libstdc++6-4.7-dbg but 4.7.3-12ubuntu1 is to be installed
                    Conflicts: libstdc++6-4.8-dbg but 4.8.5-2ubuntu1~14.04.1 is to be installed
                    Conflicts: libstdc++6-4.9-dbg but 4.9.3-8ubuntu2~14.04 is to be installed
E: Unable to correct problems, you have held broken packages.

最近、ppasを追加しましたか?
ラファエル

1
実際に呼び出されるパッケージはありませんlibstdc++(おそらくインストールしようとしていlibstdc++6ますか?++文字のaptため、完全に一致するものが見つからない場合、パッケージ名を正規表現として扱うため、この場合は名前のあるパッケージをインストールしようとしていますマッチのlibstd後に1つ以上が続きcます
ご覧のとおり

@steeldriver:これは明らかに答えであり、imhoはコメントではなく答えである必要があります(ただし、文字列を正規表現として扱うことを回避する方法を説明できると役立ちます)。のマンページにaptは、パッケージ名が含まれている場合.?または*言及+されていない場合、パッケージ名が正規表現として扱われるため、動作は正確には予期されていません。
リチ

回答:


12

実際に呼び出されるパッケージはありませんlibstdc++(おそらくインストールしようとしていlibstdc++6ますか?)

aptがパッケージ名に完全に一致するものを見つけられない場合、指定された文字列を正規表現として扱います。この場合、++原因はそれがインストールしようとする任意の名前が一致したパッケージlibstd一つ以上続くcあなたが見ることができるように、その紛争の多くを- 。

残念ながら、この動作をオフにする方法を理解することができませんでした(エスケープ文字を使用して過去に試したことは何も機能していないようです)-私が知っている唯一の解決策は、正規表現文字を正確なパッケージ名に与えることに注意することです誤解されている可能性があり、パッケージカタログが最新であることを確認する

sudo apt-get update
sudo apt-get install libstdc++6

これは受け入れられるべきです。オフに関して:1は、内部のパッケージ名をラップし、エイリアスや関数を書くことができます^PACKAGE$
phil294

11

最初にこれらのコマンドを実行します

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get install aptitude

してみて

sudo apt-get install libstdc++6

または、この検索結果を試して、リストされているhttp://packages.ubuntu.com/search?keywords=libstdc%2B%2Bから目的のパッケージを1つインストールします


2
+1良い答えですがlibstdc++build-essentialsに含まれていませんか?
ケフ

7
ああ、なぜインストールにaptitude使用しないのにインストールするのlibstdc++6ですか?
ケフインスキー

2
ご返信ありがとうございますKev。私は、成功しない場合に何らかの可能性を与えようとしました。そして、彼のエラーを処理する能力。
MAKリポン

sudo apt-get update apt-get:共有ライブラリのロード中にエラーが発生:
usr/lib/x86_64

3
LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9

6
ユーザーがこれを行う必要がある理由と、各コマンドが何を行うかを説明できますか?(念のため他の誰かがあなたの答えを読み取り、単に間違った問題のためにそれをコピー&ペーストすることを決定した?) ;-)
Fabby
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.