Compilation Build Challenges

The cluster focuses on the difficulties and frustrations of compiling and building software from source, particularly C/C++ projects, highlighting issues with dependencies, cross-compilation, toolchains like GCC and glibc, and comparisons to easier languages like Go.

āž”ļø Stable 0.6x Open Source
3,234
Comments
19
Years Active
5
Top Authors
#3295
Topic ID

Activity Over Time

2008
17
2009
19
2010
37
2011
59
2012
115
2013
70
2014
131
2015
135
2016
176
2017
178
2018
193
2019
180
2020
257
2021
348
2022
278
2023
361
2024
320
2025
343
2026
17

Keywords

GTK LSB LDLIBS LIT CFLAGS FOSS PATH OSS JavaScript ABI compile build cross toolchain configure source compilation install dependencies compiling

Sample Comments

saurik • Jul 9, 2010 • View on HN

I don't think a single person here has mentioned cross-compiling. As someone who maintains a cross-compiled distribution of Unix (for the iPhone), when someone writes software that involves anything remotely complex (maybe shared libraries), if you aren't using autoconf and libtool you are a cruel sadistic bastard (and if you think uname is /ever/ appropriate to use in a build environment, you are simply naive).

throwaway894345 • May 4, 2020 • View on HN

I don’t know man, I’ve written a lot of C and C++ and other languages and the sheer effort to get your average C project to compile is much greater than others. The dependencies aren’t listed anywhere, they are rarely compatible with the versions available via your package manager (so now you’re building more things from source), ./configure regularly runs into problems (ā€œcouldn’t guess which platform you were onā€, ā€œyour version of grep is incompatibleā€, etc). It’s just a big mess of yak sh

insulanus • May 5, 2017 • View on HN

glibc and buildtools can be a bit of a pain to work with. Maybe he was exposed to that during cross-compilation.

Macha • Mar 29, 2024 • View on HN

Don't forget it's dependencies like the Linux kernel developers or GCC etc.

sigjuice • Oct 15, 2017 • View on HN

Any particular reason why build environments cannot rely on cross compilation for producing OS distributions?

veemjeem • Dec 21, 2012 • View on HN

Well, let's just say a lot of things don't work in linux either. Depending what you're building, sometimes it's reliant on a certain gcc version, or distro. Generally speaking, compile from source is usually the last resort if the package can't be found via apt-get, and occasionally you'll have to tweak the makefile or the ./configure script settings. Any time you're building something that isn't extremely popular, you're likely to get build problems.

AnIdiotOnTheNet • Jun 3, 2020 • View on HN

I will take Windows's "sometimes there's very little you can do about it" against Linux's "compile it and all its dependencies (probably versions of those dependencies from the same time period, and possibly even their dependencies) from source" any day.

zamadatix • Sep 26, 2021 • View on HN

You don't control your device OS or otherwise have access to a machine you do, your OS does not offer modern packages, and you don't have the ability to otherwise pull in development toolchain resources.... yet it's supposed to be the projects problem you can't compile something started in 2021 from source on your older setup?I get your current situation is less than ideal for you but at some point you have to accept the project is not the source of painfulness associated

throwaway894345 • Jul 2, 2024 • View on HN

1. You have to audit/trust any software whether or not it’s distributed as part of your OS2. What is there to configure?3. It’s a Go program, so compilation happens transparently on installation provided the developers don’t release broken code. This isn’t the C/C++ world where you have complex bespoke build systems that only seem to work on the developers’ machines.

smitty1e • Sep 24, 2019 • View on HN

At that rate, why not just install the toolchain and compile from source?