
Ask HN: Core GNU components (flex, libtool) in dismaintenance - eqvinox
In some way or another, most of us probably use software built in C with autotools and possibly containing flex&#x2F;bison parsers.  Just straight up GNU coreutils (`ls`!) needs at least the former.<p>All the more alarming that 2 core ecosystem components have fallen into &quot;dismaintenance&quot;:<p>- Flex [https:&#x2F;&#x2F;github.com&#x2F;westes&#x2F;flex] - activity ebbed to almost zero around early 2018; year-old PRs piling up<p>- Libtool [https:&#x2F;&#x2F;savannah.gnu.org&#x2F;projects&#x2F;libtool&#x2F;] - last release in 2015, sparse commit activity by a lone RedHat person<p>How could it come to these, and what can we do to address this?  And what else might be falling into dismaintenance?  (I only noticed these two because I tried submitting patches!)<p>(For libtool, yes, there are much better build systems nowadays, but it&#x27;s still in use -automatically pulled in by autoconf&#x2F;automake- by a huge number of packages;  new build systems don&#x27;t help, but maybe the libtool dependency can be surgically removed from autoconf&#x2F;automake?)
======
rurban
I'll see what I can do for flex. I already have the GNU perms.

And no, libtools cannot be removed. It's still required for any cross platform
tool with shared libs

~~~
burfog
We built cross platform tools with shared libs long before libtools existed.
Removal would be best.

Flex is OK. It doesn't produce clean warning-free idiomatic C99 (or even C11)
source code. The historical defaults, for lex compatibility that isn't needed
anymore, are not good.

~~~
hrgiger
I am currently digging around build tools, can you give some examples how did
you manage your builds without libtools? Currently messing with LFS, its
heavily using as far as I understand. Only openssl explained their decision
why they didnt choose libtool path[0]

[[https://www.openssl.org/docs/faq.html#MISC5](https://www.openssl.org/docs/faq.html#MISC5)]
(Why aren't tools like 'autoconf' and 'libtool' or 'cmake' used?)

~~~
burfog
Plain old make will work. The older style would have a separate target for
each platform that is supported. The newer style is more like how the Linux
kernel build system works, with += operators in the Makefile to add options
and put things in lists.

Last time I used it, I found libtool to be a real mess. It had shell scripts
pretending to be object files. That is simply not acceptable. There were way
too many layers of gunk, making it difficult to have good control over what
was being created.

------
ryanmccullagh
I can confirm I have 2 PR's open for westes/flex - It looked to be that it was
being maintained. I sent these PR's 2 years ago.

