Bug#886986: please remove bump-fasl-loader-version.patch
Sébastien Villemot
sebastien at debian.org
Fri Jan 12 09:31:17 UTC 2018
Package: clisp
Version: 1:2.49.20170913-3
This bug was reported by Bruno Haible by private email, see below.
----- Forwarded message from Bruno Haible <bruno at clisp.org> -----
Date: Thu, 11 Jan 2018 22:42:00 +0100
From: Bruno Haible <bruno at clisp.org>
To: Sébastien Villemot <sebastien at debian.org>, Norbert Preining <preining at debian.org>
Cc: Agustin Martin <agmartin at debian.org>, Sam Steingold <sds at gnu.org>
Subject: please remove bump-fasl-loader-version.patch
Message-ID: <2525153.Z8IsqQcaN0 at omega>
Hi Sébastien,
In clisp for Debian 'unstable', there is a patch
bump-fasl-loader-version.patch, originating from
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=877223
--- a/src/constobj.d
+++ b/src/constobj.d
@@ -337,7 +337,7 @@
/* The date of the last change of the bytecode interpreter
or the arglist of any built-in function in FUNTAB or FUNTABR */
/* when changing, remove legacy ABI! */
- LISPOBJ(version,"(20100806)")
+ LISPOBJ(version,"(20100807)")
LISPOBJ(machine_type_string,"NIL")
LISPOBJ(machine_version_string,"NIL")
LISPOBJ(machine_instance_string,"NIL")
Please remove this patch.
1) It does not reliably fix the original issue.
2) It has undesired side effects, unrelated to the original issue.
Ad 1):
The original issue was an error
initialization file `/usr/lib/xindy/xindy.mem' was not created by this version of CLISP runtime
This error comes from src/spvw_memfile.d, and the clisp version that
created the .mem file and the clisp version that attempts to use the .mem
file disagree in
- either the *object representation* (especially HEAPCODES vs. TYPECODES) [1],
- or the set of add-on modules and their symbols.
The issue will reoccur when Sébastien uploads new clisp binaries
- either from a new clisp version (I'm currently preparing a 2.49.70)
that has a different heuristic for choosing the object representation,
- or build with a different setting of --enable-portability (because
on 32-bit platforms this also has an effect on the object representation
and the xindy.mem file remains unchanged.
Ad 2):
Assume a university installs clisp-2.50 on all its computers: from the Debian
packages on Debian machines, and from source on the other machines. (As a matter
of fact, the Math department of Utah university does exactly this.)
The Debian machines will write .fas files with a version stamp
(SYSTEM::VERSION '(20100807.))
and the other machines will write .fas files with a version stamp
(SYSTEM::VERSION '(20100806.))
The effect will be that users working in NFS-mounted directories will find that
their fas files from one machine don't work on some other machines. This would
be a MAJOR annoyance when working with clisp.
How to fix the original problem?
Rule:
When xindy is already installed on a user's machine and a newer clisp build
gets installed that has a different .mem file format, the .mem file must
be regenerated.
clisp could (but does not currently) provide a hash code for the .mem file
format. Therefore - not knowing whether the .mem file format has changed or not -
the rule to be applied is:
When xindy is already installed on a user's machine and a newer clisp build
gets installed, the .mem file must be regenerated.
How to implement this rule, is Debian specific.
I don't think a 'dep:' link will be a maintainable solution. (This would
require that clisp provides a command that produces said hash code.)
Instead, how about this:
- The binary package of xindy includes not only the .mem file but also
the set of .fas files that gave rise to it.
- The binary package of clisp contains a post-install trigger that will
rebuild the xindy.mem file from its .fas files. (And likewise for all
other packages that are in the same situation as xindy.)
Bruno
[1] https://clisp.sourceforge.io/impnotes/typecodes.html
----- End forwarded message -----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-common-lisp-devel/attachments/20180112/ad5286c7/attachment.sig>
More information about the pkg-common-lisp-devel
mailing list