Windows8 64bit 環境上で Cygwin 1.7 を使い、make を走らせると、fork に失敗するという(致命的な)現象が起きる。
例えば、こんな感じ。
$ make
gcc -std=gnu99 `test -f 'gen-fac_ui.c' || echo '../gmp-5.0.1/'`gen-fac_ui.c -o gen-fac_ui.exe
1 [main] gcc-4 2412 fhandler_disk_file::fixup_mmap_after_fork: requested 0xFFE90000 != 0x0 mem alloc base 0x0, state 0x10000, size 65536, Win32 error 487
1132 [main] gcc-4 2412 C:\Cygwin\bin\gcc-4.exe: *** fatal error in forked process - recreate_mmaps_after_fork_failed
3101 [main] gcc-4 2412 open_stackdumpfile: Dumping stack trace to gcc-4.exe.stackdump
1 [main] gcc 1480 fork: child -1 - forked process 2412 died unexpectedly,retry 0, exit code 256, errno 11
0 [main] collect2 5364 fhandler_disk_file::fixup_mmap_after_fork: requested 0xFFE90000 != 0x0 mem alloc base 0x0, state 0x10000, size 65536, Win32 error 487
596 [main] collect2 5364 C:\Cygwin\lib\gcc\i686-pc-cygwin\4.5.3\collect2.exe: *** fatal error in forked process - recreate_mmaps_after_fork_failed
1354 [main] collect2 5364 open_stackdumpfile: Dumping stack trace to collect2.exe.stackdump
1 [main] collect2 7144 fork: child -1 - forked process 5364 died unexpectedly, retry 0, exit code 256, errno 11
./gen-fac_ui 32 0 >mpz/fac_ui.h || (rm -f mpz/fac_ui.h; exit 1)
/bin/ash した後で /bin/rebaseall をすれば良いという意見を見掛けたが、自分の環境では
$ export LANG=C
を入力する事で治った。
参照したのはこちら。
Windows8 上で cygwin 版の git で pull/push/fetch に失敗する
0 件のコメント:
コメントを投稿