I see it everywhere; newbies being discouraged in every forum from building from source when they don't have to. To the point of it turning to a phobia for some. I don't want to be a newbie. I want to learn in order to decide for myself if I want to build from source or not. The steps of building from source are in every README file and there's no need to talk about them. My question here revolves more around best practices. Jow Forumsentlemen who build from source regularly; how do you do it? How do you make sure your system remains indefinitely maintainable and without any useless deps/libraries hanging around? How do you keep track of what went where and how do you decide which folders should be in the makefile when editing it to keep a uniform system? How do you stop yourself and the package manager from interfering with each other's databases when shared deps exist? How do you utilize tools to maintain/keep track of/verify/point at programs and sources? How do you resolve missing dependencies and what common problems do you handle? How do you update things? How do you choose options before compiling? etc..
for example, if you're on arch, don't "sudo make install" on your real root, write a PKGBUILD, and use makepkg to build and install it as a native arch package (and if suitable, throw it on the AUR to benefit others)
Matthew Jones
For a week I've been trying to get Gentoo (Funtoo) to work and it shits itself at the videocard driver stage - I fall in some dependency loop.
Fuck that, I want my shit to just work.
Jace Edwards
i still dont know how and also sofware insallation is still kimda shit on linux gnu. i use manjaro most days but some of this shit makes no sense. all these weird extensions and wastes of time. whereas windows i just use an exe or msi
Eli Cox
you have to mask/unmask your dependency. that's the reason i left gentoo.
You can thank me later.
Luke Butler
Just try building from source a few times. You'll see why everyone says to not.
Grayson Gutierrez
most languages have garbage dependency management and generic build tools like make suck so hard
Asher Hill
This poster gets it. I cut a corner, and run a Nexus server on my home network, so when I build something for an architecture I might use more than once, I throw it up there to push out to my other boxes on 'update'. Internally, my Dev team uses git -> Jenkins -> Nexus for build management. The tools have gotten so dumb easy that I found it painless to roll out at home. It really irks me that a lot of the devs we interview for entry level and junior jobs don't have a basic grasp of vanilla make, let alone cmake. I'm sure it's an issue with curriculum, but those things are open source and basic knowledge opens so many doors to getting the right versions of things in the right places. The GNU Radio project is a great example of 'installer help gone wrong'.
This is definitely a philosophy difference between the two platforms. Unfortunately Microsoft will always win for ease of use here. It seems like every few years a different concept comes out on Linux (currently flatpack comes to mind) for cross-distro 'packaging', but they all come with tradeoffs.
Henry Roberts
I see a self-perpetuating problem here where devs don't really understand building and packaging, so they write bad make files, which new users find and think 'building from source sucks'. I find makefiles in small projects with hard coded paths or distro-specific references often- and that's an instant stumbling block for someone used to Ubuntu trying to move to a redhat derivative for the first time.
Austin Diaz
>newbies being discouraged in every forum from building from source when they don't have to. it's one of those "if you have to ask, you don't need it" things even if you tell someone how to configure/make/install, what good is that if they didn't actually change the program in any way, and just ended up with the same binary as the one provided? not to say "building from source is always a waste of time", because that just doesn't make sense, /someone/ has to build things from source, but for most users, 'stock' binaries will do the job, and building them yourself verbatim is really just a waste of time