Page 1 of 1

Why does PureBasic only work on certain Linuxes?

Posted: Fri Jan 20, 2023 2:54 pm
by jacdelad
Hi #PB_All,
this may be a stupid question, but I didn't dig deep into Linux yet. Until now I used PureBasic only for Windows and right now I'm porting one tool to my Rapsberry Pi 400.

On Windows I can basically use my stuff with every version. When I say basically I'm aware that API calls may cause problems, but the PureBasic-defined functions are all available.

Now on Linux it seems to be different. With the new 6.0 Beta1 today I saw that there are versions for Debian and Ubuntu, plus they seem to need very specific versions.

So, can someone ELI5 to me (without much effort) why that is the case? Does the Linux API change with every major (or even minor) version? To me it seems a bit exhausting to offer an application to most of the linux distributions and versions.

Re: Why does PureBasic only work on certain Linuxes?

Posted: Fri Jan 20, 2023 4:07 pm
by mk-soft
The versions describe the system on which they were tested and compiled.
However, this does not mean that they do not also run on other distributions.


So you choose the Raspberry version if you want to work on a Linux Arm system. For example on a macOS with M1 and a Linux Arm virtual machine.

Which developer libraries to install depends on the distribution. The install guide for Debian based systems is included. But it also works for example with distributions with packet manager PACMAN. See Simple install of Purebasic.

For linux the downward compatibility is not the same as for Windows.

Example:
So you need an Ubuntu 18.04 version of PB to support the old WebKit. But this old WebKit is no longer available under Ubuntu 20.04 or higher.

There are no more 32 bit versions of Ubuntu. So there is a Debian 32 bit version.

Problem example:
If you compile a program under Ubuntu 22.04, it may not run under Ubuntu 20.04.
But if you compile under Ubuntu 20.04, it will also run under 22.04.

I myself have now switched from Ubuntu to Mint Linux LMDE 5.
All my Linux and Windows machines run as VMs under macOS Parallels.
In any case, you can also use VirtuelBox to test the different OS.