!QCCCSJHEsTIfozrZxz:nixos.org

Nix + Go

216 Members
Go packaging for and with Nixpkgs. | Be excellent to each other.51 Servers

Load older messages


SenderMessageTime
10 Jul 2025
@curid:matrix.orgCurid patchelf --set-interpreter "/lib64/ld-linux-x86-64.so.2" file 19:17:21
@jrick:zettaport.comjrickthere's that hack, but also there's a variable you can set in the go tooling19:17:38
@jrick:zettaport.comjrickdon't remember it exactly off top of my head, just that it exists19:17:52
@jrick:zettaport.comjrick go tool link -extld <path> 19:19:02
@jrick:zettaport.comjrickso, set that with ldflags19:19:11
@diamondburned:matrix.orgDiamond (it/she)CGO_ENABLED=0 definitely will work20:47:58
@diamondburned:matrix.orgDiamond (it/she)if your binary still has PIE then you have to fix your environment20:48:03
@diamondburned:matrix.orgDiamond (it/she) oh this is Nix, perfect! CGO_ENABLED=0 will work 20:48:39
@diamondburned:matrix.orgDiamond (it/she)i've done it before20:48:41
@jrick:zettaport.comjrickpie without cgo doesn't really work. static pie is a thing, but go doesn't produce those20:50:31
@jrick:zettaport.comjrickwell it can, but i haven't tried to cross compile them20:50:58
@jrick:zettaport.comjrickerr, i have tried, and failed lol20:51:54
@nazarewk:matrix.orgkdn yeah, CGO_ENABLED=0 go build works fine on NixOS 20:52:15
@diamondburned:matrix.orgDiamond (it/she)yeah for the explicit purpose of cross-building i wouldn't bother with PIE20:55:57
@diamondburned:matrix.orgDiamond (it/she)or i guess just build a Nix OCI container instead20:56:14
@jrick:zettaport.comjrickthe issue with building static pie executables is that you need the target platform's ld.so and essentially embed it into the final binary20:57:05
@jrick:zettaport.comjrickit works if you have the file and can set the appropriate go flags to link with it20:57:45
@jrick:zettaport.comjrickbut makes cross compiling a nightmare20:57:49
@nazarewk:matrix.orgkdnI'd love to, but the team uses goreleaser to build for few-teen targets including different architectures, containers & operating systems20:58:28
@diamondburned:matrix.orgDiamond (it/she)hm ic21:00:36
@nazarewk:matrix.orgkdnI just wanted to adjust my local build to whatever they're running so I can make a proper entrypoint21:01:08
@diamondburned:matrix.orgDiamond (it/she)i mean in terms of building containers for usage, whether it's Nix-built or FROM alpine Dockerfile-built doesn't matter too much21:02:58
@diamondburned:matrix.orgDiamond (it/she)i mean the whole point of OCI containers is that it has that level of portability21:03:06
@diamondburned:matrix.orgDiamond (it/she)i was gonna say if this tool is just dragged into the container as a build step then you can definitely have it build an image and use that in Dockerfile i think?21:03:40
@diamondburned:matrix.orgDiamond (it/she)but idrk what you're doing21:03:47
@nazarewk:matrix.orgkdnI've no clue either how the whole thing is set up, my guess is that the binary artifact is somewhat carried over from previous steps in the CI/GoReleaser21:05:55
11 Jul 2025
@aerunakai:matrix.org@aerunakai:matrix.org removed their profile picture.16:40:26
@aerunakai:matrix.org@aerunakai:matrix.org removed their display name aerunakai.16:40:31
@aerunakai:matrix.org@aerunakai:matrix.org left the room.16:40:39
@elitewhale75:matrix.orgelitewhale75 joined the room.17:39:15

Show newer messages


Back to Room ListRoom Version: 9