Masthash

#Autotools

Felix Palmen 📯
1 month ago

Today's progress on #FreeBSD #Linuxulator "userland from source" project: We have build systems! 🥳

Supported now (apart of plain #make): GNU #autotools (including #autoreconf), #cmake, #meson and #ninja!

They're all supported with their original #ports "USES", by some #bmake trickery in my new "USES=linuxsrc", fixing up just the parts that are different when building from/for the Linuxulator (like adjusting dependencies and commands to use the #Linux-native versions).

Ok, no #scons yet, didn't need it so far 🙈

Felix Palmen 📯
1 month ago

Hitting the next roadblock in my #FreeBSD #Linuxulator "userland from source" project: #Linux #Python is causing trouble. I got it to build and package, but runtime paths are wrong, *somehow* the "/compat/linux" prefix "sneaks in" 😞 (still didn't understand how exactly...).

You might ask why port python at all, and indeed, I didn't plan to do so initially.

The issue is build systems. With the goal to port shared libraries that might be needed by (closed-source) Linux binaries, not all of them use plain #make (or #GNU #autotools) for building.

#cmake is popular, so I'll need it. To build it using shared libraries itself, one of its prerequisites needs #meson, which, in turn, requires python. 🤯

Ahh, welcome to dependency hell 😜

Felix Palmen 📯
2 months ago

@jhx Hell, guess I love to hate that ...

I at least managed to have #GCC's libstdc++ configure script (#GNU #autotools generated) complete successfully. On #FreeBSD, targeting #Linux using binutils and GCC configured for cross-building.

It is soooo horrible, and all this kerfuffle is only needed because somehow, this script fails to detect that I *am* cross-building here. 🤯

Felix Palmen 📯
2 months ago

@jhx Debugging some #GNU #autotools generated configure script is awesome fun ... not.

Right now trying to get #GCC's libstdc++ to build (for #Linux, but still cross-building from #FreeBSD). Something is quite borked there ...

Felix Palmen 📯
2 months ago

Got over it and created an upstream PR for #fvwm3!

Well, I *knew* I would run into some #autotools foo. Can't use #autoconf to substitute @bindir@ in the .desktop file, it expands to ${exec_prefix}/bin (literally) 😜

https://github.com/fvwmorg/fvwm3/pull/876

Felix Palmen 📯
2 months ago

Just thought #GNU #autotools was the worst build system ever, when I suddenly remembered #MSBuild.

Context, should "upstream" some change to #fvwm3 which was now done locally in the #FreeBSD #port, and upstream uses autotools.

dnl #M4 sux! 😏

Arne Babenhauserheide
3 months ago

I stopped feeling bad about #autotools files (configure.ac Makefile.am m4/*) when I realized how much noise a new maven package throws on your disk.
The main difference is: for #maven / #npm / #cargo / #gradle / #bazel / ... these are autogenerated.

That’s why I started #conf: https://hg.sr.ht/~arnebab/conf — auto-generation for autotools projects with `conf new --lang <language>`.

It needs more templates … contributions welcome!
(just send me a patch or a link to pull from)
#gnu #make #freesoftware

mattst88 :gentoo:
3 months ago

You know how some people that know Java don't put it on their résumé because they don't want to work in Java?

For me, that's #autotools, #autoconf, #automake

PSA: please switch your projects to #Meson

Michał Górny
4 months ago

Dzisiejsza przygoda w #Gentoo:

tmux nie buduje się. Sypie się na niekompatybilnej deklaracji forkpty() w compat.h.

Zaglądam do compat.h. forkpty() jest zadeklarowane wówczas, gdy HAVE_FORKPTY nie jest spełnione.

Zaglądam do config.log. forkpty() nie zostaje odnalezione, bo configure próbuje konsolidować przypadkowe programy z -levent_core@CMAKE_DEBUG_POSTFIX@.

W tym momencie można już domyślić się, na czym polega problem: https://github.com/libevent/libevent/issues/1459

#CMake #autotools

Ale Funguju
5 months ago

Lately I've been working with projects written in C that utilize the GNU Autotools build system. I've found that I often want to change their configuration slightly (e.g. add AddressSanitizer to check for leaks) without discarding the current one. So I wrote a tiny interactive Bash script to make my life a little easier.

(EDIT: inline tags look weird - moved)

#C #GNU #Autotools #Automake #AddressSanitizer #Bash

Mark Gardner ‍:sdf:
5 months ago

@grin @sullybiker The main problem with #shell scripts is that they’re glue for other commands that may or may not be installed and may or may not be the same as those used by the author.

It’s why #dehydrated has so much logic detecting the installed flavor of awk, sed, grep, diff, et al. “Portable” shell is like portable #C—riddled with brittle environmental tests (thus begetting things like #GNU #Autotools).

Even #testssl admitted defeat and can run from a #Docker #container now.

David Runge
7 months ago

@serebit I agree.

FWIW: I'm also fine with #cmake as long as that is not used to reimplement #autotools 🤪

Kevin T
7 months ago

Have spent untold hours today fighting with #gnulib and #autotools only to find out that my problem was a weird shell alias thing. 😭😭

Rep. Eric Gallager (no "h"!)
9 months ago

Was trying to pick just one issue from my fork of gdb to share in this thread, but I swear I run into something new every time I try coming back to it, so I'll just link to the "help wanted" label I have applied to all of the currently-open ones: https://github.com/cooljeanius/apple-gdb-1824/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22
#GDB #GNU #Debugging #Debugger #HelpWanted #GitHub #GitHubIssue #gdbarch #autotools #libopcodes #libbfd

GTK
10 months ago

We are dropping the Autotools build for GTK 3.x, and have fully switched to Meson. If you package GTK 3 and you are still using Autotools, now is the time to switch.

For more information, see the announcement on Discourse: https://discourse.gnome.org/t/removing-the-autotools-build-for-gtk-3/12764

#gtk #meson #autotools #distro #packaging

Thomas Adam
10 months ago

@op Yes indeed. I see #mesonbuild being used more-and-more for wayland projects -- and I can see how it reduces some of the overhead/complexity that #autotools brings, but equally, #autotools is still superior in many ways, even though it comes with additional complexity.

This is one advantage age has over newer tools here.

Kevin Turing
10 months ago

Spending an inordinate amount of time today working on what I thought would be a quick build fix. I feel like I've gotten substantially better an using autotools this past month, but gnulib-tool continues to be an absolute thorn.
#programming #gnulib #autotools

Thomas Adam
10 months ago

I've been thinking about #autotools and how much boilerplate crap that project maintainers (such as myself) have to manage.

By this point, I'm fairly well-versed in that, but it does leave me wondering about the viability of those points before they become annoying.

I've been following (and using) #mesonbuild in other projects with some success -- and I have to say in comparison to #autotools, it's a breath of fresh air.

I've already started on a PoC for #fvwm3 in transitioning to #mesonbuild

I'm wondering about whether I should switch #gameoftrees -portable over to it.

How do downstream packagers of projects think about this? Are Linux distros geared up for using #mesonbuild? What about *BSDs?

FOSSlife
1 year ago
grid globe encircled by binary code

"Why GNU Autotools Is Not My Favorite Build System" [2011], Jussi Pakkanen (https://web.archive.org/web/20140811202846/https:/voices.canonical.com/jussi.pakkanen/2011/09/13/autotools/).

See also:

"Meson Design Rationale: A Proposal For A Better Cross Platform Build System" (https://sourceforge.net/p/meson/wiki/Design%20rationale/).

#Build #Unix #Programming #Portability #Meson #Autotools

Maciej Barć
2 years ago

#xorg #x11 #autotools #meson

"X.Org Server Bids Farewell To Autotools"

What do you people think about this?

https://www.phoronix.com/scan.php?page=news_item&px=X.Org-Bye-Bye-Autotools

People still seem to be unhappy with #Meson, #CMake, #AutoTools, #SCons, etc. - good #BuildTools are hard:

“The Rise Of Meson”, Georg Sauthoff (https://gms.tf/the-rise-of-meson.html).

Via HN: https://news.ycombinator.com/item?id=28372545

#Build #Make #Fedora #Dependencies #Packages

Ludovic Courtès
2 years ago

Red Hat recruits to work on the #GNU #Autotools:
https://global-redhat.icims.com/jobs/88454/senior-software-engineer---autotools/job

Your challenge: get recruited, use #Guile to replace M4 and Perl, and add a #Guix backend.

FOSSlife
2 years ago

FOSS Skills: Rick Brownrigg explains what happens behind the scenes when you build software from source https://buff.ly/3yI9lSw #OpenSource #Autotools #FOSS #configure #tools #OpenSourceSoftware

@bfiedler: Aua. Aber gut, CMake ist für mich eh komplett unverständlich und ich bin über jeden Upstream unglücklich, der von was funktionierendem wie GNU #Autotools hin zu #CMake wechselt.

Jeko
3 years ago

Yeah ! 🤘 New version of #Guile Hall !

You can chill thanks to its #autotools and #guix sugar.

With this v0.3.1, I can use it to simplify my projects' distribution !

https://gitlab.com/a-sassmannshausen/guile-hall

#gnu #scheme

mmu_man
4 years ago

"Ceci indique l'article est ou sera très prochainement publié dans : #GLMF 234 (février)."

Ah cool, mon article sur #autotools va enfin sortir (c'était prévu pour un HS mais y avait pas la place)…

Il explique comment partir de zéro avec #autoconf & friends, et quelques trucs pour maintenir les projets utilisant ça.

Quelqu'un pense que c'est utile de demander la republication en CC-nc-nd plus tard ?

🎹 Tim Janik ✅
5 years ago

I'd love to learn what others are using instead of #libtool.

Related blog post here:
https://testbit.eu/2019/replace-libtool-turn-full-gnu-make

TL;DR
Replacing libtool has been the major hurdle for me for replacing #autotools, and long term I want to get rid of both.