*libstdc++.a が無い [#m2135e02]
- ページ: 不具合報告/4.7
- 投稿者: Misty
- 優先順位: 低
- 状態: 完了
- カテゴリー: 不具合報告
- 投稿日: 2009-10-18 (日) 12:58:47
- バージョン:
メッセージ †
gcc_g++ パッケージに libstdc++.a が含まれていないようです。
触発されて VirtualBox を make してみようと思ったんですが、
configure が通りません。
- おつきあい ありがとうごさいます。指摘どおり手元のテスト版gcc_g++-4.4.2にはlibstdc++.aがありました。gcc_g++-.4.3.4を作り直してみるのとどちらが良いか迷っています。 -- 名倉
- gcc-4.4.x だとまた若干パッチが必要なソースが増えているっぽいので、とりあえず gcc-4.3.4 のままでいいんじゃないでしょうか。gcc-4.3 系はとにかく例がたくさんありますから。 -- Misty
- たしか一つ前のgcc_g++-4.3.4-i586-P2.tgzならlibstdc++.a入っていたような? -- 名倉
- Plamo-4.6 の gcc_g++-4.3.4-i586-P2.tgz に入ってました。libstdc++.a のみ抜き出してインストールして、iasl と libcap と pulseaudio を適当にインストールすると、configure が通って make 出来ました。以前は 2.2.4 だったんですが、3.0.8 でもインストールしてあった Ubuntu-9.04 が起動出来ました。応急処置でも十分っぽいです。 -- Misty
- 最近は、PlamoBuildスクリプトで --disable-static して *.a は作らないようにしているのでその影響でしょう。最近だとシンボル名の解決は*.soで十分だから、*.aを使うのはstatic linkなバイナリを作る場合くらいだろうと思って *.a はパッケージ化しないようにしているのだけど、何につかってるんだろ? > VirtualBox -- kojima
- おもいだした。手元では今回以前にgcc_g++-4.3.4-i586-P3.tgzのマシンでVirtualBox(--disable-pulseaudio)コンパイル,画面表示できました。Plamo-4.7-2009/10/09 01_minimum + 02_x11 qvwm上です。libstdc++.aで引っかかった記憶ないです。 -- 名倉
- configure からの抜粋ですけど # Check whether static libstdc++ is installed. This library is required # for the Linux guest additions. なので、ゲストアディションの機能を犠牲にすれば make 出来るのかも知れませんが、それにしても --disable-pulse のようなオプションが無いので、configure を通すにはそこを削るしかないような…。出来れば libgcc パッケージの方にでも残しておいていただけると助かるかも知れません。 -- Misty
- すいません--disable-pulseaudioはまちがいでした--disable-pulseが正しいようです。このオプション./configure --helpにおしえてもらったので裏技ではないようです。なぜか手元ではlibstdc++.aがなくてもconfigue makeが通ってしまったマシンが存在してしまったようです。 -- 名倉
- configure のチェックを取っ払ってしまっても make は出来るようです。その場合 /usr/lib/virtualbox/additions/VBoxClient が /usr/lib/libstdc++.so.6 を参照するようになっています。C++ は ABI 問題?が出るので、微妙な部分はスタティックライブラリを優先的に参照するようにしているんでしょうか。 -- Misty
- 手元ではconfigureのチエックは外していません./configure --disable-pulseのみです。参考にならないかとseamonkey-2.0rc2,seamonkey-1.1.18をPlamo-4.7からなるべく手をいれないものとgcc-4.4.2のものでコンパイルしてみましたが時間のむた゜のようでした。seamonkey-1.1.18 Plamo-4.6 -> Plamo-4.7でC++のコンパイルエラーではまったので。 -- 名倉
- gcc_g++-4.3.5-i586-P1 では /usr/lib/libstdc++.a が含まれています。 -- misty
- 完了とさせていただきました。 -- 名倉