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