3 ms·
Portable, Reusable Code from Gnulib – The Module List
- mdaniel 7y agoI'm not sure if this has been fixed recently, but almost every contact I've had with gnulib as a _consumer_ has been an incredibly frustrating experience, due to what appears to be a copy-paste distribution model. It's so hard to tell what version of gnulib was copied into a project, and possibly modified thereafter, so the upgrade path to fix a failing build is horrible. I fully appreciate that such an outcome may not be gnulib's fault, but I have seen that antipattern across enough projects which use gnulib to lead me to believe they are taking guidance from some quickstart or something
- naniwaduni 7y agoIt's intentional: > Gnulib takes a different approach. Its components are intended to be shared at the source level, rather than being a library that gets built, installed, and linked against. Thus, there is no distribution tarball; the idea is to copy files from Gnulib into your own source tree. https://www.gnu.org/software/gnulib/ https://www.gnu.org/software/gnulib/ The musl FAQ has some, ah, choice words: https://wiki.musl-libc.org/faq.html#Q:-I'm-getting-a-gnulib-error https://wiki.musl-libc.org/faq.html#Q:-I'm-getting-a-gnulib-... gnulib is like the hellspawn retroactive offspring of autoconf and a vendored copy of jquery. The "portability" issues it solves are immediately invalidated when your code probably won't compile under a pre-C99 compiler unless you pay special attention anyway, and the kind of people who run those systems either know what they're getting into or aren't likely intending to be installing new software. Then it goes creating problems in otherwise perfectly fine environments. Don't use it.
- rurban 7y agoOr don't use broken musl. This fight came up because musl refuses to identify itself with __MUSL__ unlike all other libc's, and watching after multiple broken implementations became too cumbersome. Most GNU projects nowadays just just bootstrap or autogen.sh to run a git submodule init --update on gnulib. musl is not in the weird architecture category as windows or PA-RISC, ..., but it's still has problems which need to be fixed.
- naniwaduni 7y agomusl at least has useful uses. gnulib doesn't. I'm more willing to overlook some quirkiness out of a useful thing than something that doesn't even manage to really solve a dead horse problem.