[gambit-list] Gambit-C and cygwin
Marc Feeley
feeley at iro.umontreal.ca
Wed Mar 23 22:04:41 EDT 2011
On 2011-03-21, at 7:27 AM, Marc Feeley wrote:
>
> On 2011-03-21, at 3:03 AM, Valeriya Pudova wrote:
>
>> Thanks Mark,
>>
>> It makes sence
>>
>> It should! Perhaps you have mingw and cygwin installed on the same machine and when you call "gcc" it uses the wrong compiler (and I think the mingw gcc defines _WINDOWS by default). Just a guess. I remember some time ago that someone suggested using a flag line "gcc -mno-mingw" or something to prevent this problem. I'm not a Windows expert, so you need to dig for this yourself to verify.
>>
>>
>> I have made few tests
>
> I've been debugging this yesterday and I don't have a complete solution but I have discovered various bugs which have been fixed:
>
> 1) The shell-command procedure should be using /bin/sh to run the command, but it thinks that it should use CMD.EXE because it sees that COMSPEC is defined in the environment.
>
> 2) The gambc-cc.bat script, which contains a /bin/sh shell script, is being executed as a Windows batch file, because it has a ".bat" file extension. So it quickly has problems with the syntax of the commands in it.
>
> 3) When open-process creates a process (with fork and exec) the subprocess seems to hang, so the parent process hangs also. What is weird is that when Gambit is configured with "./configure --enable-debug" then the process no longer hangs. I'm currently investigating this problem (which I think is the last one to solve for a clean build on CYGWIN).
The problem is now solved (fixes pushed to the repo). It was a problem with the implementation of the heartbeat interrupts which were interrupting the call to "select", which caused open-process to fail.
Please update your Gambit and let me know if it fixes your problems.
Marc
More information about the Gambit-list
mailing list