[Canna-dev 274] Re: 3.7 のコンパイルエラーについて

Back to archive index

SHIOTA Shoichi Shoic****@light*****
2003年 12月 24日 (水) 15:46:07 JST


潮田です。
遅くなりました。

AIDA Shinra <shinr****@j10n*****> wrote:
> 最新版をcvs checkoutして試してみてください。
少しの修正で、コンパイルが最後まで通りました。
通すことのみ優先で、原因の究明はやっていません。
# やる力がないが正確です
以下はその手順です。

cvs で最新版をとってくる
autoconf-2.13 と autoconf-2.58 を install
# autoconf-2.13 は autoconf213 というファイル名にする
# 2.58 は、単に最新 version だからというだけで
# もっと推奨の version があったのかも知れません
$ ./mkrelease.sh
$ xmkmf
imake -DUseInstalled -I/usr/lib/X11/config
"././Canna.conf", line 601.45: 1506-294 (S) #if ディレクティブの式に構文エラーがあります。
imake: 1346-730 終了コードは 1 です。  中止。

Canna.conf のその部分は MAC 用と思われ、
AIX 環境には関係なさそうなので、この #if - #endif を削除

$ xmkmf
$ make canna
(途中省略)
creating cannaconf.h
        CW_CPPFLAGS='   ` ` -DSYSV -DAIXV3 -DAIXV4 -D_ALL_SOURCE  -DFUNCPROTO=15 ` `  ' CW_CC='cc' CW_CFLAGS='-O ' IN_MAKE=yes ./confwrapper ./configure --prefix=/usr/local/canna
./confwrapper[22]: : 0403-006 実行許可がありません。
./confwrapper[2]: shift: 0403-009 指定された数はこのコマンドでは無効です。
./confwrapper[22]: CFLAGS:  見つかりません。
./confwrapper[23]: : 0403-006 実行許可がありません。
./confwrapper[2]: shift: 0403-009 指定された数はこのコマンドでは無効です。
./confwrapper[23]: CC:  見つかりません。
./confwrapper[24]: : 0403-006 実行許可がありません。
./confwrapper[2]: shift: 0403-009 指定された数はこのコマンドでは無効です。
./confwrapper[24]: CFLAGS:  見つかりません。
(次へ進もうとするが殺す)

confwrapper の function (?) が、 AIX の /bin/sh や /bin/ksh では
うまく動きません。
# sh, ksh は単にハードリンクです
AIX 5L には ksh93 と言う shell もあるのですが同様でした。
"function" が省略不可なのかと愚考してみましたが、エラー
メッセージが

./confwrapper[4]: 0403-057 構文エラーです。行番号 4 : `(' が無効です。

に変わっただけでした。
とりあえず一行目を
 /bin/sh -> /usr/local/bin/bash 
として逃げました。

$ make canna
(途中省略)
        rm -f cannaserver
        cc -o cannaserver -O   comm.o session.o convert.o wconvert.o main.o  misc.o util.o -L../lib/RK -lRK -L../lib/RKindep -lRKindep ` `   ` ` ` ` -bnodelcsect
ld: 0711-317 エラー: 未定義のシンボル: .rpl_malloc
ld: 0711-345 -bloadmap または -bnoquiet オプションを使用して、詳細な情報を得てください。
make: 1254-004 最後のコマンドからのエラー・コードは 8 です。

誰が何時のタイミングで作成するのか分からないのですが、
./accanna.h 中の

/* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */
#define HAVE_MALLOC 0

と

/* Define to rpl_malloc if the replacement function should be used. */
#define malloc rpl_malloc

が怪しそうなので、どちらの define もコメントにして
# HAVE_MALLOC の方は release 版の Canna3.7 でコメントに
# なっているし、後者はそもそも存在していない


$ make clean
$ make canna
(途中省略)
ターゲット "all" は最新のものです。

Wed Dec 24 15:40:20 JST 2003
$ 

終了!!!
やっと最後までたどり着きました。
お付き合いいただき、ありがとうございました。
# まだ 「make 一発」というわけではないですが




Canna-dev メーリングリストの案内
Back to archive index