f4title.gif

Firefox4 libstdc++.so.6: version `GLIBCXX_3.4.9′ not found      2011年3月30日(水)


CentOS5.5 と Firefox4.0

新しもの大好きな管理人のことですので、早々に CentOS5.5 とWindows XP Pro の方へ Firefox4 の rc が出たと聞いてインストールしてみました。
インストールしてあれこれあれこれいじくりまわししているうちに rc2 となり、ついに正式版リリースとなってしまいました。
( そんなに長い間弄繰り回して遊んでいた覚えはないんだけれど・・・・?? )



CentOS5.5 に Firefox4.0 の起動時のメッセージ

CentOS5.5 で Firefox4.0 をダウンロードして解凍・展開をします。
このページに使われているイメージのスタイルは初期状態ではありません。私の CentOS5.5 のテーマが firefox にも反映されていますので、ご承知おきください。


ダウンロードした firefox4.0.tar.bz2 のパッケージ上で右クリックをし、" ここに展開する " を選択してクリックします。
展開


同じ場所へ " firefox " のディレクトリができますので、 このディレクトリの中へ入ってみると " firefox " と " firefox-bin " と名前のついた2つの実行ファイルがあります。 " firefox " と名前のついている実行ファイルは、 firefox の起動用のシェルであり、本体は firefox-bin の方になります。
firefox を起動させるには firefox の起動用のシェルである " firefox " と名前のついた実行ファイルをクリックすればよいことになります。

firefox本体



というわけで " firefox " という名前の起動用シェルを実行させて Firefox4.0 を起動させようとしたら、 以下のようなメッセージが出力されて起動できませんでした。


/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9′ not found (required by /opt/firefox4.0/libxul.so)


CentOS5.5 の libstdc++.so.6 には GLIBCXX_3.4.9 が見つからないよ、といわれてしまいました。
CentOS5.5 の libstdc++.so.6 は GLIBCXX_3.4.8 までですから、libstdc++ のバージョンが低く、 libxul.so とのバランスが取れないということのようです。






libstdc++.so.6: version `GLIBCXX_3.4.9′ を捜し求めて・・・・


大方のライブラリは /usr/lib 配下にあるので /usr/lib で問題のファイルを探してみます。
標準の libstdc++.so.6 は以下のように同じディレクトリ内のファイルへのシンボリックリンクとなっています。


ls -la | grep libstdc++
libstdc++.so.6 -> libstdc++.so.6.0.8


strings コマンドで標準バイナリ中の文字列を確認してみると以下のことがわかりました。
( つまり" GLIBCXX_3.4.9 " は、ない ! と・・・ )


 # strings libstdc++.so.6.0.8 | grep GLIBCXX
 GLIBCXX_3.4
 GLIBCXX_3.4.1
 GLIBCXX_3.4.2
 GLIBCXX_3.4.3
 GLIBCXX_3.4.4
 GLIBCXX_3.4.5
 GLIBCXX_3.4.6
 GLIBCXX_3.4.7
 GLIBCXX_3.4.8
 GLIBCXX_FORCE_NEW



web 上で検索をかけて探してみると、LibreOffice に含まれているという情報が見つかりましたので、 さっそく http://www.libreoffice.org へ飛んで LibreOffice をダウンロードしました。
( LibreOffice のインストールについては こちら をごらんください。)

LibreOffice をダウンロードして解凍してみると、複数の rpm パッケージが展開されてしまいました。 横着の限りをつくし、この中からお目当ての " libstdc++.so.6 " を見つけ出します。 " libstdc++.so.6 " ライブラリは " libreoffice3-ure-1.7.0-202.i586.rpm " にあることがわかりましたので、 これを " rpm2cpio " コマンドで展開します。


 # rpm2cpio libreoffice3-ure-1.7.0-202.i586.rpm | cpio -id

展開されたディレクトリを追っていくと、" /opt/libreoffice/ure/lib " 以下に " libstdc++.so.6 " が見つかりました。 確認のため、このライブラリを " strings " コマンドで調べてみます。


strings libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_FORCE_NEW


ちゃんと 3.4.9 が含まれていました。
では、今度はこのライブラリを /usr/lib/ 配下に配置するのですが、 /usr/lib にはもともとシンボリックリンクの " libstdc++.so.6 " が存在していますから、それを先に削除します。

※ ただし、ここで注意していただきたいのは、もともと入っている " /usr/lib/libstdc++.so.6 " を参照としているものは他にもありますので、これを入れ替えることでどこでどんな不具合が出てくるか保障の限りではありません。ここでは、あくまでも検証用テストとして行なっていることをご承知おきください。

 # rm /usr/lib/libstdc++.so.6


シンボリックリンクを削除してもいいか、と聞いてくるので " yes " をします。
( シムリンクへの rm は実体ファイルは残ります。オリジナルは " libstdc++.so.6.0.8 " であり、そのまま残っています。)

上記の操作が終了したら、 LibreOffice から抽出した " libstdc++.so.6 " を /usr/lib/ へコピーします。


 # cp libstdc++.so.6 /usr/lib/


そして最後にライブラリファイルのパーミッションを確認し、もし755 になっていなかったら chmod コマンドで 755 にしておきます。


 # chmod 755 /usr/lib/libstdc++.so.6


ライブラリファイルを変更しているので、念のため reboot でシステムを再起動後、もう一度 firefox4 の実行ファイルをクリックするか端末で以下のように入力してEnterキーを押して起動させてみます。
(この時、Firefox4 の実行ファイルが置いてあるディレクトリ内まで cd ( 移動 ) しておきます。)


 # ./firefox

CentOS5.5 の firefox4.0 起動しました。
start.png


CentOS5.5 の firefox についての画面です。
aboutl.png


※ この方法を使って libstdc++.so.6 を新しくした場合、前のバージョンの firefox の動作保障はありません。



Firefox4.0の設定

firefox4 の初期起動画面です。

settei001.png



firefox の " 設 定 " をします。Windows ではオプションと呼ばれています。
最初の " 一 般 " ではホームページ、ダウンロードの場所やダウンロード時の動作表示、アドオンの管理などを設定します。

settei002.png



Tab の動作や表示などの設定をします。

settei003.png



java やボップアップウインドウ、画像などの動作・表示の設定をします。また、サイトごとの設定もできます。

settei004.png



プログラムをなにで開くか、実行させるのかの設定などをします。
ほとんどのものは滅多に変更することはありません。ただ、時々 RSS ファイルを何で開くか? などと聞いてくることもあるようですが・・・。

settei005.png



各履歴、Cookie 、ロケーションバーなどの設定ができます。
特に履歴と Cookie に対しては、例外サイトや設定のボタンを押すともう少し細かく設定ができます。

settei006.png



ここはセキュリティの設定です。
"アドオンのインストールを求められたときに警告" にチェックを入れてしまうと、いちいち聞かれることになるので、 絶対このサイトは大丈夫と思ったら、許可サイトとして登録しておくということもできます。

settei007.png



前のバージョンではアドオンとしてあった機能です。 firefox4.0 では標準装備となりました。
" Sync " は ブックマーク、履歴、パスワード、さらには開いているタブまで、 複数のパソコンやスマートフォンで Firefox のデータを安全に同期できる無料サービスだそうです。
http://mozilla.jp/firefox/mobile/sync/ 参照

settei008.png



詳細の中の一般の設定です。閲覧中のページの動作の利便性の設定などです。

settei009.png



詳細の中のネットワークの設定です。ここでプロキシの設定もします。
初期状態の " localhost " は内部ネットワークのことであり、 " 127.0.0.1 " という IP は自分自身という個を指すものです。
(つまり、今このページを閲覧しているあなたのマシン自身です。)

settei010.png



更新するものの設定になります。

settei011.png



ここは暗号化をするかどうかの設定になります。

settei012.png




カスタマイズ

firefox4 の Tab の上か Tab バー上で右クリックをします。

start.png



下のようなメニューが表示されますので、ちょっといじってみてください。

style004.png      style002.png



メニューバーを非表示にして、Tab バーを上に持ってきてみました。
元へ戻すには、同じように右クリックしたメニューで今設定したところをもう一度クリックしなおせば元へ戻ります。

style003.png



メニューの " 表 示 " からツールバー → カスタマイズ と選択していくといろいろなアイコンの一覧が表示されます。
これを表示したい位置までドラッグ & ドロップで引きずっていくとその位置へ動かしたアイコンが表示されます。

hyouji001.png



前のバージョンまであった " ブックマークの管理 " という項目はありません。代わりに " すべてのブックマークを表示 " に変わりました。
メニューバーを非表示にしたときには Ctrl + B キーでブックマークが表示されます。

bookmark001.png



また、ページのソースを見てみたい場合には、ページ上で右クリックして " ページのソースを表示 " を選択します。

page001.png



ソースが表示されましたが、長い行があるため横スクロールバーが表示されていて読みにくいことがあります。

page002.png



ソースが表示されているページの左上の方にアイコンが4つあります。
ファイルメニュー、編集メニュー、表示メニュー、ヘルプメニューですが、その表示メニューに長い行を折り返すという項目があります。

page003.png



" 長い行を折り返す " を選択すると、長い行は折り返して表示されるようになりますので、横スクロールは消えました。

page004.png



また、ページの情報などを見てみたいときには、ページ上で右クリックして表示させたコンテキストメニューから " ページの情報を表示 " を選択します。 それぞれの Tab ごとにいろいろな情報を表示してくれます。

page005.png






例えば私のページのように縦に長いページから自分の欲しい情報を探し出すのは大変だと思うのですが、このような時に使う機能で、" ページ内検索 " です。 Ctrl キーを押したまま、アルファベットの " F ( エフ ) " キーを押すとブラウザ画面の下にサーチボックスが表示されます。 そこへ検索する言葉を入力して検索をすれば表示してくれます。

page-search.png

アドオン

" アドオン " または " 拡張機能 " などともいいます。そのとおり機能を拡張するためのツールなどです。
例えば、こんな機能がほしいんだけど・・・? などと言う時には https://addons.mozilla.jp/firefox/extensions/ をのぞいてみてください。 また、firefox のまとめサイト などもあります。


メニューバーが表示されていれば、 " ツール " メニューから " アドオン " を選択すればアドオンタブが表示されますし、 下の画像のようにメニューバーを非表示にしてある場合には、ウインドウのタイトルバーの左側に表示されている " Firefox ▼ " を クリックすればメニューが表示されますので、そこから " アドオン " を選択します。

ad-on002.png



firefox4.0 のアドオンタブです。firefox4.0 では、前のバージョンのようにダイアログで別表示されることなくタブで表示されます。
もちろん、前のバージョンのように別ダイアログで表示させるには、アドオンを使えば可能になります。

ad-on003.png


下の画像は " Add-ons Manager Dialog for Firefox 4 1.0b1pre " というアドオンを入れて、タブではなく、前のバージョンのように別に表示させてみたものです。 このアドオンのページは https://addons.mozilla.jp/firefox/details/268721 になります。

ad-on006.png



下はテーマのタブページです。Personas などもここへ入ります。

ad-on004.png



もしも、アドオンなどで、拡張子が " .xpi " のファイルなどでしたら、この下の画面のようにオプションボタンをクリックすると " ファイルからアドオンをインストール " を選択して " .xpi " のファイルを指定してやればバージョンさえあっていればインストールができると思います。

ad-on005.png



さて、ざっと駆け足で firefox4.0 を見てきましたが、どんなものでしょうか?
でも、やっぱり使いなれたものが一番なのですが、新しいものも使い慣れてしまうと、やっぱり手放せなくなって・・・・・


以下、私が使っているアドオンです( Windows , CentOS まぜこぜになっています )。
Add-ons Manager Dialog for Firefox 4 1.0b1pre , Auto Pager , Context Highlight , CuteButtons - Crystal SVG , Firebug , Firebug Autocompleter , FirePHP , Firepicker , fDebug Client (Firefox4 には2011年4月5日現在まだ未対応のようです。) , Flashblock , Google Docs Viewer (PDF, DOCX, PPTX, XLSX, etc...) , gPDF , JSONView , JSONovich , JSView , Last Tab Close Button , Open With , User Agent RG , Vertical Toolbar , View Dependencies , Link And Forminfo , View Image (Filename) , 宅配便の配達状況