質問

Asus EeepC NetbookでUbuntu 11.04にアップグレードしたばかりで、G ++に問題があります。 ioStream、cstdio、またはstdio.hを使用するかどうかにかかわらず、G ++を使用して、単純な「Hello World」を使用してプログラムをコンパイルすると、メッセージで失敗します。

/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/libstdc++.so: undefined reference to `_Unwind_GetIPInfo@GCC_4.2.0'
collect2: ld returned 1 exit status

シナプスパッケージマネージャーを使用しています。アップグレードの前に、UbuntuはGCC 4.4を提供しましたが、別のリポジトリを介してGCC 4.5(GCC-4.5)もインストールしていました。 GCC 4.5は、Ubuntu 11.04のデフォルトになりました。

問題はlibgccに関係するかもしれないと思います。 GCCの再インストールを試みましたが、LIBGCCを削除することはできませんでした。まず、シナプスパッケージマネージャーで、どこかに壊れたパッケージがあると報告し、私の試みを止めました。しかし、LIBGCCを削除するには、APTやFirefoxを含むほぼすべてのアプリケーションの削除が必要になることにも注目しました。

GCC-Snapshotパッケージも試しました。残念ながら、上記の同じエラーが表示されます。

Synaptic Package Managerを使用して、G ++の最近の動作バージョンを取得する方法はありますか?

役に立ちましたか?

解決 2

GCC-4.6は、libgcc.aの古い、互換性のないバージョンを見つけていました $LIBRARY_PATH;私の場合、それは最初のエントリでもありました $LIBRARY_PATH. 。エントリはそうでした $G95/g95-install/lib/gcc-lib/i686-unknown-linux-gnu/4.0.3/ G95 Fortranコンパイラに関連しています。私はしばらく前に、それを自分で行っていましたが、その時点で、C ++プログラムを同じディレクトリのLibfortran.Aライブラリにリンクすることがよくあります。このエントリを削除すると、私の問題が解決しました。将来的には、そのような状況に合わせて-LスイッチをGCCに使用します。

他のヒント

手術という言葉: -reinstall

sudo apt-get install libstdc++ --reinstall

破損していると思われるすべてのパッケージを追加します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top