up previous next index
Up: 5 パッケージを開発する Previous: 5.3 rpm macro Next: 6 インストーラを作る


5.4 その他

ライブラリに関する問題

libintl, libiconv 等が読み込まれなかったり、
/usr/include/{glob,regex}.h 等が gnu のものとコンフリクトしたりする事があります。
大抵、ld が multiple definitions of symbol....
undefined symbols.... 等とメッセージを出し、
該当する関数名とライブラリ名を表示してくれるので、
出来るだけ MacOS X 側が用意している ライブラリやヘッダファイルを利用する様にします。

ただし、libxml2 は、MacOS X 10.3.5 + Xcode 1.5 の場合、
ヘッダファイルの version が 2.5.4 で 実際にインストールされているライブラリは 2.6.7 になっています。
この様な場合は、そのライブラリを使うのを諦めるか、
新しい version のもので置き換えるかする必要があります。

MacOS X 本体にはあまり手を加えたくないので、 現状では諦めています。

libtool, autotools に関する問題

MacOS X 10.3.5 + Xcode 1.5 では、
libtool 1.5 (glibtool, glibtoolize)
aclocal, automake 1.6
autoheader, autoconf 2.57

が用意されています。
MacOS X WorkShop では、automake1.{478}, autoconf2.59 を 用意しています。
これらは必要に応じて、aclocal-1.8 -I /usr/share/aclocal 等として利用します。

libtool を利用する時は、
configure の前で glibtoolize --copy --force とし、
configure の後で cp -f /usr/bin/glibtool libtool
とするとうまく行く事があります。

c++ に関する問題

MacOS X 10.3.5 + Xcode 1.5 の gcc3.3 では、
c++ の #pragma interface/implementation は使えません。
ソースにこれらがある場合、 コメントアウトしておきます。
ですがこのままでは巨大なバイナリーが出来てしまうので、 出来たバイナリーを strip してやります。


up previous next index
Up: 5 パッケージを開発する Previous: 5.3 rpm macro Next: 6 インストーラを作る
KOBAYASHI Taizo
平成17年7月15日