Mozilla on Solaris FAQ
質問やコメントは news://news.mozilla.org/netscape.public.mozilla.unixへ著者: Chris Mcafee <mcafee@netscape.com> およびDan Mosedale <dmose@mozilla.org>
- Solaris 2.6で必要なパッチ
- 何のコンパイラを利用すれば良いのですか?
- How do I switch between two compilers?
- "Gdk-WARNING **:shmat failed!"のエラーメッセージ
- Cross-compiler plugin/module compatibility, vtables, and name-mangling
-
Solaris 2.6で必要なパッチ
-
Fix for 定義されていない _XlcCompileResourceListシンボル at runtime:"の調整
([Thanks to mhw@mft.co.uk]
これはSunSolveのバグレポート#4239074に見られます、パッチはありません, 代替手段が提案されています:
ファイル : /usr/openwin/lib/locale/iso8859-1/XI18N_OBJS を編集します この行を削除します < XOM xomEuro _XomGenericOpenOM # XOM_open この行を追加します > XOM common/xomLTRTTB _XomGenericOpenOM # XOM_open
より多くの議論に関しては17221を参照して下さい。 - 2.6 recommended patch clusterの最新ヴァージョンを入手して下さい。 このパッチクラスタなしでは恐らくしっかりと(もしかしたら全く)Mozillaは機能しません。他の事象の中では、Mozillaが"Wrong Architecture"エラーでスタートアップ時に失敗する所で、これはその問題を解決するでしょう。
-
Fix for 定義されていない _XlcCompileResourceListシンボル at runtime:"の調整
- 何のコンパイラを利用すれば良いのですか?
動作確認が取れている4つのコンパイラ: gcc-2.7.2.3, egcs, WS4.2, WS5.0があります。 これらには全て兼ね合いがあり、まだちょうど明確なleaderはありません。Tinderboxは現在gcc-2.7.2.3で構築を行っておりますし、何人かのSolarisの貢献者は幾つかの成功例と共にWorkshop 4.2コンパイラを利用しています。
Compiler Good Bad Notes gcc 2.7.2.3 - Classic compiler, lots of support on many platforms.
- Purify support
Weak C++ support, defines LCD for tinderbox right now. More-recent versions not rock solid yet. egcs - Benefits from linux coverage.
- No purify
- Can't step in debugger
WS4.2 - dbx has better threading support and is more reliable than gdb, as well as purify-like memory checking.
- Purify support
$$ Picky compiler, some bugs, mostly worked-around with autoconf. WS5.0 - dbx has better threading support and is more reliable than gdb, as well as purify-like memory checking.
- Purify support
- Built-in performance tools
$$ Some 4.2 bugs fixed, some new ones. Builds are painfully slow - How do I switch between two compilers?
gnuコンパイラと非gnuコンパイラの両方がpathに入っていたら、gnuコンパイラがconfig testで勝つでしょう。これを無効にする、あるいは貴方がpathに入っている幾つかのコンパイラの中からコンパイラを指定するには、貴方が使用したいコンパイラを差すように環境変数CCおよびCXXをセットします。:
# Example to override gcc install with WS5.0 using the WS 4.x # compatibility flag setenv CC /usr/local/workshop/SUNWspro/bin/cc setenv CXX "/usr/local/workshop/SUNWspro/bin/CC -compat=4" ./configure
さらに、貴方がWorkShopコンパイラのうちの1つを使用しており、貴方のLD_LIBRARY_PATHセットがあれば、WUNWsproライブラリの位置は、任意のGNU g++ライブラリの位置よりLD_LIBRARY_PATHの前の方へ必ず接近させて下さい。動でなければ、間違っているlibiostreamを引きいれようとして、構築が失敗するかも知れません。 -
"Gdk-WARNING **:shmat failed!"エラーメッセージ
もしパフォーマンス向上するように構成するために--enable-x11-shm オプションをつけて構築を行ったならば、 前述のエラーメッセージを目にするかも知れません。 幾つかの(全ての?)ヴァージョンのSolarisでは、 割り当てることができる共有メモリ番号の1プロセス当たりの限界は6です。 このエラーが生じるとき、GDKは降参し、共有メモリを全く使用しないことを決定します (Mozillaがなお良く機能するだろうということを意味しますが、それはいかなるスピードアップも見られないでしょう)。 /etc/system に次の行を加え:
set shmsys:shminfo_shmseg = 10
次にマシンをリブートすることによりこの問題の周りは働く。 詳細はbug 10498を参照して下さい。 -
Cross-compiler plugin/module compatibility, vtables, and
name-mangling issues
これらの問題はなおfleshed outされています。 より多くの論議に関してはbug 20297を参照して下さい。
Workshop 5.0を利用するときは、Sunからコンパイラーパッチの最近のコピーを必ず得てください。 この文章を書いている時点では、32-vitマシンにおいて、これは少なくとも次のパッチを要することを意味します:
107289-03 107295-01 107311-07 107357-05 107740-01 107742-01(少なくとも)WorkShop 5,0を備えたSorasi 2.6においては、C++のランタイムライブラリのパッチ(105591, rev -07 or later)が更に要求されます。貴方がコンパイルしたコードを実行したい誰でも同様にこのパッチを必要とするでしょう。
さらに、bug 20297の中のパッチがCVSに送り込まれるまで、WorkShop 5.0の ユーザは確かめたく、"-compat=4"スイッチで構築したいと思うでしょう、あるいは手動でパッチを適用して下さい。