The magic behind configure, make, make install - How it works in Unix (thoughtbot.com)
from learnbyexample@programming.dev to linux@lemmy.ml on 13 Jan 2024 14:22
https://programming.dev/post/8540033

#linux

threaded - newest

bizdelnick@lemmy.ml on 13 Jan 2024 14:46 next collapse

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.

stsquad@lemmy.ml on 13 Jan 2024 16:18 next collapse

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.

Kangie@lemmy.srcfiles.zip on 13 Jan 2024 20:00 collapse

Eww. Just teach meson setup builddir && cd builddir && meson compile

stsquad@lemmy.ml on 13 Jan 2024 20:05 collapse

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 😉

bizdelnick@lemmy.ml on 13 Jan 2024 20:15 collapse

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.

ArcaneSlime@lemmy.dbzer0.com on 13 Jan 2024 16:28 next collapse

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.

bizdelnick@lemmy.ml on 13 Jan 2024 17:36 next collapse

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.

GnomeComedy@beehaw.org on 14 Jan 2024 14:57 collapse

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.

Snarwin@kbin.social on 14 Jan 2024 14:09 collapse

The first step after you untar is always "open the README and look for build instructions."

ArcaneSlime@lemmy.dbzer0.com on 14 Jan 2024 15:50 collapse

Thankfully, none were included lol. I think they assumed I already knew.

Kangie@lemmy.srcfiles.zip on 13 Jan 2024 20:01 collapse

This. If you’re starting a new project, and are not GNU, just use Meson. It’s the best widely-used build system.

kbal@fedia.io on 13 Jan 2024 15:48 collapse

Make is simple, easy, and effective. It's just "configure" that's full of black magic.