
Ubuntu日本語フォーラム

ログインしていません。
いつもお世話になります。
Cコンパイラをインストールする際に、必要なパッケージ libstdc++.so.5が見つからず困っています。
このコンパイラをインストールしたくて、Ubuntu10.04に乗り換えました。(業者から、「Fedoraなら9が動作保障されています」と言われました)
インストール中に以下のエラーメッセージが出ました。
インストールに必要な次のコマンドがありません。
g++;libstdc++.so.5 (library)
覚えたてのsynapticを使って、パッケージのインストールを試みましたが、g++はパッケージがありましたが、libstdc++.so.5は見つかりませんでした。
気になったのは、g++のパッケージの中に、libstdc++6なるものがあったことです。
Ubuntuのインストールしたバージョンが新しすぎて、問題なのでしょうか。
Ubuntuフォーラムにlibstdc++.so.5に関連する記事があったので読んだのですが、私の知識が不足していて、自分の問題にどう適用してよいかわかりませんでした。
よろしくお願い致します。
オフライン
パッケージを検索してみましたが古いバージョンしかダメっぽいです。
i386はjaunty(9.04だったっけ?)までです。
amd64は現行バージョンでも目的のファイルを含むパッケージの提供が有る様です。
[ファイルのディレクトリ] [パッケージ名]
/usr/lib/libstdc++.so.5 libstdc++5
/usr/lib32/libstdc++.so.5 ia32-libs [i386 以外]
Fedora、Ubuntu共にOSのバージョンを下げなければいけないのかも。
(業者がFedora9と言っているだけで現行のバージョンでも対応しているかも)
ネット上では10.04でlibstdc++.so.5の文字を見かけます(英語)、何か良い情報があるかもしれません。
「Ubuntuフォーラムにlibstdc++.so.5に関連する記事」のURLもあると情報が出やすくなると思います。
オフライン
debian のパッケージを入れてください。
http://packages.debian.org/stable/base/libstdc++5
それで、問題なく動くはずです。
オフライン
http://www.hackourlives.com/ubuntu-10-04-lucid-lynx-libstdc-so-5/
Ubuntuの古いのも使っても大丈夫と言う情報がありました。
オフライン
petitbootangさん、hiro0さん、コメントありがとうございます。
hiro0 による投稿:
http://www.hackourlives.com/ubuntu-10-0 … stdc-so-5/
Ubuntuの古いのも使っても大丈夫と言う情報がありました。
この情報を聞いて安心しました。10.04のまま、libstdc++5をインストールしてみる方向で進めたいと思います。
以下、質問させてください。
petitbootang による投稿:
debian のパッケージを入れてください。
http://packages.debian.org/stable/base/libstdc++5
それで、問題なく動くはずです。
すでに、libstdc++6をインストールしてしまっているのですが、これはアンインストールする必要があるでしょうか。
アンインストールもsynapticでできるのでしょうか。
また、petitbootangさんからご紹介いただいたページによれば、
Debian を使用している場合、パッケージのダウンロードやインストールはこのウェブサイトから手動で行うのではなく、aptitude や synaptic のようなパッケージマネージャを用いて行うことを強くお勧めします。
次のような行を /etc/apt/sources.list に追加して、以下の一覧にあるミラーのうち使いたいものを利用可能にすべきでしょう。
deb http://ftp.de.debian.org/debian lenny main
とあるのですが、この作業は、Ubuntu10.04においても、同様にsources.listを変更して、synapticでlibstdc++5を検索しても問題ないでしょうか。
Ubuntuフォーラムの他のところの議論にも、sources.list のdebの行を変更している事例があったのですが、 lenny というオプション(?)の行はリストに上がっていなかったので、debian固有のことなのかもしれないと思い、
作業してよいものかどうか迷っています。
ご指導よろしくお願いします。
オフライン
debian のリポジトリを追加することはやめといてください。
あとで色々と問題が出ることがあるので、パッケージだけ落としてインストールしてください。
libstdc++6 とは別のライブラリだったはず・・・、で問題ないはずですが・・・。
済みません、今、周りのマシンが全部、田なので、やってみることが出来ません。
他にアドバイスがあるかもですが。
オフライン
素直にHardy(Ubuntu 8.04)に入れ直すか、Lucid用にビルドされているという意味で、
https://launchpad.net/~jason-scheunemann/+archive/ppa?field.series_filter=lucid
あたりから導入する方が、安全なような気がします。
オフライン
hmatsue さん
PPA にあるのって、amd64.deb ですね。
keki さんの環境が 32bit なのか 64bit なのか分からないのであれですが。
jaunty 用のパッケージがあったので、これを入れてはどうでしょうか?
http://packages.ubuntu.com/jaunty/libstdc++5
試しにやってみましたが、10.04 でも問題なく入ります。
オフライン
petitbootangさん、hmatsueさん、コメントありがとうございます。
petitbootang による投稿:
hmatsue さん
PPA にあるのって、amd64.deb ですね。
keki さんの環境が 32bit なのか 64bit なのか分からないのであれですが。
jaunty 用のパッケージがあったので、これを入れてはどうでしょうか?
http://packages.ubuntu.com/jaunty/libstdc++5
試しにやってみましたが、10.04 でも問題なく入ります。
説明不足でもうしわけありませんでした。PCは、32bitです。
Hmatsueさんのご紹介のページには、lib32stdc++5なる、32bit用を思わせる名前のものはあります。
ただ、具体的にこのページでダウンロードすべきファイルへのリンクにたどり着けませんでした。
まず、私がご提案が正しく理解できているかどうかの、確認させてください。
Hmatsueさんの#7では、Hardy(Ubuntu 8.04)の再インストールか、
Lucid用(10.04用)のPPA(?)のご提案を頂きました。
petitbootangさん#8では、jaunty 用のパッケージ(「jaunty」とは、9.04ですね?)インストール10.04でもOKとのご提案を頂きました。
これらのご提案の私の理解では、拡張子debのファイルは、9.04で動けば、10.04でも大丈夫。
c++.so.5にとっての本来のバージョンは、8.04である。
「8.04」と、「9.04と10.04」は、根本的に開発の思想(段階?)が違う。←意味は分かっていませんが、使えるソフトのバージョンなどが。
という意味と思っていますが、間違っていませんか?
このようなパッケージをどこかのページからダウンロードしてきて、インストールするという作業自身が初めてなもので、
一番どうするのが良いか、判断できる力が無く迷っています。
10.04に無理に9.04用の物を入れて、後で不具合がでたら困ると幹事ながらも、
8.04に移行する覚悟が決まらない理由は、以下です。
ここ数日で何度もUbuntuの再インストールをしたので、再インストールをする覚悟はできてきていますが、
せっかく10.04をインストールしたのにダウングレードするのは、素人の感覚としてはもったいない気がして、
もし、9.04用でも10.04で動くのであれば、このままの10.04を使いたいと感じます。
また、8.04に踏み切れないのは、Hmatsueさんの#7でのご紹介のLucid用のページが、
これまで見た、拡張子.debのダウンロードでよく見られるsynapticを使ってのダウンロードのページと違い、
具体的なダウンロード&インストール作業の仕方がよく分からないからです。
それから質問させてください。
petitbootangさんのご紹介のページからのリンク先である、
「Intel x86 マシン用 libstdc++5_3.3.6-17ubuntu1_i386.deb のダウンロードページ」においても、
次のような行を /etc/apt/sources.list に追加して、以下の一覧にあるミラーのうち使いたいものを利用可能にすべきでしょう。
deb http://cz.archive.ubuntu.com/ubuntu jaunty main universe
なる記述があります。
petitbootangさんの#6でのコメントで、debian用に書きなおさないほうが良いとのことでしたが、
今回は、Ubuntu用なので、sources.listを書き直しても問題ないでしょうか。
OSをインストールして環境整備する作業について、まったくの素人なので、
どうぞ、コメントをよろしくお願いします。
オフライン
すいません。
勘違いをしていました。
https://launchpad.net/~jason-scheunemann/+archive/ppa?field.series_filter=lucid
で配布されているのはamd64のものでした。。
ご指摘多謝です > petitbootangさん
しかも、amd64ならia32-libsでいけると#2のhir0さんの投稿にありましたね。
jaunty用のパッケージは既にメンテナンスされていないはずで、なにかしらかの不具合があったとしても放置されてしまう恐れがありますし、例えばhardy(8.04)などでメンテナンスが継続されているものであったとしても、レポジトリが登録されていないと自動では更新されないのでローカルでのメンテナンスが面倒になります。
かと言って、レポジトリを混ぜるのはトラブルの元になりそうなので危険です。
なので、amd64なPCを用意してlucid amd64の上でia32-libsを試す、のが私的にはお勧めです。
あるいは動かしたいプログラムの配布元に相談して、対応方法を協議するとかでしょうか。
配布元が合意しなければ(保証してくれなければ)ダメですが、シンボリックリンクを張るだけで動いてしまうこともあるとかないとか。。
それがダメならlibstdc++6な環境でビルドしなおしてもらうとか。
そういう対応は契約外だからやらないと言われてしまったら、動作保証する環境を確認しなおして、他の環境を試してみるとか。
(fedora 9はサポート期間切れのようなので良心的なベンダなら、なにか対応してくれるような気がします)
オフライン
みなさまコメントありがとうございます。
hmatsue による投稿:
なので、amd64なPCを用意してlucid amd64の上でia32-libsを試す、のが私的にはお勧めです。
の意味が、すみません、私には理解できません。
今は、このPCしか、私が使えるものはありません。「amd64なPC」とは、64bitのPCを指すのですね?
PCが何ビットかを調べる方法はありますか?
32bitだと思っていましたが、確証があるわけではないのです。
申し訳ありません、あいまいなことで。よろしくお願いします。
オフライン
お世話になります。
自己レスになります。PCが64bitマシンでした。
(以下、先の私の投稿の引用抜粋です。
keki による投稿:
hmatsue による投稿:
なので、amd64なPCを用意してlucid amd64の上でia32-libsを試す、のが私的にはお勧めです。
32bitだと思っていましたが、確証があるわけではないのです。
PCを確認したところ、64bitマシンに32bitのUbuntuを載せていました。
これって、パフォーマンス的には、もったいないことですね?
hmatsueさんのコメントにもあるように64bitが良い(amd64が64bitPCを指すのであれば)とのことですから、
64bit用のUbuntuをインストールしなおそうとおもいます。
この場合、libc++.so.5が必要なソフトを使う私の場合、
Ubuntuのバージョンは、10.04でよいのでしょうか?それとも、
以前、hmatsueさんからご提案のあった、8.04をインストールする方がよいのでしょうか。
ご相談します。よろしくお願いします。
オフライン
スレッドを変更する必要があれば、ご指摘ください。
64bit用のUbuntuをインストールしようと思いました。
しかしi386のイメージしかありません。
ubuntu-ja-10.04-desktop-i386-20100512.iso(CDイメージ)
インストールする経過で64bitかどうかを入力するところがあったのでしょうか。
すみません。わからないままに事を進めて、混乱してしまっているかもしれません。
よろしくお願いします。
オフライン
64bit の日本語リミックスはないので、下記あたりから 64-bit PC (AMD64) desktop CD をダウンロードしてください。
http://ubuntutym2.u-toyama.ac.jp/ubuntu/lucid/
オフライン
amd64なPCと書いたのは、amd64、もしくは、Intel 64対応のCPU搭載のPCの意です。
http://ja.wikipedia.org/wiki/AMD64
http://ja.wikipedia.org/wiki/Intel_64
パフォーマンスという意味では、AMD系のCPUであれば概ね64bitの処理の方が速いようですが、Intel系のCPUでは最新のCore i7などを除き、概ね32bitの処理の方が速いようです。
処理の内容や、プログラムの書き方などによっても変わるかも知れませんので、どちらのパフォーマンスが良いかというのは一概には言えないかと思います。
また、多くのプログラムは、未だに64bit化されていないため、現時点では32bitの方が苦労は少ないかと思います。今回はlibstdc++5を使う必要があるという特殊な条件があるためamd64をお勧めしています。
8.04と10.04どちらが良いかというと、8.04のデスクトップ版のサポート期限まであと1年ほどしかないため、長期的に使うのであれば10.04の方がよいかも知れません。動かしたいソフトウェアがXを必要としないサーバ的なプログラムであるならば8.04のサーバ版を導入すれば2013年4月までサポートが提供される予定なので、8.04でもよいかも知れません。ただ、ハードウェアが新しい目のものであれば10.04の方がよいかも知れません。
Lucid 10.04 amd64でia32-libsを試してみる場合、
http://packages.ubuntu.com/lucid/ia32-libs
を見た感じでは、libstdc++5は無いような。。
https://launchpad.net/~jason-scheunemann/+archive/ppa?field.series_filter=lucid
から別途追加する必要があるかも知れません。
まずは、ソフトウェアの供給元と相談された方が良いのでは無いかと思いますが、amd64版のLucidに入れ替える方向に決まった場合、amd64版のインストールについては、petitbootangさんの投稿を参照下さい。
オフライン
話の様子では,趣味での個人使用ではない感じがしますが,会社で使用するなら引き継ぎのことも考えておかねばなりません.
レポジトリ外のパッケージを正確な知識なくインストールすると後任の方が苦労します.
つい最近 libstdc++ の互換性問題に関わった(システムを引き継いだ人が苦労していた)ので,目の前の Fedora13 で調べてみました.
libstdc++.so.5 (GCC 3.3.4 互換標準 C++ ライブラリ)を提供する
compat-libstdc++-33-3.2.3-68.i686.rpm
compat-libstdc++-33-3.2.3-68.x86_64.rpm
がレポジトリにありました.ソースパッケージ compat-gcc-32 (33 ではなくて)の情報は
http://koji.fedoraproject.org/koji/packageinfo?packageID=443
で参照可能です.
keki さん による投稿:
(業者から、「Fedoraなら9が動作保障されています」と言われました)
もしかして Fedora9 以降で動作保障と言う意味ではありませんか? そうならば Fedora 導入の検討もしたほうが良いと思います.
サポート期間の短い Fedora は業務に向かないと言われますが,
libstdc++ の件に関しては Ubuntu LTS は後方互換性を捨てているので,どっこいどっこい?
オフライン
サーッと目を通しただけなので、勘違いしていたらゴメン
全般的に、よく理解されてない様なので、出来れば、使うコンパイラ名、開発ターゲット、使うPCの具体的な型名を明示したほうが、的確なアドバイスを受けられると思う。
オフライン
お世話になります。
PCの販売元(組み立て元)に問い合わせたところ、64bit対応のCPUだが、32bitとしても使える。とのことでした。
#hmatsueさんのコメントにもありましたが、多くのプログラムは、未だに64bit化されていないとのことで、
私の能力では、64bitは使いこなせないと判断しています。
したがって、このまま32bit機として使おうと思います。
この場合、
hir0 による投稿:
#4
http://www.hackourlives.com/ubuntu-10-0 … stdc-so-5/
Ubuntuの古いのも使っても大丈夫と言う情報がありました。
や、
petitbootang による投稿:
#8
keki さんの環境が 32bit なのか 64bit なのか分からないのであれですが。
jaunty 用のパッケージがあったので、これを入れてはどうでしょうか?
http://packages.ubuntu.com/jaunty/libstdc++5
試しにやってみましたが、10.04 でも問題なく入ります。
といただいていますが、
32bit機のまま進める場合petitbootangさんのご紹介の、
http://packages.ubuntu.com/jaunty/libstdc++5
からダウンロードしても問題ないでしょうか(先ほどは、32bitとお伝えしていなかったので、念のため。)
ご相談します。よろしくお願いします。
オフライン
einundzwanzighundertsechsさんありがとうございます。
keki さん による投稿:
(業者から、「Fedoraなら9が動作保障されています」と言われました)
申し訳ありません。ソフトウェアが、サポートしていたのは、9ではなく10でした。間違いました。お詫びします。
経緯としては、
もともとFedora9を使っていて、10にアップグレード後、再インストールしようと試みましたが、proxyのせいか、
yumによるダウンロードがうまくいかず、ソフトのサポートセンターのサポートにも相談しましたが、解決できず、
ubuntuに乗り換えて、現在に至ります。
einundzwanzighundertsechsさん による投稿:
もしかして Fedora9 以降で動作保障と言う意味ではありませんか? そうならば Fedora 導入の検討もしたほうが良いと思います.
サポート期間の短い Fedora は業務に向かないと言われますが,
libstdc++ の件に関しては Ubuntu LTS は後方互換性を捨てているので,どっこいどっこい?
業者に問い合わせ中です。よろしくお願いします。
オフライン
お世話になります。
siさん による投稿:
全般的に、よく理解されてない様なので、出来れば、使うコンパイラ名、開発ターゲット、使うPCの具体的な型名を明示したほうが、的確なアドバイスを受けられると思う。
ありがとうございます。以下の通りです。
使うコンパイラ名: インテル Cコンパイラー11.1(これがうまくいけば、インテルFortranコンパイラ11.1も)
開発ターゲット:数値計算
使うPCの具体的な型名:組み立てPCなので、型名はありません。
システムモニタの結果は、以下の通りです。
Ubuntu
リリース10.04(lucid)
カーネル Linux 2.6.32-22-generic
GNOME 2.30.0
ハードウェア
メモリ: 2.4GiB
プロセッサ 0:Intel(R) Xeon(R) CPU [email protected]
(同じプロセッサが複数個あります。)
よろしくお願いします。
オフライン
http://www.xlsoft.com/jp/products/intel/compilers/ccl/index.html?tab=0
ですか?
libstdc++.so.5 さえ何とかすれば問題無いのかな?
オフライン
http://software.intel.com/file/26559
に動作確認のとれた環境がリストアップされていますね。有名どころでは、
Debian 4.0
Fedora 10
SUSE LINUX Enterprise Server 9, 10, 11
Ubuntu 9.04
などがあるようです。UbuntuではJauntyのサポート期限が切れるまでは9.04を推奨ということなのかも知れません。と言いつつ、Fedora10はサポート期限切れっぽいので判断が微妙ですが。。
http://ja.wikipedia.org/wiki/Fedora#.E3.83.90.E3.83.BC.E3.82.B8.E3.83.A7.E3.83.B3.E3.83.BB.E3.82.B5.E3.83.9D.E3.83.BC.E3.83.88.E6.9C.9F.E9.99.90.E3.81.AE.E4.B8.80.E8.A6.A7.E8.A1.A8
Ubuntu使いとしては不本意ですが、Debianの4系列か、(もし、予算が取れないのであれば)OpenSuseの11系列あたりの方がすんなりいくかも知れませんね。
Jauntyはあと半年もしないうちにサポート期限が切れるのであまりお勧めできません。。
オフライン
すいません。一点訂正。
Debianの4系(Etch)も基本的には終了のようで、現在は5系列が推奨されているようです。
オフライン
お世話になります。
einundzwanzighundertsechsさん による投稿:
もしかして Fedora9 以降で動作保障と言う意味ではありませんか? そうならば Fedora 導入の検討もしたほうが良いと思います.
問い合わせていた業者から連絡がありました。Fedoraの場合は、10のみがサポート対象とのことです。よろしくお願いします。
オフライン
お世話になります。みなさまからたくさんのコメントをいただき感謝します。Fedora10や、Ubuntsu8.04に戻らなければならないのかもしれませんが、
petitbootangさんの#8のコメント
petitbootangさん による投稿:
jaunty 用のパッケージがあったので、これを入れてはどうでしょうか?
http://packages.ubuntu.com/jaunty/libstdc++5
試しにやってみましたが、10.04 でも問題なく入ります。
にしたがって、まずは、libstdc++5をインストールしてみようと思います。
引き続きご指導よろしくお願いします。
早速につまっています。
ご紹介の「パッケージ: libstdc++5 (1:3.3.6-17ubuntu1) [universe] 」のページで、
i386をクリックし、ミラーサイト一覧のページ「Intel x86 マシン用 libstdc++5_3.3.6-17ubuntu1_i386.deb のダウンロードページ」に飛びました。
そこで、二つの作業をしました。
1. /etc/apt/sources.listの編集
以下の行を追加しました.
deb http://kr.archive.ubuntu.com/ubuntu jaunty main universe
2. libstdc++5_3.3.6-17ubuntu1_i386.debのダウンロード
*指定したミラーサイト(kr.archive.ubuntu.com/...をクリックし、「ファイルを保存」を選択.
*~/ダウンロード/に保存されているのを、以下に移動
mv ~keki/ダウンロード/libstdc++5_3.3.6-17ubuntu1_i386.deb /var/cache/apt/archives/
理由は、 find / -name '*.deb' -print とすると、全部ここにあったので、この場所に置くのだろうと判断したからです.
3. synapticでパッケージをインストール(ここでエラー)
-コンピュータをリブートし、システムーシステム管理ーsynapticマネージャ でsynapticを起動。
検索ーlibstdc++5し、パッケージをインストール(と試みました。)
しかし、何もパッケージが表示されませんでした.
ミラーサイトを選んだときに、「ファイルを保存する」以外に、「プログラムで開く(GDebi Package インストーラ(既定))
という選択肢がありましたが、パッケージは、synapticでするものなのだろうと思い、こちらは試してみていません.
他にも、webを探してみると、
ar vx libstdc++5_3.3.6-17ubuntu1_i386.deb
$ tar xzvf data.tar.gz
$ sudo install usr/lib/libstdc++.so.5.0.7 /usr/lib32
$ sudo ln -s /usr/lib32/libstdc++.so.5.0.7 /usr/lib32/libstdc++.so.5
という方法もあるようなのですが、synapticの方が安全かもしれないと思って、こちらは試してみていません.
なぜパッケージが見つからないのでしょうか.よろしくお願いします.
オフライン