Control: reassign -1 eye 22.0203.1955~ds-1

Hi,

Since now SWI-Prolog in Debian supports setting an arch-independent path
to the interpreter (8.4.3+dfsg-1, uploaded on 2022-09-18, in testing
since 2022-09-21), I'm reassigning this bug report to eye. The eye
package needs rebuild against the mentioned new swi-prolog version using
something like this command:

swipl -o myexe --emulator=/usr/bin/swipl -c mycode.pl

Cheers!
Lev

Вс 18 сен 2022 @ 23:23 Lev Lamberov <dogs...@debian.org>:

> Hi Jonas,
>
> Вт 06 сен 2022 @ 16:10 Jonas Smedegaard <jo...@jones.dk>:
>
>> Quoting Lev Lamberov (2022-09-06 14:00:55)
>>> Hi Jonas,
>>> 
>>> Сб 03 сен 2022 @ 21:19 Jonas Smedegaard <jo...@jones.dk>:
>>> 
>>> >> The autopkgtest caught that the package is not functional on !amd64:
>>> >> 
>>> >> (buster_arm64-dchroot)bunk@amdahl:/tmp$ eye.pvm 
>>> >> /usr/bin/eye.pvm: 3: exec: /usr/lib/swi-prolog/bin/x86_64-linux/swipl: 
>>> >> not found
>>> >> (buster_arm64-dchroot)bunk@amdahl:/tmp$ 
>>> >> 
>>> >> Changing Architecture: from "all" to "any" might be a reasonable option.
>>> >
>>> > In my understanding, this is a bug in SWI Prolog, in that when
>>> > generating a so-called "intermediate code file" it embeds an
>>> > arch-specific path to the interpreter instead of the arch-independent
>>> > symlink in PATH: /usr/bin/swipl
>>> >
>>> > @Lev: What do you think?  Is it possible to patch SWI Prolog to embed an
>>> > architecture-agnostic path for executing intermediary files?
>>> 
>>> SWI-Prolog supports three different pre-compiled formats: qlf, boot.prc,
>>> and user created states. The first two do not include paths to the
>>> interpreter. Looks like eye relies on the third one. I've asked upstream
>>> about the possibility to embed an arch-independent path to such user
>>> created states and got the answer that sometimes it is not a good idea,
>>> because these states may differ due to conditional compilation. I've
>>> looked into eye and looks like it does not (at least curretly, or I was
>>> not able to spot it) use conditional compilation on various
>>> architectures. So, I think it is probably save to embed arch-independent
>>> path to the interpreter. SWI-Prolog upstream pushed a commit to support
>>> this feature, but one should enable it explicitely with a command-line
>>> option when running swipl to generate pre-compiled file of this kind
>>> (like, swipl -o myexe --emulator=/usr/bin/swipl -c mycode.pl). I will
>>> add this patch to the swi-prolog in Debian in the near future (probably,
>>> I will have some time for it on the coming weekend, also I plan to
>>> finish packaging a new upstream stable release, 8.4.3, where Debian is
>>> at 8.4.2 at this point). I'll let you know when you can experiment with
>>> eye concerning this change.
>>
>> Cool!  Thanks a lot!
>
> Finally, I've just uploaded swi-prolog 8.4.3 including patch to allow
> setting path to the interpreter.
>
> Cheers!
> Lev

Reply via email to