this post was submitted on 13 Jan 2024
37 points (100.0% liked)
Linux
1259 readers
82 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Autocrap is a bloated obsolete stuff that is mostly replaced with other tools like cmake or meson. There's no need to learn it today.
Hell maybe I do need to learn some shit, because I was under the impression that you cd into the folder after you untar it, then type
./configure
make
sudo make install
, but the last two packages I attempted to install from source like this just did nothing.Maybe. But maybe they did nothing because there was no
./configure
script and you had to use another tool, e. g. one of that I mentioned, so you need to learn another shit.BTW installing anything from source like this is the right way only in (B)LFS.
But you definitely don't need to learn this if you are a developer and starting a new project in 2024. You can use cmake or write plain makefiles, even shell scripts if you want, but as you value life or your reason keep away from the autotools. It is a nightmare to debug thousands lines of scripts they generate and put into your source tree.
You assume everyone has root.
On a system I don't administer, I can compile and install software in my home directory (or shared directories that I have write access) by using:
./configure --PREFIX=/home/myuser/software/
make # to compile
make install #without sudo, to install to ~/software/bin
So when you say "only in (B)LFS", you're overlooking a VERY common use case - especially in HPC and other systems NOT running on my desk/lap.
The first step after you untar is always "open the README and look for build instructions."
Thankfully, none were included lol. I think they assumed I already knew.
This. If you're starting a new project, and are not GNU, just use Meson. It's the best widely-used build system.
Indeed - the general configure, build install steps are fairly universal and the configure script doesn't have to cover from autoconf. We still have that and Makefiles as a wrapper around a meson based setup to keep the process familiar.
Eww. Just teach
meson setup builddir && cd builddir && meson compile
There are still some things meson can't do which we need the configure script for. The meson upstream are slowly working through our feature requests 😉
Really? I supposed that I'm too conservative for still using cmake. But seems there's a reason for that. ☺
Well, seriously, I don't like meson because it does some things another way than more traditional tools for no reason. Sometimes this is painful, especially when cross compiling. Seems that it was originally designed without cross compilation in mind unlike cmake.