トップ «前の日記 最新 次の日記» 追記

おまぬけ活動日誌

最近のツッコまれどころ

この日誌から Google してもらう


2009年11月12日(木) あったらしい朝が来たー… [同日]

[memo] Sunbirdのtrunkを作る (作り始め編)

subirdの拡張をいじる続きをしようとして、 どうせならturnkのsunbirdを作ってみたくなった。

Sunbird - Build Informationから辿って、まずはソースコードをいただく。 ってあれ?http://hg.mozilla.org/comm-central/ ってもしかしたら全部入りか。

じゃあ Mozilla Developer CenterのSimple Sunbird Buildのページに従って、

# yum groupinstall 'Development Tools' 'Development Libraries' 'GNOME Software Development'
# yum install mercurial autoconf213

autoconf213が入った他は、subvesionだけ更新されましたよ。

$ cd ~/local/src/comm-central
$ python client.py checkout
Executing command: ['hg', 'pull', '-R', './.']
http://hg.mozilla.org/comm-central/ から取り込み中
変更点を探索中
チェンジセットを追加中
マニフェストを追加中
ファイルの変更を追加中
24 のチェンジセット(66 の変更を 52 ファイルに適用)を追加
(作業領域の更新は 'hg update')
Executing command: ['hg', 'update', '-r', 'default', '-R', './.']
52 個のファイルが更新, 0 個のファイルがマージ, 0 個のファイルが削除, 0 個のファイルが衝突未解決
Updated to revision 37475ff90d36f232c43ec813b248724c709a685a.
Executing command: ['hg', 'clone', 'http://hg.mozilla.org/mozilla-central/', './mozilla']
全チェンジセットを取得中
チェンジセットを追加中
マニフェストを追加中
ファイルの変更を追加中
ファイルの変更を追加中
761 のチェンジセット(3182 の変更を 675 ファイルに適用)を追加(+6個のヘッド)
作業領域の更新中
470 個のファイルが更新, 0 個のファイルがマージ, 0 個のファイルが削除, 0 個のファイルが衝突未解決
Executing command: ['hg', 'update', '-r', 'default', '-R', './mozilla/extensions/inspector']
0 個のファイルが更新, 0 個のファイルがマージ, 0 個のファイルが削除, 0 個のファイルが衝突未解決
Updated to revision ae971cfdf236379219a0c6c88b20eeed68fff8c9.
CVS checkout begin: 2009-11-12 14:30:00 UTC
Executing command: ['cvs', '-d', ':pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot', '-q', 'checkout', '-P', '-r', 'LDAPCSDK_6_0_6D_MOZILLA_RTM', '-d', 'c-sdk', 'mozilla/directory/c-sdk']
cvs checkout: warning: failed to open /home/zunda/.cvspass for reading: No such file or directory
U c-sdk/.cvsignore
U c-sdk/Makefile.in
U c-sdk/README.configure
U c-sdk/README.rpm
U c-sdk/aclocal.m4
U c-sdk/build.mk
U c-sdk/build_mozldap_rpm
U c-sdk/component_versions.mk
U c-sdk/configure
U c-sdk/configure.in
U c-sdk/gmakefile.win
U c-sdk/mozldap.pc.in
U c-sdk/mozldap.spec
U c-sdk/package.mk
  <中略>
CVS checkout end: 2009-11-12 14:30:17 UTC
Executing command: ['hg', 'clone', 'http://hg.mozilla.org/venkman/', './mozilla/extensions/venkman']
全チェンジセットを取得中
チェンジセットを追加中
マニフェストを追加中
ファイルの変更を追加中
614 のチェンジセット(1362 の変更を 219 ファイルに適用)を追加(+5個のヘッド)
作業領域の更新中
163 個のファイルが更新, 0 個のファイルがマージ, 0 個のファイルが削除, 0 個のファイルが衝突未解決
Executing command: ['hg', 'update', '-r', 'default', '-R', './mozilla/extensions/venkman']
0 個のファイルが更新, 0 個のファイルがマージ, 0 個のファイルが削除, 0 個のファイルが衝突未解決
Updated to revision 5136feaccce8795a0fdeba21a725a72732d4c9cb.
$ echo 'ac_add_options --enable-application=calendar' > .mozconfig               # let's build Sunbird...
$ echo 'mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-sb-release' >> .mozconfig   # ...in this directory...
$ echo 'mk_add_options MOZ_MAKE_FLAGS="-j4"' >> .mozconfig                       # ...quickly.

念のためscreenの中に行って

$ make -f client.mk
  <中略>
checking for alsa... Package alsa was not found in the pkg-config search path.
Perhaps you should add the directory containing `alsa.pc'
to the PKG_CONFIG_PATH environment variable
No package 'alsa' found
configure: error: Need alsa for Ogg or Wave decoding on Linux.  Disable with --disable-ogg --disable-wave.
*** Fix above errors and then restart with               "make -f client.mk build"
make[1]: *** [configure] エラー 1
make[1]: ディレクトリ `/home/zunda/local/src/comm-central' から出ます
make: *** [/home/zunda/local/src/comm-central/objdir-sb-release/Makefile] エラ ー 2

あらら。alsa-lib-develをインストールしてふたたび。

  <前略>
checking for libnotify >= 0.4... Package libnotify was not found in the pkg-config search path. Perhaps you should add the directory containing `libnotify.pc' to the PKG_CONFIG_PATH environment variable No package 'libnotify' found
configure: error: Library requirements (libnotify >= 0.4) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
configure: error: /home/zunda/local/src/comm-central/mozilla/configure failed for mozilla
*** Fix above errors and then restart with               "make -f client.mk build"
make[1]: *** [configure] エラー 1
make[1]: ディレクトリ `/home/zunda/local/src/comm-central' から出ます
make: *** [/home/zunda/local/src/comm-central/objdir-sb-release/Makefile] エラ ー 2

はいー。libnotify-develをインストール。次は、

$ make -f client.mk 
Adding client.mk options from /home/zunda/local/src/comm-central/.mozconfig:
    MOZ_OBJDIR=$(TOPSRCDIR)/objdir-sb-release
    MOZ_MAKE_FLAGS=-j4
make -j4 -C /home/zunda/local/src/comm-central/objdir-sb-release
make[1]: ディレクトリ `/home/zunda/local/src/comm-central/objdir-sb-release' に入ります
make[1]: ディレクトリ `/home/zunda/local/src/comm-central/objdir-sb-release' から出ます
make[1]: ディレクトリ `/home/zunda/local/src/comm-central/objdir-sb-release' に入ります
/usr/bin/gmake -C mozilla default
gmake[2]: ディレクトリ `/home/zunda/local/src/comm-central/objdir-sb-release/mozilla' に入ります
gmake[2]: *** ターゲット `default' を make するルールがありません.  中止.
gmake[2]: ディレクトリ `/home/zunda/local/src/comm-central/objdir-sb-release/mozilla' から出ます
make[1]: *** [default] エラー 2
make[1]: ディレクトリ `/home/zunda/local/src/comm-central/objdir-sb-release' から出ます
make: *** [build] エラー 2

リリース版と開発版とでオプションを変えるのだろう。 .mozconfigのMOZ_OBJDIRを@TOPSRCDIR@/obj-@CONFIG_GUESS@にしてみた。

  <前略>
checking for curl/curl.h... no
configure: error: Couldn't find curl/curl.h which is required for the crash reporter.  Use --disable-crashreporter to disable the crash reporter.

libcurl-develをインストールしてみた。

$ make -f client.mk
Adding client.mk options from /home/zunda/local/src/comm-central/.mozconfig:
    MOZ_OBJDIR=$(TOPSRCDIR)/obj-$(CONFIG_GUESS)
    MOZ_MAKE_FLAGS=-j4
make -j4 -C /home/zunda/local/src/comm-central/obj-i686-pc-linux-gnu
make[1]: ディレクトリ `/home/zunda/local/src/comm-central/obj-i686-pc-linux-gnu' に入ります
/usr/bin/gmake -C mozilla default
gmake[2]: ディレクトリ `/home/zunda/local/src/comm-central/obj-i686-pc-linux-gnu/mozilla' に入ります
gmake[2]: *** ターゲット `default' を make するルールがありません.  中止.
gmake[2]: ディレクトリ `/home/zunda/local/src/comm-central/obj-i686-pc-linux-gnu/mozilla' から出ます
make[1]: *** [default] エラー 2
make[1]: ディレクトリ `/home/zunda/local/src/comm-central/obj-i686-pc-linux-gnu' から出ます
make: *** [build] エラー 2

うーん。 MDCのConfiguring Build Optionsのページに従って、 .mozconfigにmk_add_options MOZ_CO_PROJECT=calendarを足してみる。

  <前略>
checking for libIDL-config... no
checking for libIDL - version >= 0.6.3... no
*** The libIDL-config script installed by libIDL could not be found
*** If libIDL was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the LIBIDL_CONFIG environment variable to the
*** full path to libIDL-config.
checking for libIDL-2.0 >= 0.8.0... Package libIDL-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `libIDL-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'libIDL-2.0' found
configure: error: Library requirements (libIDL-2.0 >= 0.8.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
configure: error: /home/zunda/local/src/comm-central/mozilla/configure failed for mozilla
  <後略>

なんだか2種類のエラーが交互に見えている気がしてきた。 とりあえず、libIDL-develを入れてみた。今度は違うエラーになったな。

  <前略>
checking for iwlib.h... no
configure: error: Can't find header iwlib.h for Necko WiFi scanning (might be in package libiw-dev (Ubuntu) or wireless-tools-devel (Fedora)); use --disable-necko-wifi to disable
  <後略>

wireless-tools-develをインストール。 今度はコンパイラが起動するところまで行きました。

[memo] Sunbirdのtrunkを作る (とりあえずここまで編)

あう。

c++  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-long-long -pedantic -fno-strict-aliasing -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -Os -freorder-blocks -fno-reorder-functions  -fPIC -shared -Wl,-z,defs -Wl,-h,libnecko.so -o libnecko.so  nsNetModule.o     -lpthread   -Wl,-rpath-link,/home/zunda/local/src/comm-central/obj-i686-pc-linux-gnu/mozilla/dist/bin -Wl,-rpath-link,/usr/local/lib  -Wl,--whole-archive ../base/src/libneckobase_s.a ../dns/src/libneckodns_s.a ../socket/base/libneckosocket_s.a ../streamconv/src/libnkconv_s.a ../streamconv/converters/libnkcnvts_s.a ../mime/src/libnkmime_s.a ../cache/src/libnkcache_s.a ../protocol/about/src/libnkabout_s.a  ../protocol/data/src/libnkdata_s.a  ../protocol/file/src/libnkfile_s.a  ../protocol/ftp/src/libnkftp_s.a  ../protocol/http/src/libnkhttp_s.a  ../protocol/res/src/libnkres_s.a  ../protocol/viewsource/src/libnkviewsource_s.a  ../wifi/src/libneckowifi_s.a  -Wl,--no-whole-archive -L../../dist/bin -L../../dist/lib  /home/zunda/local/src/comm-central/obj-i686-pc-linux-gnu/mozilla/dist/lib/libunicharutil_s.a -L/home/zunda/local/src/comm-central/obj-i686-pc-linux-gnu/mozilla/dist/bin -lxpcom -lxpcom_core  -L/home/zunda/local/src/comm-central/obj-i686-pc-linux-gnu/mozilla/dist/bin -L/home/zunda/local/src/comm-central/obj-i686-pc-linux-gnu/mozilla/dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl -L../../modules/zlib/src -lmozz  -Wl,--version-script -Wl,/home/zunda/local/src/comm-central/mozilla/build/unix/gnu-ld-scripts/components-version-script -Wl,-Bsymbolic -ldl -lm    
../cache/src/libnkcache_s.a(nsDiskCacheDeviceSQL.o): In function `DCacheHash(char const*)':
nsDiskCacheDeviceSQL.cpp:(.text+0x402b): undefined reference to `nsDiskCache::Hash(char const*, unsigned int)'
nsDiskCacheDeviceSQL.cpp:(.text+0x403a): undefined reference to `nsDiskCache::Hash(char const*, unsigned int)'
/usr/bin/ld: libnecko.so: hidden symbol `nsDiskCache::Hash(char const*, unsigned int)' isn't defined
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
gmake[6]: *** [libnecko.so] Error 1
gmake[6]: Leaving directory `/home/zunda/local/src/comm-central/obj-i686-pc-linux-gnu/mozilla/netwerk/build'

(追記) この時点での.mozconfig

ac_add_options --enable-application=calendar
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
mk_add_options MOZ_MAKE_FLAGS="-j4"
mk_add_options MOZ_CO_PROJECT=calendar
本日のツッコミ(全1件) [ツッコミを入れる]
> zunda (2009年11月12日(木) 16:34)

次に確認するべきなのはMomongaのspecファイルかな。.mozconfigにいろいろ書いてる。http://developer.momonga-linux.org/viewvc/pkgs/trunk/pkgs/sunbird/sunbird.spec


作り手とその取り巻きだけが楽しんでる間は本物じゃない。その中身が理解できない人々の生活を変えてこそ本物だ


zunda <zunda at freeshell.org>