SML# 0.90をMinGWでビルドしよう †
./configure
make
コンパイル失敗1: MEM_UNCOMMIT †
gcc -g -O -DHAVE_CONFIG_H -DHOST_CPU_i386 -DMAXALIGN=16 -I../.. -DMINOR_GC -c -
o heap_bitmap.o heap_bitmap.c
heap_bitmap.c: 関数 'free_segment' 内:
heap_bitmap.c:1393:2: エラー: 'MEM_UNCOMMIT' が宣言されていません (この関数内で
の最初の使用)
heap_bitmap.c:1393:2: 備考: 未宣言の識別子は出現した各関数内で一回のみ報告されま
す
make[2]: *** [heap_bitmap.o] Error 1
make[2]: Leaving directory `/home/keigoi/smlsharp-0.90/SMLSharp/src/nativeruntim
e'
make[1]: *** [all-subdirs] Error 2
make[1]: Leaving directory `/home/keigoi/smlsharp-0.90/SMLSharp/src'
make: *** [all-subdirs] Error 2
コンパイル失敗2: OS.syserror unimplemented †
make[2]: Entering directory `/home/keigoi/smlsharp-0.90/SMLSharp/src/lib2'
../../src/compiler/smlsharp -B ../../src/nativeruntime -nostdpath -c basis/main/General.sml -o basis/main/General.o
uncaught exception: Fail: Fail: OS.syserror unimplemented
raised at: Basis/Implementation/Win32/os.sml:21.28-21.60
handled at: ..\loadfile\main\LoadFile.sml:128.59
..\toplevel2\main\Top.sml:747.33-747.36
..\toplevel2\main\Top.sml:836.37
main\SimpleMain.sml:368.53
make[2]: *** [basis/main/General.o] Error 1
make[2]: Leaving directory `/home/keigoi/smlsharp-0.90/SMLSharp/src/lib2'
make[1]: *** [all-subdirs] Error 2
make[1]: Leaving directory `/home/keigoi/smlsharp-0.90/SMLSharp/src'
make: *** [all-subdirs] Error 2
- 色々試した
- 直接の原因は openFile (Filename.TextIO.openIn) で Fail例外が発生していること
- このエラーは、openInがIO例外を投げるかわりにFail "OS.syserror: unimplemented" しているのが原因か 参考
- ファイルの存在確認を、 Filename.TextIO.openIn がIO例外を投げるかどうかでなく、事前にチェックすればOK?