Re: [PATCH] Re: Eggs not installing on msys-mingw32

Matt Welland <[email protected]>
Newsgroups gmane.lisp.scheme.chicken
Message-ID <CAFp=CokngphZsbj9gem6HmyvDowedT2Swp_QaF0c5RRWL0+PGg@mail.gmail.com>
Well, I have no idea what is going on but I'm suspecting a hardware
problem. In my last reply I was confident the problem was reproducible but
as I continued to try things that proved to not be the case.

I switched to working with Chicken-5.3.0rc2 and the build there failed on
creation of modules.db, again it was very reliably reproducible. Thinking
this was maybe a race condition between the creation of the modules.db file
and the following file copy I added a little code to read the file back and
compare it. The problem went away. Unfortunately when I reverted the code
the problem did not return. That does not make any sense whatsoever.

Currently I'm able to get to where when I install the sqlite3 egg it fails
with:

Error: unterminated list

If I run the install a couple times it results in a working egg.

I'll keep chipping away at this but I don't think I have anything tangible
to offer in terms of a problem statement other than ... "Windows sucks".

On Tue, Oct 31, 2023 at 3:25 AM Peter Bex <[email protected]> wrote:

> On Mon, Oct 30, 2023 at 05:45:28PM -0400, Matt Welland wrote:
> > Well, maybe there is a silver lining here, I can currently reliably
> > reproduce the problem!
>
> That's excellent!  Do you have to do any special steps, or does it
> simply always happen?
>
> > One hypothesis I'm looking at is replacing calls using
> with-input-from-file
> > and with-output-to-file with open-*-file ... close loops for the reading
> > and creation of the egg-info files.
>
> You're probably on the wrong track there.  AFAICT, egg-info files are
> only *created* in the foo.install.sh / foo.install.bat file, at the very
> end where (on *nix) it uses cat(1) to write into it.
>
> If the file is already empty, changing how it's read won't make a
> difference.
>
> The only way it would fail that I can see is if one presses ^C to abort
> installation at a very unlucky time.  This sounds like a race condition
> but depending on the shell, it might be that it will process that signal
> after evaluating the line that redirects stdout to the egg-info file,
> but before actually invoking cat.  Dunno, grasping at straws here :)
>
> Since you're using mingw, it's a UNIX shell at least.  Could you try
> inserting a sync(1) call at the end of the .install.sh file to see if
> that fixes things?
>
> Cheers,
> Peter
>


-- 
--
Complexity is your enemy. Any fool can make something complicated.
It is hard to keep things simple. - Richard Branson.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.