Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
EWS4800でnamazu-2.0.12のコンパイル
- From: Fuminori Muranaga <bun2@xxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 31 Mar 2004 19:31:49 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 04011
- References: <406A5524.4DC5C089@asahi-net.or.jp>
2.0.13RC2の動作チェックが各OSでされているようなので、
EWS4800でもやってみようかと思い、
まずは、2.0.12を導入してみました。
#実は、色々時間がなくて2.0.10から更新していませんでした。
結論から言うと、何とか構築できました。
一応、その手順をポストします。
#そんかキカイは捨てろと言われそうですが・・・・
・使用パッケージ
kakasi-2.3.4.tar.gz
namazu-2.0.12.tar.gz
・環境
uname -srvmp
UNIX_SV 4.2MP 1.release.1218.07:39 R4000 r4000
/usr/abiccs/bin/cc -V
_driverrev.c,v 1997/04/10 08:08:08 1.38 (EWS)
_cferev.c,v 1998/05/18 02:19:26 1.131 (header-cc3.18)
_as0rev.c,v 1996/07/24 04:31:51 1.5 CC3.18
_as1rev.c,v 1996/07/12 05:37:24 1.25 CC3.18
_cof2elfrev.c,v 1997/06/12 09:01:21 1.6
_ujoinrev.c,v 1994/06/09 01:54:04 1.1
_ldrev.c,v 1996/07/29 06:09:24 1.6 (cc3.18)
_usplitrev.c,v 1994/06/09 01:54:05 1.1
_umergerev.c,v 1994/06/17 09:29:28 1.2
_uoptrev.c,v 1996/11/05 11:26:59 1.8 (cc3.18)
_ugenrev.c,v 1996/04/17 11:49:08 1.7 (cc3.18)
_ldrev.c 112.1.1.100 96/07/25 10:20:53
_picierev.c 112.1.1.38 94/11/09 16:17:22
・コンパイル方法
1)kakasi-2.3.4
パッケージを展開後、
env CC="/usr/abiccs/bin/cc" CFLAGS="-DNO_ALLOCA" ./configure
後は普通にmake ; makeinstall できました。
2)namazu-2.0.12
2.0.10は、kakasiと同じ方法でコンパイルできましたが、
2.0.12は、
first referenced in file ../nmz/.libs/libnmz.so
Undefined symbol alloca
と、エラーになりました。
無理やりalloca.cをコンパイルすると、今度はxmallocが無いと。(T_T)
そこで、色々調べて、このML小島 肇さんの過去ログに、
「この OS では、alloca は /usr/ucblib/libucb.a に含まれています。」
とあったのを参考に、以下の手順でコンパイルしました。
パッケージを展開後、
env CC="/usr/abiccs/bin/cc" CFLAGS="-DNO_ALLOCA" ./configure
を実行、
ar -x /usr/ucblib/libucb.a alloca.o
で、ライブラリからalloca.oを取り出す。
パッケージのnmzディレクトリに、alloca.o をコピーし、
alloca.loというシンボリックリンクを作成。(cpでも問題ないです。)
ln -s alloca.o alloca.lo
nmz/Makefileを編集。
EXTRA_DISTから、alloca.cを抜き、libnmz_la_OBJECTSにalloca.loを追加
125c125
< EXTRA_DIST = alloca.c memcmp.c memmove.c memset.c strcasecmp.c strncasecmp.c
strcspn.c strerror.c vsnprintf.c system.h support.h
---
> EXTRA_DIST = memcmp.c memmove.c memset.c strcasecmp.c strncasecmp.c str
cspn.c strerror.c vsnprintf.c system.h support.h
155c155
< libnmz_la_OBJECTS = alias.lo codeconv.lo field.lo hlist.lo i18n.lo \
---
> libnmz_la_OBJECTS = alloca.lo alias.lo codeconv.lo field.lo hlist.lo i18n.lo \
念のため、nmz/alloca.c をリネーム
mv nmz/alloca.c nmz/alloca.c.bak
後は、make ; make installする。
一応、動作確認として、27000枚の薬剤添付文書のHTMLファイルのmknmzと
検索に成功しております。
---
村永文学 鹿児島大学医学部附属病院 医療情報部
Fuminori Muranaga , Medical Informatics,Kagoshima Univ. Hospital
TEL:099-275-5171
FAX:099-275-5177