On 12 Sep 99, at 18:50, Frank Heckenbach 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.
Ok.
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. :-)
I was (pleasantly) surprised it got that far ;)
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
Removing those 3 lines did it.
Now I have the following: bind.o error.o file.o filename.o heap.o internal.o misc.o pexecute.o randfile.o read.o rt0.o rts.o rts-va.o string.o string2.o time.o write.o
error.gpi filename.gpi heap.gpi internal.gpi string.gpi string2.gpi time.gpi files.gpi
The process then chokes on compiling 'files.pas', with these errors; line 257: function 'Sleepmicroseconds' argument does not match conformant array formal parameter invalid use of void expression argument does not match conformant array formal parameter too few arguments to function 'Ioselect'
line 310: function 'Stringtfdd_rewrite' assignment from incompatible pointer type
I have looked at 'files.pas', and it is not obvious why there should be a problem with those lines. However, I will continue to work on it. In the meantime, I am open to suggestions ;)
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... :-(
My mistake. It was 2 parameters, but I got confused by all the stars and commas, etc.
Best regards, The Chief -------- Dr. Abimbola A. Olowofoyeku (The African Chief) Email: laa12@keele.ac.uk Homepage: http://ourworld.compuserve.com/homepages/African_Chief/ Author of: Chief's Installer Pro v5.20a for Win32 ftp://ftp.demon.co.uk/pub/ibmpc/win95/apps/chief32/chief52a.zip