chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Installing Chicken 5.2.0 on Windows - chicken-install -update-db han


From: Jani Hakala
Subject: Re: Installing Chicken 5.2.0 on Windows - chicken-install -update-db hanging
Date: Tue, 24 Aug 2021 16:14:01 +0300
User-agent: Gnus/5.130013 (Ma Gnus v0.13) Emacs/27 (gnu/linux)

Hi,

The following patch might make a difference,

diff -up chicken-5.3.0rc1/file.c.orig chicken-5.3.0rc1/file.c
--- chicken-5.3.0rc1/file.c.orig        2021-08-24 15:19:00.847104480 +0300
+++ chicken-5.3.0rc1/file.c     2021-08-24 15:36:10.889230349 +0300
@@ -46,7 +46,7 @@ struct dirent
 typedef struct
 {
     struct _finddata_t  fdata;
-    int                 handle;
+    HANDLE              handle;
     struct dirent       current;
 } DIR;
 
diff -up chicken-5.3.0rc1/file.scm.orig chicken-5.3.0rc1/file.scm
--- chicken-5.3.0rc1/file.scm.orig      2021-08-24 15:18:56.063761366 +0300
+++ chicken-5.3.0rc1/file.scm   2021-08-24 15:36:02.129211933 +0300
@@ -77,7 +77,7 @@ struct dirent
 typedef struct
 {
     struct _finddata_t  fdata;
-    int                 handle;
+    HANDLE              handle;
     struct dirent       current;
 } DIR;
 
Since mingw-w64 provides opendir and readdir implementations, this could also 
work

diff -up chicken-5.3.0rc1/file.c.orig chicken-5.3.0rc1/file.c
--- chicken-5.3.0rc1/file.c.orig        2021-08-24 15:19:00.847104480 +0300
+++ chicken-5.3.0rc1/file.c     2021-08-24 15:36:10.889230349 +0300
@@ -34,7 +34,7 @@
 # define C_mkdir(str)       C_fix(mkdir(C_c_string(str)))
 #endif
 
-#if !defined(_WIN32) || defined(__CYGWIN__)
+#if !defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)
 # include <sys/types.h>
 # include <dirent.h>
 #else
@@ -46,7 +46,7 @@ struct dirent
 typedef struct
 {
     struct _finddata_t  fdata;
-    int                 handle;
+    HANDLE              handle;
     struct dirent       current;
 } DIR;
 
diff -up chicken-5.3.0rc1/file.scm.orig chicken-5.3.0rc1/file.scm
--- chicken-5.3.0rc1/file.scm.orig      2021-08-24 15:18:56.063761366 +0300
+++ chicken-5.3.0rc1/file.scm   2021-08-24 15:36:02.129211933 +0300
@@ -65,7 +65,7 @@
 # define C_mkdir(str)       C_fix(mkdir(C_c_string(str)))
 #endif
 
-#if !defined(_WIN32) || defined(__CYGWIN__)
+#if !defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)
 # include <sys/types.h>
 # include <dirent.h>
 #else
@@ -77,7 +77,7 @@ struct dirent
 typedef struct
 {
     struct _finddata_t  fdata;
-    int                 handle;
+    HANDLE              handle;
     struct dirent       current;
 } DIR;
 
At least that update-db doesn't get stuck on my computer (msys2,
mingw64/mingw-w64-x86_64-gcc 10.3.0-5).

Jani


Mark Fisher <mark.j.fisher@gmail.com> writes:

> Hi all,
>
> I'm on a new PC with windows 10 and thought I'd try getting a chicken
> environment up and running on MSYS2 MingGW-64.
>
> I've installed a fresh copy of msys2 and mingw64 from the msys2 site, doing
> the pacman updates on top.
>
> I've then followed the guide at http://wiki.call-cc.org/msys2 (except using
> 5.2.0 source instead) running under a MINGW64 terminal as advised.
>
> The compilation works fine, but when I run the install phase, the
> "chicken-install -update-db" just hangs:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]