[squeak-dev] GoferRepositoryError: can''t find EOCD position
stes@PANDORA.BE
stes at telenet.be
Fri Nov 27 16:18:44 UTC 2020
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
In the Squeak 4.5 #15117 image, under Browser->ZipArchive->readFrom:
eocdPosition <= 0 ifTrue: [self error: 'can''t find EOCD position'].
Under "Versions" it is indicated:
nk 12/06/2002 17:09 ZipArchive readFrom: {reading}
In the Squeak6.0alpha #20077 image, ZipArchive readFrom: has under "Versions":
dtl 9/28/2017 20:31 ZipArchive readFrom: {reading}
So I just copy paste that implementation into the 4.6 image and accept it.
If there is a better way to do it, I would be interested to learn about it.
Perhaps there is a clever way to file in methods from a different image.
The 2017 version issues:
eocdPosition <= 0 ifTrue: [self error: self class name, ' cannot find EOCD position in ', aStreamOrFileName name].
So after my change the "prettyDiffs" shows a difference for the error: line,
in the implementation of the readFrom: message.
Now -- using the new readFrom: implementation for ZipArchive --
to come back to the original problem when loading Metacello.
"Load the Preview version of Metacello from GitHub"
(Smalltalk at: #Metacello) new
configuration: 'MetacelloPreview';
version: #stable;
repository: 'github://Metacello/metacello:configuration';
load.
results in:
Could not resolve: ConfigurationOfMetacelloPreview [ConfigurationOfMetacelloPreview] in (..)/package-cache github://Metacello/metacello:configuration ERROR: 'GoferRepositoryError: ZipArchive cannot find EOCD position in /tmp/github-Metacellometacelloconfiguration.zip'
There is a file in /tmp that is probably corrupt:
bash-4.4$ ls -l /tmp/github-Metacellometacelloconfiguration.zip
- -rw-r--r-- 1 stes users 845 Nov 27 10:58 /tmp/github-Metacellometacelloconfiguration.zip
When trying to unzip that file from the UNIX command line:
bash-4.4$ unzip github-Metacellometacelloconfiguration.zip
Archive: github-Metacellometacelloconfiguration.zip
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
I'll have to give this issue a try under a different SqueakVM.
Perhaps it's just not working, I suspect issues as the gemsource method,
are crossplatform bugs.
Anyway - despite the above - I can continue, and I can load Metacello,
and even Seaside #release 3.1. Loading Seaside #release 3.1 by Metacello works.
Remember that I had to fix the URL in the Installer gemsource method.
I changed the gemsource message to use the URL: gemsource.com
changed to gemtalksystems.com
I suspect such a change clearly must be indicating a cross-platform bug.
So perhaps it has not been tested for a long time with Squeak 4.
Or Squeak 4.6 is simply not supported by the Seaside folks.
They have an old Seaside 2.6, 2.7, 2.8 on their github site, but I don't
immediately see instructions for the 2.x, everything is about Seaside3.
Perhaps Seaside 2.x had better support for Squeak 4.
Regards,
David Stes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQEcBAEBCAAGBQJfwSY7AAoJEAwpOKXMq1MaoVwH/R8W0wNz0HE0hiJNW70/QzvG
KzliKzWWhneDbnoNpQwm4aNPbW8Vqv/DpEwGIIYGuhVceuspwzpXTqcyA0bJY55J
uVe5tAtVvM/FwDnZOQaPXlv4GhdjuLAVrGQ6PPNRL1auMR30gWTO/dq/ctoEycum
Iz62am1p9Gfe0kgsHUwzuO/r8ceg95EOfGEmdrkBxUJG6J6+2aZKqh8/zqUjYnVf
RvGHSSxmUk8MzYhFrPg4O9CADMDGG8569nY06IYFVwMv81uM7grlnrslGa5h8iDp
S7P8SQccUp37okG0Kc4tfrM9TwoQminBp0oocDIT9emCxCXVWxJ/K6SJ54V/49o=
=prFY
-----END PGP SIGNATURE-----
More information about the Squeak-dev
mailing list
|