"Dr A Olowofoyeku" wrote:
Okay, so what succeeded? Bash succeeded in running "./configure". All sorts of things start appearing on my screen, including the fact that these files were not found; 1.glob.h 2.fnmatch.h 3.sys/statvfs.h
That did not seem to affect things though.
No, it shouldn't. These are files that don't exist on each system, and one of the purposes on configure is exactly to find out if they exist, and write this information to some headers, so the code will use them only if they exist.
The thing finishes running, and has created a number of files (including config.log and rts- config.h). I run "make", and some things happen, and then it chokes on 'file.c', at line:1665.
So you get already to the RTS. Not too bad for the first compilation. :-)
It claims that there are too few arguments to 'mkdir', in the function '_p_mkdir'.
Actually, that's good news. ;-) The GPC sources contain a workaround for a mingw problem. Apparently, the mingw problem has been solved now, so the workaround doesn't work anymore. But if you remove the workaround, i.e. the following lines in rts/file.c, it should work:
#if defined (_WIN32) && !defined (CYGWIN32) #define mkdir(path,mode) mkdir(path) #endif
I can't seem to locate where 'mkdir' is defined in the Cygwin headers, but I did find a reference to it in one header file, which seems to suggest that it takes 3 parameters, instead of 2.
3? That's strange -- according to POSIX, mkdir takes 2 parameters, and in older versions of mingw, it took only 1 parameter. So, I've got no idea what the 3rd parameter could be. So, if removing the workaround doesn't work, please tell me what the parameters are (as far as it says in the headers -- perhaps the parameter names give some hints), and we might need another workaround... :-(
Frank