Mozilla on Solaris FAQ

質問やコメントは news://news.mozilla.org/netscape.public.mozilla.unix

著者: Chris Mcafee <mcafee@netscape.com> およびDan Mosedale <dmose@mozilla.org>


  1. Solaris 2.6で必要なパッチ
  2. 何のコンパイラを利用すれば良いのですか?
  3. How do I switch between two compilers?
  4. "Gdk-WARNING **:shmat failed!"のエラーメッセージ
  5. Cross-compiler plugin/module compatibility, vtables, and name-mangling

  1. 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"エラーでスタートアップ時に失敗する所で、これはその問題を解決するでしょう。

  2. 何のコンパイラを利用すれば良いのですか?
    動作確認が取れている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
  3. Classic compiler, lots of support on many platforms.
  4. Purify support
  5. Weak C++ support, defines LCD for tinderbox right now. More-recent versions not rock solid yet.
    egcs
  6. Benefits from linux coverage.
  7. No purify
  8. Can't step in debugger
  9. WS4.2
  10. dbx has better threading support and is more reliable than gdb, as well as purify-like memory checking.
  11. Purify support
  12. $$ Picky compiler, some bugs, mostly worked-around with autoconf.
    WS5.0
  13. dbx has better threading support and is more reliable than gdb, as well as purify-like memory checking.
  14. Purify support
  15. Built-in performance tools
  16. $$ Some 4.2 bugs fixed, some new ones. Builds are painfully slow

  17. 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"スイッチで構築したいと思うでしょう、あるいは手動でパッチを適用して下さい。

  18. 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を引きいれようとして、構築が失敗するかも知れません。

  19. "Gdk-WARNING **:shmat failed!"エラーメッセージ

    もしパフォーマンス向上するように構成するために--enable-x11-shm オプションをつけて構築を行ったならば、 前述のエラーメッセージを目にするかも知れません。 幾つかの(全ての?)ヴァージョンのSolarisでは、 割り当てることができる共有メモリ番号の1プロセス当たりの限界は6です。 このエラーが生じるとき、GDKは降参し、共有メモリを全く使用しないことを決定します (Mozillaがなお良く機能するだろうということを意味しますが、それはいかなるスピードアップも見られないでしょう)。 /etc/system に次の行を加え:

     set shmsys:shminfo_shmseg = 10
    
    次にマシンをリブートすることによりこの問題の周りは働く。 詳細はbug 10498を参照して下さい。

  20. Cross-compiler plugin/module compatibility, vtables, and name-mangling issues

    これらの問題はなおfleshed outされています。 より多くの論議に関してはbug 20297を参照して下さい。