38 ms·
I appreciate the pragmatic approach. Makefiles are the worst solution for running builds, except for all the others that have been tried.
by gary_0 3y ago
I appreciate the pragmatic approach. Makefiles are the worst solution for running builds, except for all the others that have been tried.
- forrestthewoods 3y agoI've worked professionally for 17 years and have literally never worked on a project that used makefiles or even CMake. Said projects have mostly been cross-platform across Windows, mac, Linux, Android, iOS, and a wide variety of video game consoles. Autotools and makefiles are the worst solution for running builds... period. Building/compiling for Linux is soooo much worse than literally every other platform. It's stuck in the 70s.
- CogitoCogito 3y ago> Building/compiling for Linux is soooo much worse than literally every other platform. It's stuck in the 70s. I find compiling software in Debian so much easier than alternatives. Usually it’s just a matter of installing the build deps in apt (since usually some version is packaged already) and then running configure, make, etc. I’m pretty surprised you describe the process as so bad.
- forrestthewoods 3y ago> Usually it’s just a matter of installing the build deps in apt I expect to clone, build, run. In practice it’s: clone, build, read compile error, google the dependency, install the dependency, build again, see new error, repeat 10 times. That is of course just a small percentage of the pain. You’ll notice that the most reliable Linux API for playing games is… Win32 via Proton. build-essentials doesn’t provide a way to target an arbitrarily old version of glibc because the way shared libraries are linked is ass backwards and ./configure is a terrible design.
- CogitoCogito 3y ago> In practice it’s: clone, build, read compile error, google the dependency, install the dependency, build again, see new error, repeat 10 times. This just isn't my experience. I just run apt build-dep and it just _works_. It works basically every single time. Have you tried doing the same? I'm not saying there aren't issues, just that my experience with compiling code on Linux is much easier than anywhere else. Of course Windows apis are much more stable, but that's never much a barrier to building code for me. Edit: By the way even if you run into build problems, I still don't see how it's an issue with Linux. Projects that can't easily be built with very clear instructions need to improve their instructions. Lazy developers will always produce badly documented software. That's an unfortunate fact of life.
- forrestthewoods 3y agoThere is a certain "Linux philosophy" such that the user expected to have a kajillion different things installed into the global path. If your environment isn't precisely correct either it won't build or it won't run. I find that philosophy less common for other platforms. My personal experience is that Linux is FAR AND AWAY the most painful OS to develop for. I fully admit I'm not a Linux expert! Getting anything done requires a LOT of Googling and running of arcane commands. It's quite frustrating.
- SAI_Peregrinus 3y agoNix provides a sane way to manage dependencies. Unfortunately it comes with a language that will drive you insane.