Building Mozilla SeaMonkey with new Sun Studio Compiler on Solaris Nevada x86

Solaris Nevada x86 上で Sun Studio Express 3 を使って Mozilla SeaMonkey をビルドしてみました。

普通に Sun Studio 11 と同様の 手順でビルドは成功しました。以下は about:buildconfig の結果です。



3つほど注意点をメモしておきます。

Mozilla 側のバグ、
  • Bugzilla 323562: Should find Xrender, freetype2, fontconfig using pkg-config
は直っていません。-L/usr/sfw/lib の追加が必要でした。

Solaris Nevada は Sun OS 5.11 なので次のファイルが必要でした。
ただこのファイルはなぜか SeaMonkey 1.0.7 のソース tarball には入っていませんでした。なのでソースは cvs から引っ張ってきたものを使うことにしました。

Sun Studio 11 でも最初のリリースで発生していたのですが -xO3 付きだとコンパイラ自体がエラーになる箇所がありました。これはバグ 6513361 としてバグレポートしておきました。このファイルだけは -xO をはずしてコンパイルしました。
  • content/xslt/src/xpath/txMozillaXPathTreeWalker.cpp

ビルドに使用したオプションの詳細は次の通りです。 以下のように環境変数を設定しました。
set path=(. /opt/SUNWspro/bin /usr/sfw/bin /opt/sfw/bin /usr/ccs/bin /usr/bin)

setenv MOZ_CO_PROJECT suite
setenv CC /opt/SUNWspro/bin/cc
setenv CXX /opt/SUNWspro/bin/CC
setenv MAKE /usr/sfw/bin/gmake
.mozconfig です。SeaMonkey なので suite と指定します。デフォルトのツールキットは今まで gtk2 を指定していたのですが cairo-gtk2 を指定できるようですね。
mk_add_options MOZ_CO_PROJECT=suite
ac_add_options --enable-application=suite
#
ac_add_options --enable-xft
ac_add_options --enable-svg
ac_add_options --enable-canvas
ac_add_options --enable-optimize=-xO3
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --enable-shared
ac_add_options --disable-auto-deps
ac_add_options --disable-freetype2
ldd の結果です。
% ldd seamonkey-bin
	libpthread.so.1 =>	 /lib/libpthread.so.1
	libxpcom_core.so =>	 ./libxpcom_core.so
	libplc4.so =>	 ./libplc4.so
	libnspr4.so =>	 ./libnspr4.so
	libdl.so.1 =>	 /lib/libdl.so.1
	libgtk-x11-2.0.so.0 =>	 /usr/lib/libgtk-x11-2.0.so.0
	libgdk-x11-2.0.so.0 =>	 /usr/lib/libgdk-x11-2.0.so.0
	libX11.so.4 =>	 /usr/openwin/lib/libX11.so.4
	libCrun.so.1 =>	 /usr/lib/libCrun.so.1
	libc.so.1 =>	 /lib/libc.so.1
	libplds4.so =>	 ./libplds4.so
	libm.so.2 =>	 /lib/libm.so.2
	libthread.so.1 =>	 /lib/libthread.so.1
	librt.so.1 =>	 /lib/librt.so.1
	libsocket.so.1 =>	 /lib/libsocket.so.1
	libnsl.so.1 =>	 /lib/libnsl.so.1
	libgdk_pixbuf-2.0.so.0 =>	 /usr/lib/libgdk_pixbuf-2.0.so.0
	libgmodule-2.0.so.0 =>	 /usr/lib/libgmodule-2.0.so.0
	libglib-2.0.so.0 =>	 /usr/lib/libglib-2.0.so.0
	libgobject-2.0.so.0 =>	 /usr/lib/libgobject-2.0.so.0
	libatk-1.0.so.0 =>	 /usr/lib/libatk-1.0.so.0
	libcairo.so.2 =>	 /usr/lib/libcairo.so.2
	libpango-1.0.so.0 =>	 /usr/lib/libpango-1.0.so.0
	libpangocairo-1.0.so.0 =>	 /usr/lib/libpangocairo-1.0.so.0
	libXrandr.so.2 =>	 /usr/X11/lib/libXrandr.so.2
	libXrender.so.1 =>	 /usr/sfw/lib/libXrender.so.1
	libXi.so.5 =>	 /usr/lib/libXi.so.5
	libXext.so.0 =>	 /usr/lib/libXext.so.0
	libfontconfig.so.1 =>	 /usr/lib/libfontconfig.so.1
	libmlib.so.2 =>	 /usr/lib/libmlib.so.2
	libXau.so.6 =>	 /usr/openwin/lib/libXau.so.6
	libmp.so.2 =>	 /lib/libmp.so.2
	libmd.so.1 =>	 /lib/libmd.so.1
	libscf.so.1 =>	 /lib/libscf.so.1
	libfreetype.so.6 =>	 /usr/sfw/lib/libfreetype.so.6
	libpng12.so.0 =>	 /usr/lib/libpng12.so.0
	libz.so.1 =>	 /usr/lib/libz.so.1
	libpangoft2-1.0.so.0 =>	 /usr/lib/libpangoft2-1.0.so.0
	libexpat.so.0 =>	 /usr/sfw/lib/libexpat.so.0
	libuutil.so.1 =>	 /lib/libuutil.so.1
	libgen.so.1 =>	 /lib/libgen.so.1
	/usr/lib/libmlib/libmlib_sse2.so.2
% 
Comments:

Post a Comment:
Comments are closed for this entry.
About

NetBeans Globalization

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today