Add a New Comment (Rich Markup)
( Jump to the original submission )
Thanks for reporting and testing!
Already changed vfork to fork there a year ago in master: https://git.savannah.gnu.org/cgit/mit-scheme.git/commit/src/microcode/macosx-starter.c?id=013fad016413e582d769e5d1b7e6bd15006554c4 Closing because this will be in the 12.0 release coming soon.
It took me a while to get back to this, since I was running v10 just fine and forgot about trying to upgrade. But I can confirm that it does work; I was able to use the patch and have installed v11 successfully. There is one caveat, however. I have since updated to MacOS Monterey. Using the installed code as written, make failed. Fortunately, it was easy to to fix. As of this OS, Apple has deprecated 'vfork', and suggests replacing it with simple 'fork' (or 'posix_spawn'). I changed line 58 in /src/microcode/macos-starter.c from pid = (vfork ()); to pid = (fork ()); and it compiled fine from there. I could possibly open another bug report on this issue if it's needed.
This was fixed in the master branch back in December, but I didn't think to pull it up to the release-11 branch until now. Can you try again, with the patch in https://git.savannah.gnu.org/cgit/mit-scheme.git/commit/?h=release-11&id=6cbeeb17862a16feb7df6c2610cb1174de2f8e58 applied on top of the 11.2 release tarball? cd mit-scheme-11.2 curl -fsSL https://git.savannah.gnu.org/cgit/mit-scheme.git/patch/?id=6cbeeb17862a16feb7df6c2610cb1174de2f8e58 | patch -p1
Same problem with mit-scheme-11.2-svm1-64le.tar.gz (gpg verified) on MacOS Big Sur 11.6 (with\XCode tools up to date and XQuartz installed), a ./configure that creates a Makefile, and make gives: gcc -DHAVE_CONFIG_H -DMIT_SCHEME -DDEFAULT_LIBRARY_PATH=\"/usr/local/lib/mit-scheme-svm1-64le-11.2\" -I. -I. -O3 -frounding-math -fno-builtin-floor -Wall -Wempty-body -Wignored-qualifiers -Wimplicit-fallthrough -Wmissing-field-initializers -Wnested-externs -Woverride-init -Wpointer-arith -Wredundant-decls -Wshift-negative-value -Wstrict-prototypes -Wtype-limits -Wundef -Wuninitialized -Wwrite-strings -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -fconstant-cfstrings -DSIGNAL_HANDLERS_CAN_USE_SCHEME_STACK -D_REENTRANT -Werror -o uxsig.o -c uxsig.c uxsig.c:1197:25: error: cast to smaller integer type 'outf_channel' from 'FILE ' (aka 'struct __sFILE ') [-Werror,-Wpointer-to-enum-cast] debug_back_trace ((outf_channel) to_dump); ^~~~~~~~~~~~~~~~~~~~~~ 1 error generated. make[1]: * [uxsig.o] Error 1 make: * [microcode/scheme] Error 2
As an update, I tried to see if I could compile MIT Scheme 11.1 from version 10, since 9 seems a bit far behind. The binaries for 10.11 (x86) installed just fine. Using 10.11 as a base, compiling 11.1 from source got farther, but ended up running into the same error during make (in uxsig.c) that the binary version of 11.2 had for me. I did notice that the make step in the binary of 10.11 actually encounters the same or similar problem, but it seems the compiler is configured to suppress it as a warning. I don't know enough about gcc to know which of these flags would work. Here's the relevant output (compare to the previously attached output for version 11):
gcc -DHAVE_CONFIG_H -DMIT_SCHEME -DDEFAULT_LIBRARY_PATH=\"/opt/local/mit-scheme/v10/lib/mit-scheme-x86-64\" -I. -I. -Wold-style-definition -Wextra -Wno-sign-compare -Wno-unused-parameter -Wstrict-prototypes -Wnested-externs -Wredundant-decls -Wall -Wundef -Wpointer-arith -Winline -O3 -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -fconstant-cfstrings -DSIGNAL_HANDLERS_CAN_USE_SCHEME_STACK -D_REENTRANT -o uxsig.o -c uxsig.c uxsig.c:1206:25: warning: cast to smaller integer type 'outf_channel' from 'FILE *' (aka 'struct __sFILE *') [-Wpointer-to-enum-cast] debug_back_trace ((outf_channel) to_dump);
I have tried installing MIT Scheme 11.2 from binary (x86 on an Intel Mac) but make fails with a problem in uxsig.c (see attached file). I tried configure both with some options set and without, and the error in make occurs both times. Since MacPorts has 9.2 as a package, I installed that and it works fine. I then tried to compile MIT Scheme 11.2 from source, both with and without --enable-cross-compiling explicitly set in the configure step. This leads to an error in the make stage as well, with "bytes-per-object" and the file bytevector.scm. More details are in the attached file.
(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)
Attach Files: Comment:
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Only logged-in users can vote.
Please enter the title of George Orwell's famous dystopian book (it's a date):
Follow 4 latest changes.
Copyright © 2023 Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. The Levitating, Meditating, Flute-playing Gnu logo is a GNU GPL'ed image provided by the Nevrax Design Team. Source Code
Powered by Savane 3.11