Ubuntuにライブラリをインストールするのは簡単だと聞いたので、Ubuntuに切り替えて、boostをインストールしようとしたので、次のように書きました。
Sudo apt-get install libboost-all-dev
私はこれを取得します:
Reading package lists... Done Building dependency tree
Reading state information... Done 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: libboost-all-dev :
Depends: libboost-python-dev but it is not going to be installed E:
Unable to correct problems, you have held broken packages.
今、私は canonical-question がこれにありますが、答えが示唆するように:
APTは、Debianおよびそれに基づいたUbuntuなどの他のLinuxディストリビューション用のパッケージ管理システムです。ほとんどの場合、APTはパッケージのインストール、削除、更新に使いやすいです。まれに、多くの場合、サードパーティの依存関係が混在していると、apt-getがパッケージのインストールを完了できなかったことを伝えるエラーを表示する可能性があります。
しかし、私は自分の状況について珍しいものがあるとは思わない。実際、私がboostをインストールしようとしたまさにその理由は、私がそれを簡単にする必要があることを知っているからです。基本的なことがうまくいくかどうか試してみたかったのですが、それは私を失望させました。 「一般的な解決策」に対して私の質問を欺く代わりに助けてください。私はそれを試しましたが、ある時点で、回答者が何について話しているのか分かりません:
PPAの無効化/削除/削除:
PPA(個人パッケージアーカイブ)は、Launchpadでホストされるリポジトリです。 PPAを使用して、公式のUbuntuリポジトリにないパッケージをインストールまたはアップグレードできます。
満たされていない依存関係の最も一般的な原因の1つは、特にUbuntuリポジトリの既存のパッケージをアップグレードするために使用される場合のPPAです。この問題を解決するには、ツリーオプション、無効化、パージ(Ubuntuリポジトリの元のパッケージに戻す)、またはPPAを削除します。
私の特定の質問はこれです:
この日、Ubuntu 12.04 LTSをインストールしました。コードブロック、g ++、ビルド必須、問題なくインストールしました。
Sudo apt-get install openscenegraph
を試してみましたが、ハードドライブのヘッダーファイルを見つけることができませんでしたが、動作した可能性があります(openscenegraph-dev
をダウンロードする必要があります(ただし、存在しません))
そこで、このパッケージインストーラーが最初に機能するかどうかを確認するためにboostをインストールすることを選択し、上記で貼り付けたものを取得しました(依存関係が満たされていない)。
なぜ機能しないのか、どうすれば機能させることができますか?
編集:
apt-cache madison libboost-python-dev
返却値:
libboost-python-dev | 1.48.0.2 | http://archive.ubuntu.com/ubuntu/precise/main AMD64 Packages
満たされていない依存関係の問題が発生する方法の1つは、依存アプリケーションにインストールされない独自の依存関係がある場合です。ここがその例です。
問題はlibboost-python-dev
依存libboost-python1.46-dev
です。ただし、インストールは試行されませんでした。
したがって、libboost-python-dev
をインストールするには、libboost-python1.46-dev
もインストールする必要があります。
だから実行:
Sudo apt-get install libboost-all-dev libboost-python-dev libboost-python1.46-dev
** openscenegraph-dev をインストールできます:
Sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libopenscenegraph80 libopenthreads-dev libopenscenegraph-dev
Sudo aptitude install libboost-all-dev
Apt-getの代わりにaptitudeを使用すると、競合するパッケージを削除するための自動ソリューションが提供される場合があります。
私は自分でこの問題に遭遇しました。 「libboost1.48-dev」がインストールされている場合と同様の「libboost1.48-dev」がインストールされています。
libboost1.48-all-dev
ではなく、libboost-all-dev
をインストールします。後者はバージョン1.46で、すでにインストールされているlibboost1.48-python-dev
と互換性がありません。
または、v1.46に戻る場合は、libboost1.48-python-dev
をアンインストールし、libboost-all-dev
をインストールできます。