Asterisk Solaris

2008年2月23日 (土) 21:33時点におけるTakahashi (トーク | 投稿記録)による版

1.4からはSolarisでの動作も・・という話でしたが。
同じマシンでもSolaris上で動作させると、Asteriskの性能も向上するようです。

目次

Zaptel

http://www.solarisvoip.com/
ここからパッケージを入手してインストールする。

Asterisk

以下の情報はAsterisk 1.4.18のものです。

修正箇所

main/stdtime/localtime.c

1136行目がエラーになる。以下のように#ifndefでSolaris時にはこの部分を使用しません。。

         result = timesub(&t, ttisp->tt_gmtoff, sp, tmp);
        tmp->tm_isdst = ttisp->tt_isdst;
#ifndef SOLARIS                                    <--+
        tmp->tm_gmtoff = ttisp->tt_gmtoff;            |この部分
#endif                                             <--+
#ifdef TM_ZONE
        tmp->TM_ZONE = &sp->chars[ttisp->tt_abbrind];
#endif /* defined TM_ZONE */
        return result;

main/editline/np/vis.c

#include<stdlib.h>の下に以下を追加します。

#include <stdlib.h>

#ifndef u_int32_t                   <--+
#define u_int32_t uint32_t             | 追加
#endif                              <--+

コンパイル

gcc類は/usr/sfw/binにあるため、パスを設定しておきます。またGNU系ライブラリは/usr/sfw/libにあるので、LD_LIBRARY_PATHに追加しておきましょう。
makeはgmakeのためconfigureを行う際には

./configure MAKE=gmake CC=gcc LD=gcc AR=gar

を指定しておくと良いでしょう。
Zaptelのヘッダファイルの位置が違うためか--with-zaptelを指定しても、どうもうまくいかないので以下のようにして回避します。

/opt/include/にあるzaptel関連のファイルを/opt/include/zaptelというディレクトリを作りそこにコピー
ln -s /opt/include/zaptel /usr/include/zaptel

これでZaptel付でAsteriskがmakeできるはずです。 makeはgmakeなのをお忘れなく。

gmake menuselect CC=gcc LD=gcc AR=gar
gmake CC=gcc LD=gcc AR=gar