On 2012-02-15, at 7:38 PM, Quan Ta wrote:
On MacOS Lion, using gcc-4.7, "make check" failed with the following:
make check
...
(file-type ".") => unknown (file-type "error.scm") => unknown ;;; No such file or directory: (file-type "newdir2") ;;; No such file or directory: (file-type "newdir2/bbb")
1211,1212c1211,1212 < (file-size "error.scm") => 65891
< (file-size "newdir2/bbb") => 65891
(file-size "error.scm") => 0 ;;; No such file or directory: (file-size "newdir2/bbb")
1214,1220c1214,1220 < ;;; #<os-exception #10>: (delete-directory "newdir2") < (delete-file "newdir2/aaa") => #!void < (delete-file "newdir2/bbb") => #!void < ;;; No such file or directory: (delete-file "newdir2/ccc") < (delete-directory "newdir2") => #!void < (open-process '(path: "sort" arguments: ("input") eol-encoding: cr-lf)) => #<input-output-port #11 (process "sort" "input")>
< (read-all-open-process) => (brown dog fox jumps lazy over quick the the)
;;; #<os-exception #19>: (delete-directory "newdir2") ;;; #<os-exception #20>: (delete-file "newdir2/aaa") ;;; #<os-exception #21>: (delete-file "newdir2/bbb") ;;; #<os-exception #22>: (delete-file "newdir2/ccc") ;;; #<os-exception #23>: (delete-directory "newdir2") ;;; #<os-exception #24>: (open-process '(path: "sort" arguments: ("input") eol-encoding: cr-lf)) ;;; CALL EXPRESSION (open-process '(path: "sort" arguments: ("input") eol-encoding: cr-lf)) IS WRONG: (read-all-open-process)
make[1]: *** [test2] Error 1 make[1]: Leaving directory `/private/tmp/gambc-v4_6_4-devel/tests' make: *** [check] Error 2
Here is my configure command:
./configure CC=/opt/local/gcc-4.7/bin/gcc --prefix=/opt/gambc --enable-single-host --enable-gcc-opts \ --enable-multiple-versions --enable-ansi-c
Does anyone encounter the same error?
I get the same error when configuring the system with:
./configure --enable-ansi-c
This is normal, because --enable-ansi-c means that Gambit's sources will only include the ANSI-C headers and libraries (stdio, stdlib, etc). This is particularly useful when compiling Gambit for an embedded system which has few available libraries (perhaps not even an operating system).
Because of this some of the Gambit features will not work because the ANSI-C libraries are insufficient to implement them. For example the "file-type" library procedure which is normally implemented with the C function "stat" (which is part of POSIX but not included in the ANSI-C libraries).
So, with --enable-ansi-c you only get a minimal Gambit system. It is still powerful enough to recompile the whole Gambit Scheme sources (at least it was the last time I tried).
The solution, on Mac OS X, is to not use the --enable-ansi-c option when configuring!
Marc