|
From: | Matt Welland |
Subject: | Re: [PATCH] Re: Eggs not installing on msys-mingw32 |
Date: | Mon, 30 Oct 2023 09:37:49 -0400 |
I think I was premature in concluding that removing the empty files was sufficient to fix this. I can remove the empty file but the moment I hit an egg that depends on check-errors it seems to get stuck.I turned off the continuous virus feature and I tried using CHICKEN_EGG_CACHE to put the cache in /tmp and each time it seems to go further but fails on check-errors.egg-info. Note that check-errors appears to be properly installed as it imports fine. I think something is attempting to remove or rewrite the check-errors.egg-info file and that causes the problem, at least that is currently my best guess.Unfortunately I don't think that stopping and reporting the empty file will be sufficient but I will try the patch. Any suggestions as to what to try next?On Mon, Oct 30, 2023 at 9:14 AM Mario Domenech Goulart <mario@parenteses.org> wrote:On Mon, 30 Oct 2023 14:01:44 +0100 felix.winkelmann@bevuta.com wrote:
>> That was it. Thanks. I do have to keep running:
>>
>> find /software/ -name \*.egg-info -empty -delete -print
>>
>> as check-errors.egg-info seems to be a pervasive problem. Maybe it would be
>> worth it to add a defence against this?
>
> Sorry - wrong patch, this is the right one.
>
>
> felix
>
>
> From 8a2a82a8171744546badacaa297bcf754bff3eba Mon Sep 17 00:00:00 2001
> From: felix <felix@call-with-current-continuation.org>
> Date: Mon, 30 Oct 2023 14:00:41 +0100
> Subject: [PATCH] handle case when egg-info file is empty
>
> ---
> egg-information.scm | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/egg-information.scm b/egg-information.scm
> index 6f5f7cb9..1e7f8aec 100644
> --- a/egg-information.scm
> +++ b/egg-information.scm
> @@ -34,8 +34,11 @@
> (if (file-exists? fname*) fname* fname)))
>
> (define (load-egg-info fname)
> - (let ((fname (locate-egg-file fname)))
> - (with-input-from-file fname read)))
> + (let* ((fname (locate-egg-file fname))
> + (info (with-input-from-file fname read)))
> + (if (eof-object? info)
> + (error "empty egg-info file, possibly due to an aborted egg-install - please remove the file and retry" fname)
> + info)))
How about
"empty egg-info file, possibly due to an aborted egg-install - please remove the file and reinstall the corresponding egg"?
Rationale: Matt's case. check-errors.egg-info was empty, but the
installation of base64 was failing. If Matt had removed
check-errors.egg-info and retried installing base64, the installation of
base64 would work, but check-errors would still be broken
(chicken-status and chicken-uninstall would ignore it, for example).
All the best.
Mario
--
http://parenteses.org/mario
----Complexity is your enemy. Any fool can make something complicated.It is hard to keep things simple. - Richard Branson.
[Prev in Thread] | Current Thread | [Next in Thread] |