5 ms·
What the article describes is a compiled Go binary that will run on any* Linux system without using any form of libc, dynamically or statically. So it's not ju
by jdub 4y ago
What the article describes is a compiled Go binary that will run on any* Linux system without using any form of libc, dynamically or statically.
So it's not just relevant to musl or musl-based distributions (perhaps especially because musl is almost always linked statically anyway, so the distribution doesn't really matter in that case either).
* albeit with a minimum kernel version
- elnatro 4y agoWow, so the best language for multi platform Linux development could be Golang. Does it has enough libraries to be a serious alternative? What do you think about that?
- ptspts 4y agoThe zig tool can also do this conveniently for programming languages C and Zig.
- ungamedplayer 4y agoSo these apps use their own resolver, where do they get settings from?
- benatkin 4y agoGetting rid of the settings is seen as a plus, I think. It's predictable behavior. Except it may detect some.
- jeremyjh 4y agoI would have predicted that an app using the network on my computer would make use of my computer’s network settings, since all other apps do. How would it know the correct resolver to use on my network otherwise?
- benatkin 4y agoThe answer is in another thread, go only checks resolv.conf. Other settings get ignored. That means if you see unexpected behavior on one system you only have to check resolv.conf, not all the other network settings.
- mkup 4y agoI guess they parse /etc/resolv.conf (via Go standard library) and just ignore /etc/nsswitch.conf (which is going to work OK in 99.999% cases). For the rest 0.001% cases there is a non-default option to link to system libc dynamically.