07-22-2022, 11:50 PM
Hello. Used QB64 since v0.86 approximately, was on the oldest of the forums for a while and contributed a few programs. Used v0.98 a lot but turned off by its bugginess and the inability to play ancient tracker modules. I created a few multimedia apps but not patient enough to do games which is what I want to do the most. I like creating and listening to electronic music on my computer.
TL;DR
While I have an Internet connection for a short time, after a pause of eight years, decided to test "Phoenix Edition" on various Linux distros. Tried so far with Fedora (v35 GNOME and v36 MATE and XFCE), Solus (MATE) and Void ("glibc" XFCE). One will need to do a bit of investigating so it works properly on Solus. Do not pick "musl" branch for Void because it will not work; it's 64-bit only and might be counterproductive to use a programming system like this. AV Linux is installed on another external disk but might not last long because I cannot use the touchpad, cannot change a lot of things because I purposely run it live with persistence. Tried many other distros like Bunsen Labs Lithium, Linux Mint, Mageia, OpenSUSE "Tumbleweed", Salix, usually failed because they insisted being installed only to an internal hard drive. Also had Ubuntu Studio v22.04 but my computer isn't powerful enough for it. I have Manjaro installed on hard disk and probably QB64 works there too (and for Arch) but I picked a package for some other BASIC. That one might be temporary, though, I don't like the desktop environment I chose for it (same as for Ubuntu Studio).
DISCLAIMER: I don't do "VirtualBox" or alike, it doesn't work on my computer. It might affect what could be done with QB64.
This programming system works without problems on Porteus, at least on my side. It only requires the download of "05-devel.xzm".
Info about Porteus GNU/Linux here:
https://distrowatch.com/table.php?distribution=porteus
(linked that page because the "standard" site is not "https" and some people are touchy about that)
Note this will not work on Slackware or whatever else is based on it! Do not try it!!! I am able to list precisely the shared libraries required for "qb64" and any ELF executable created with this programming system. Used "readelf" program.
However on eg. Slackware you will also need the header files, at least those that correspond to "Freeglut", "libX11" and the font-handling libraries. I'm sorry, I don't have any information about that. I only wanted to report a successful use of QB64 on a distro less known than Fedora, the 'untus and others.
BTW note to the developers. This is to cause a QB64-created program to be able to report runtime errors. You should consider changing the "MessageBox" code so on Linux, it searches for "xmessage" and if it doesn't find it, use "zenity" instead. Some distros don't come with "xmessage" and no easy way to acquire it, Solus is one of them. On Fedora the "xmessage" dialog might look strange and after that, it complains on terminal about a font missing "charsets". I made the change to "libqb.cpp" but I'm not going to post the portion with changes unless I'm asked for it.
One more thing, sorry if I keep writing. A BMP file could be loaded successfully but each time, it errors on the terminal about 16-bit files not supported. "_DEFLATE" and "_INFLATE" do not work, but "zlib" library seems to exist. Thank you for implementing "SHELL", this is very helpful and before that I had to write my own routine which was clunky.
TL;DR
While I have an Internet connection for a short time, after a pause of eight years, decided to test "Phoenix Edition" on various Linux distros. Tried so far with Fedora (v35 GNOME and v36 MATE and XFCE), Solus (MATE) and Void ("glibc" XFCE). One will need to do a bit of investigating so it works properly on Solus. Do not pick "musl" branch for Void because it will not work; it's 64-bit only and might be counterproductive to use a programming system like this. AV Linux is installed on another external disk but might not last long because I cannot use the touchpad, cannot change a lot of things because I purposely run it live with persistence. Tried many other distros like Bunsen Labs Lithium, Linux Mint, Mageia, OpenSUSE "Tumbleweed", Salix, usually failed because they insisted being installed only to an internal hard drive. Also had Ubuntu Studio v22.04 but my computer isn't powerful enough for it. I have Manjaro installed on hard disk and probably QB64 works there too (and for Arch) but I picked a package for some other BASIC. That one might be temporary, though, I don't like the desktop environment I chose for it (same as for Ubuntu Studio).
DISCLAIMER: I don't do "VirtualBox" or alike, it doesn't work on my computer. It might affect what could be done with QB64.
This programming system works without problems on Porteus, at least on my side. It only requires the download of "05-devel.xzm".
Info about Porteus GNU/Linux here:
https://distrowatch.com/table.php?distribution=porteus
(linked that page because the "standard" site is not "https" and some people are touchy about that)
Note this will not work on Slackware or whatever else is based on it! Do not try it!!! I am able to list precisely the shared libraries required for "qb64" and any ELF executable created with this programming system. Used "readelf" program.
Code: (Select All)
libGL.so.1
libGLU.so.1
libX11.so.6
libc.so.6
libgcc_s.so.1
libm.so.6
libstdc++.so.6
However on eg. Slackware you will also need the header files, at least those that correspond to "Freeglut", "libX11" and the font-handling libraries. I'm sorry, I don't have any information about that. I only wanted to report a successful use of QB64 on a distro less known than Fedora, the 'untus and others.
BTW note to the developers. This is to cause a QB64-created program to be able to report runtime errors. You should consider changing the "MessageBox" code so on Linux, it searches for "xmessage" and if it doesn't find it, use "zenity" instead. Some distros don't come with "xmessage" and no easy way to acquire it, Solus is one of them. On Fedora the "xmessage" dialog might look strange and after that, it complains on terminal about a font missing "charsets". I made the change to "libqb.cpp" but I'm not going to post the portion with changes unless I'm asked for it.
One more thing, sorry if I keep writing. A BMP file could be loaded successfully but each time, it errors on the terminal about 16-bit files not supported. "_DEFLATE" and "_INFLATE" do not work, but "zlib" library seems to exist. Thank you for implementing "SHELL", this is very helpful and before that I had to write my own routine which was clunky.