Live data from Hacker News

The C-Shaped Hole in Package Management

nesbitt.io

71–77 of 77 posts

Re: The C-Shaped Hole in Package Management

#71
post #5

very related: https://michael.orlitzky.com/articles/motherfuckers_need_pac...

They lost me when they advocate for global dependencies instead of bundling. Are you supposed to have one `python` in your machine? One copy of LLVM (shared across languages!) ? One `cuda-runtime`?

Re: The C-Shaped Hole in Package Management

#72
post #3
post #2

Please don't. C packaging in distros is working fine and doesn't need to turn into crap like the other language-specific package managers. If you don't know how to use pkgconf then that's your problem.

^ This. Plus, we already have great C package management. Its called CMake.

That's not great, that's horrible. It only helps windows users, which are used to even worse horrors. autotools and pkgconfig is fine.

Re: The C-Shaped Hole in Package Management

#73
post #47
post #2

Please don't. C packaging in distros is working fine and doesn't need to turn into crap like the other language-specific package managers. If you don't know how to use pkgconf then that's your problem.

I've contemplated this quite a bit (and I personally maintain a C++ artifact that I deploy to production machines, and I generally prefer not to use containers for it), and I think I disagree. Distributions have solved a very specific problem quite nicely: they are building what is effectively one application (the distro) with many optional pieces, it has one set of dependencies, and the users update the whole thing…

For shared computer clusters it is is common to use modulefiles to sort of build a second level of dependencies (by massacring LD_LIBRARY_PATH, LIBRARY_PATH, CPATH and PATH.. it would be a quality of life improvement to have a better way of managing those!)

Re: The C-Shaped Hole in Package Management

#74
post #5

very related: https://michael.orlitzky.com/articles/motherfuckers_need_pac...

They lost me when they advocate for global dependencies instead of bundling. Are you supposed to have one `python` in your machine? One copy of LLVM (shared across languages!) ? One `cuda-runtime`?

yes... the fact that python keeps breaking backwards compatibility is a bug not a feature.

Re: The C-Shaped Hole in Package Management

#76
post #57

Earlier quoted context omitted.

I find this sentiment bewildering. Can you help me understand your perspective? Is this specifically C or C++? How do you manage a C/C++ project across a team without a package manager? What is your methodology for incorporating third party libraries? I have spent the better half of 10 years navigating around C++'s deplorable dependency management story with a slurry of Docker and apt, which had better not be part of…

You're confusing two different things. For most C and C++ software, you use the system packaging which uses libraries that (usually) have stable ABIs. If your program uses one of those problematic libraries, you might need to recompile your program when you update the library, but most of the time there's no problem. For your company's custom mission critical application where you need total control of the dependenci…

> For most C and C++ software, you use the system packaging which uses libraries that (usually) have stable ABIs.

Yes, because this idiotic legacy pile of shit you love makes it impartial to do anything else.

Re: The C-Shaped Hole in Package Management

#77

I use a lot of obscure libraries for scientific computing and engineering. If I install it from pacman or manage to get an AUR build working, my life is pretty good. If I have to use a Python library the faff becomes unbearable, make a venv, delete the venv, change python version, use conda, use uv, try and install it globally, change python path, source .venv/bin/activate. This is less true for other languages with…

It sounds like your understanding of modern package management is at least ten year out of date, and Python has been (until recently) among the worse, yes, so that definitely wouldn’t have been a model to follow
Post reply on HN