Swipl PPA or snap on Chromebook Linux? (Debian "bullseye")

Is there a trick for installing the latest swipl on Chromebooks?
When I tried, this is what happened:

peter@penguin:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye
peter@penguin:~$ uname -a
Linux penguin 5.4.151-16908-gff376e5d5ee1 #1 SMP PREEMPT Sat Dec 11 19:28:06 PST 2021 x86_64 GNU/Linux

peter@penguin:~$ sudo apt-add-repository ppa:swi-prolog/devel
 More info: https://launchpad.net/~swi-prolog/+archive/ubuntu/devel
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keybox '/tmp/tmpgdywg1xt/pubring.gpg' created
gpg: /tmp/tmpgdywg1xt/trustdb.gpg: trustdb created
gpg: key EF8406856DBFCA18: public key "Launchpad PPA for SWI Prolog" imported
gpg: Total number processed: 1
gpg:               imported: 1
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
gpg: no valid OpenPGP data found.

peter@penguin:~$ sudo apt update
Hit:1 https://deb.debian.org/debian bullseye InRelease                                                                     
Ign:2 http://ppa.launchpad.net/swi-prolog/devel/ubuntu jammy InRelease                                                     
Ign:3 https://storage.googleapis.com/cros-packages/96 bullseye InRelease                                                   
Hit:4 https://storage.googleapis.com/cros-packages/96 bullseye Release                                           
Err:6 http://ppa.launchpad.net/swi-prolog/devel/ubuntu jammy Release                                     
  404  Not Found [IP: 2001:67c:1560:8008::19 80]
Get:7 https://security.debian.org bullseye-security InRelease [44.1 kB]
Get:8 https://security.debian.org bullseye-security/main amd64 Packages [100 kB]
Get:9 https://security.debian.org bullseye-security/main Translation-en [62.7 kB]
Reading package lists... Done             
E: The repository 'http://ppa.launchpad.net/swi-prolog/devel/ubuntu jammy Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

The only available package is rather old (8.2.4):

eter@penguin:~$ sudo apt install swi-prolog
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 27.6 kB of archives.
After this operation, 52.2 kB of additional disk space will be used.
Get:1 https://deb.debian.org/debian bullseye/main amd64 swi-prolog amd64 8.2.4+dfsg-1 [27.6 kB]
Fetched 27.6 kB in 1s (31.5 kB/s)     
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package swi-prolog.
(Reading database ... 57352 files and directories currently installed.)
Preparing to unpack .../swi-prolog_8.2.4+dfsg-1_amd64.deb ...
Unpacking swi-prolog (8.2.4+dfsg-1) ...
Setting up swi-prolog (8.2.4+dfsg-1) ...

snapd doesn’t seem to work either:

peter@penguin:~$ sudo snap install --edge swi-prolog
error: system does not fully support snapd: cannot mount squashfs image using "squashfs": mount:
       /tmp/sanity-mountpoint-652048469: mount failed: Operation not permitted.

Of course, I can rebuild (it was easy and surprisingly fast, especially compared to running in the Windows Subsystem for Linux), but others might also want to run swipl on a Chromebook without having to deal with github.

Looks like the answer is at linux - ChromeOS: error: system does not fully support snapd: cannot mount squashfs image using "squashfs": mount: - Stack Overflow

Can’t test it. Anyway, for Ubuntu we have PPAs. For other Linuxes we have snap and for everything we have the source code. And Docker, but that is more useful for servers. I don’t really see what more we can realistically do.

Is the solution more complicated than creating a “Release” file? It seems that somebody has done this for Debian “bullseye”, but hasn’t updated to the latest stable release.

(My ignorance of PPAs is almost total)

PS: the answer for snapd at StackOverflow doesn’t work. But thanks for the pointer – somehow I missed that one and am following up there.

Yes. Debian has maintainers that look at upstream software. They have a (rather conservative) release cycle where upstream software is added to the next Debian release in the various stages of maturity. All goes through rather rigid tests for portability to all their platforms, conformance of all license statements, etc. This typically takes a few iterations to get it right. This of course also includes the impact on software that depends on a Debian package.

In contrast, the Ubuntu PPA system works from the same specification for building the package and the package has the same .deb format. There is no central authority though. Anyone can register for building PPAs and uploads build specifications. These are built on Ubuntu’s build servers and available in a few minutes. The downside is that you must trust the party uploading the specs. They are built for all currently maintained Ubuntu releases. Sometimes they may work on other systems, but often shared library dependencies do not match.

The dependency problem is resolved by snap, which uses technology similar to Docker to realise an image that includes all dependencies by composing layers. Now the entire thing only depends on the kernel (and CPU) which has a great representation when it comes to compatibility. AFAIK, flatpack does something similar.

If you want a Linux system with up-to-date software, checkout one of the rolling releases such as gentoo swi-prolog package

Last but not least, build from source …