Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
trio (Re: prepare to release 2.0.13)
竹迫です。
>Ryuji Abe wrote:
>>
>> On Sun, 22 Jun 2003 16:25:32 +0900
>> Tadamasa Teranishi <yw3t-trns@xxxxxxxxxxxxxxx> wrote:
>>
>> > > あと、個人的に時間がとれなくて作業が滞っていますが、trio
>> > > は2.0.13のリリース前に突っ込みたいと思っています。
>>
>> いや、最初はとりあえずHEADだけでいいかなと思っていたのですが、
>> ちと困った問題が判明しまして。今はWin32では(v)snprintfの代わり
>> に_(v)snprintfを使っていますが、これは出力が中断された場合に
>> NULL terminateしてくれないのです。
trio-1.10 を入手して、Win32環境でコンパイルしてみました。
■ trio-1.10 (Win32環境でのテスト結果)
--------------------------------------
以下、[1]cygwin-gcc, [2]mingw-gcc, [3]msvc-cl それぞれの環境で
./configure && make && make test した結果です。
[1] cygwin-gcc (Cygwin 1.3.18 / gcc 3.2) の場合
-----------------------------------------------
$ ./configure && make
$ make test
./regression
@(#)$Id: regression.c,v 1.44 2002/12/29 15:08:56 breese Exp $
Verifying strings
Verifying dynamic strings
Verifying special quantities
Verifying formatting
Verification failed in regression.c:351.
Expected " -2.3420e-02"
Got " nan"
Verification failed in regression.c:353.
Expected " -2.3420e-22"
Got " nan"
Verification failed in regression.c:371.
Expected "-3141.000000"
Got "nan"
Verification failed in regression.c:526.
Expected "-0x2.ap+4"
Got "nan"
Verifying scanning
Verification failed in regression.c:807.
Expected "-42.000000"
Got "nan"
Verifying return values
Verifying allocation
Regression test failed in 5 instance(s)
[2] mingw-gcc (Cygwin 1.3.18 / gcc -mno-cygwin) の場合
------------------------------------------------------
$ CC="gcc -mno-cygwin" ./configure && make
$ make test
./regression
@(#)$Id: regression.c,v 1.44 2002/12/29 15:08:56 breese Exp $
Verifying strings
Verifying dynamic strings
Verifying special quantities
Verifying formatting
Verification failed in regression.c:511.
Expected "Interrupted system call"
Got "unknown"
Verifying scanning
Verifying return values
Verifying allocation
Regression test failed in 1 instance(s)
[3] msvc-cl (MS Visual C++ 6.0 SP5) の場合
------------------------------------------
$ vi Makefile.in (いくつか手動で修正)
$ perl -p -i.orig -e 's/(\d+)LL/(_int64)$1/' regression.c
$ CC="cl" CFLAGS="-nologo -Gf -W3 -O1 -MD" ./configure && make
$ make test
./regression
@(#)$Id: regression.c,v 1.44 2002/12/29 15:08:56 breese Exp $
Verifying strings
Verifying dynamic strings
Verifying special quantities
Verifying formatting
Verification failed in regression.c:511.
Expected "Interrupted system call"
Got "unknown"
Verifying scanning
Verification failed in regression.c:834.
Expected "0x2.ap+4"
Got "0x0p+0"
Verification failed in regression.c:836.
Expected "0x1.2d687p+20"
Got "0x0p+0"
Verification failed in regression.c:838.
Expected "0X1.2D687P+20"
Got "0X0P+0"
Verifying return values
Verifying allocation
Regression test failed in 4 instance(s)
→ 多分、Namazu で使う分には、大丈夫だと思いますが、
このまま trio を組み込んでも(品質上)問題ないですかね?>安部さん
[2]mingw-gcc は、ほど良い結果が得られましたが、
それ以外の環境 ([1]cygwin-gcc, [3]msvc-cl) では、
trio の単体テストで失敗しています。
# もしかしたら、私のビルド方法が間違っているのかも?
>> Win32以外で(v)snprintfが欠けているplatformではnmz/vsnprintf.c
>> を使いますが、これはmprotect()などを使っているのでWin32では
>> compileできないと思います。
う〜む。(v)snprintf のポータビリティは、由々しき問題ですね。
>Win32 版 Namazu は Cygwin 環境でコンパイルするものかと思って
>いましたが、そうではないのかな。
ユーザに配布する Win32版バイナリは、cygwin1.dll に依存しない
ようにするため、Cygwin だけでなく、MinGW, MSVC, ActivePerl
(5xx/6xx/8xx) の環境も揃えてから、バイナリを構築しています。
>あまり Win32 環境を深く調べていないので、Win32 版のコンパイル
>および動作環境についての知識を持っていません。(すみません。)
Namazu 2.0.12 for Win32 のバイナリ配布の中に、Win32コンパイル
環境の構築とバイナリ作成方法を記述した HACKING.TXT という
ドキュメントを入れています。(CVSリポジトリには登録していません)
今までの Namazu for Win32 のバイナリは、この方法でコンパイルして
いるのですが、他に良い方法がありましたら、是非教えてください。:-)
--
株式会社ドリーム・アーツ
竹迫 良範 <takesako@xxxxxxxxxx>