Things that work reliably well on my 32-bit machine.
GCC 13 works fine, but can't produce a working dynamically linked Python binary — probably has other issues so I've downgraded.
Rust up to 1.80 works, but segfaults when building certain crates, such as getrandom — probably related to newer versions of LLVM being horribly broken and LLVM12 probably works because it seems to ignore most optimisation flags.

And you can't build newer Rust using older tools — because it only supports last 3 releases of LLVM and they have cranked out quite a few of them in the past couple of years, but the worst part is those LLVM releases can only be built with GCC 13. This looks somewhat relevant: github.com/llvm/llvm-project/i
Why does everything have to depend on the latest versions and be so fucking broken? 😩

Show thread

@romin
Ackshually yeah — correct! I had to deal with this older go yesterday and it appeared to be way less broken than it is today 😂
E.g. the way it handles the dependencies: just issuing "go build" and seeing it retrieve all the dependencies itself is fine and dandy, but having them saved in a particular directory locally and not depending on… 🤬 GOPROXY is preferable to me.

Follow

@romin
You can now! I'm not even sure when they have added it — this version doesn't support it either. A directory named "vendor" is handled in some special way, but it only seems to affect the namespace visibility and nothing else, it doesn't look for dependencies in this dir.
But you can always put everything under src/ and point GOROOT to the current directory — very straightforward!

@romin
Minor downside: you have to put local modules into src/ too — obviously (it's in the name) GO111MODULE didn't exist in this version either.

Sign in to participate in the conversation
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml