web-dev-qa-db-ja.com

G ++コンパイルエラー「cc1plus」が見つかりません

マシンからいくつかのファイルを誤って削除したと思いますが、G ++はコンパイルできません。 apt-get removeそれからapt-get installそれを修正しようとして試してみましたが、うまくいきませんでした。今、G ++を再び動作させる方法はまったくわかりません。

エラーは次のとおりです。

g++: error trying to exec 'cc1plus': execvp: No such file or directory

何か案は?

Ubuntu 12.04 Precise ARMバージョンを使用しています。

4
guest

Sudo apt-get install --reinstall g++-4.6を実行する必要があります。 g++パッケージを再インストールするだけでは機能しません。これは、バージョン管理されたパッケージに単純に依存するメタパッケージであるためです。

6
dobey

Ubuntuでは、g++パッケージはOSバージョンのg ++​​のデフォルトバージョン(12.04のg ++​​-4.6など)をインストールする「依存パッケージ」であるため、g ++パッケージを再インストールしても削除したファイルは再インストールされません。おそらく、基礎となるg ++ -Nmパッケージを再インストールする必要があります。

apt-cache depends g++を実行するか、ls -l $(which g++)を使用してg ++シンボリックリンクを実行すると、実際のデフォルトパッケージが何であるかを確認できます。または、readlinkを使用して、リンクを自動的にたどることができます。

Sudo apt-get install --reinstall $(readlink $(which g++))
3
steeldriver