I don’t know because it’s just a script and after it finished I need to open a terminal emulator, cd gentoo, type startprefix to get inside the Gentoo prefix and from there it gives errors as earlier messages. If I try to open a package from terminal emulator without starting the prefix Void doesn’t find the program.
If anyone wants to discuss building software from source code, we’ll be meeting Saturday, July 26th at 1:30 PM Eastern time. I believe that makes it GMT -4. We’ll be on Jitsi: Jitsi Meet
We had our first meeting with 4 people showing. It was just a high level overview. We discussed some of the many choices there are when building a Linux system from source. First, there’s choice of compiler such as gnu compiler suite or llvm and the C library to use with it, glib, musl, uclibc, etc. There are choices like init systems and boot loaders. There’s the decision whether to make a console or GUI system and whether to use options like framebuffer, X Windows, Wayland, nano-x, etc. There’s openssl versus libressl versus bearssl or a number of other interesting SSL options out there. There’s also ALSA versus OSS or possibly even TinyAlsa. Those are just some of the lower level decisions. That doesn’t even take into account the desktop or window manager or types of software someone might choose to run. We’re hoping to go into more detail about various choices in upcoming meetings.
We’re going to be having a meeting in conjunction with Beyond 40 to talk about building Linux from source code on September 13th. More details here: Beyond40 - A Free Software Caucus · Gathio Hope some of you can join us.
We’ll be meeting once more for Free Software Day and discussing building programs from source as well as Free, Libre and Open Source Software in general. If you can, please join us on Saturday, September 20th on Jitsi. More details here: PBSFG Virtual SFD 2025 - Digital Freedom Foundation
Late to the show but .. isn’t running AppImages a similar way to perform this? I see AppImage’s as a tip of the hat to how Microsoft used to bundle “click-to-run” code in the early .NET days, but possibly a bit more secure. All dependencies (including malware lol) were “bundled” with the app. But I think this wasn’t true sandboxed code, and I think dockerized and network-isolated VMs may be the more sanitized way …
Not sure why, in the era of 16-96 GIBIbytes of RAM, we need microkernels anyway, even RasPi devices have at least 8 GiB? That said IoT stuff is taking over, and unifunction devices running webservers in 256 bytes of code are pretty cool, a bit more than throwback conversation starters!
You could run an AppImage. The important part was the ability to build the code from source so that it can be modified or patched as desired and did not have to be exactly the same as the upstream version.
Went through some of my build scripts. I have 100s of them. Decided to go through and rebuild some of my libraries and packages for the holidays. Today I got through my archive related libraries and programs. That includes libz, bzip2, unzip, zip, liblzw, zstd, bsdgzip, libarchive and libxml2 needed by libarchive. They built successfully but 4 of them are not on the most current version. It’d be fun to do these builds as a group, but for now, I’m just doing it on my own. Still trying to come up with a good plan on how to share build scripts in case anyone else is interesting in trying them.
So what do you put in a build script, apart from Makefile? Do you use it to download the source? Could we see an example?
I have some older examples at the archive link here: Laura Michaels' Pages - LM Ports I need to update them but the examples include the source and the build scripts. The build scripts are similar to slackbuild scripts. They have links to the source code and project site, a description of the project and version information. They download the source if it’s still available or use already downloaded source if it’s in the build directory, they unpack the source code, patch if needed, build the project and make a tarball with the results from the build.
Thanks, I needed to get a grasp of what you meant by a build script. Compiling is a small part of it.
Some software has configure options, such as whether to include particular libraries. I assume you handle that because it is one of the reasons people compile from source. Gentoo handles it with flags.
I might try one of your tarballs… see if I can unpack it and install from there. That may give me a feel for it.
I think you’d need a build script and the source to test it out. Tarballs with executable are targeted to a specific machine and processor and won’t be useful if they don’t match yours. A good example to build might be lxsplit. lxsplit.zip has the build script inputs and a couple of sample build scripts for Linux and Windows. The source file is lxsplit-0.2.4.tar.gz. Assuming you’re building somewhere on your system in subdirectory src/lxsplit, place lxsplit-0.2.4.tar.gz in that subdirectory and the build script bld.sh in src/lxsplit/linuxgcc/bld. Make sure the permissions are set to execute on the build script. Run the script (bld.sh) and it should create a tarball for you with the compiled lxsplit program. You’ll need the C compiler on your system. Since people can have different tools, different compression and decompression programs and different compilers or be on different operating systems, I have files I input that create the build scripts specifically for each system. Trying to use one script for any combination of operating systems, core utilities and compilers would be difficult.
OK, thanks. Yes I need to try and use one of your build scripts. It is the only way to appreciate your issues. I currently have 2 Voids, one with glibc, one with musl. I might try there. Another interesting place would be antiX.