'file' command used to say "dynamically linked" if I'm not using '-linkmode external' flag. I tried many times, I didn't pay attention, now it's working...I guess the only question left with "loadinternal: cannot find runtime/cgo"
-- AK On Sat, Nov 19, 2022 at 5:49 PM Ian Lance Taylor <i...@golang.org> wrote: > On Sat, Nov 19, 2022, 6:46 AM Alexey Kuznetsov <kuznetsov.ale...@gmail.com> > wrote: > >> >> I'm trying to build statically linked binary and it works with 'build' >> command but failed with 'install' command. Here is an example: >> >> go build -ldflags "-linkmode external -extldflags -static" -a swap.go >> >> # file swap >> swap: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), >> statically linked, BuildID[sha1]=396a1f51971f4e0d44bfb489a84792efc1782e03, >> for GNU/Linux 3.2.0, with debug_info, not stripped >> >> # ldd swap >> not a dynamic executable >> >> But following failed: >> >> # go install -ldflags "-linkmode external -extldflags -static" >> gitlab.com/axet/swap@swap-0.0.4 >> # gitlab.com/axet/swap >> loadinternal: cannot find runtime/cgo >> >> Following compiles but not as static: >> >> # go install -ldflags "-extldflags -static" >> gitlab.com/axet/swap@swap-0.0.4 >> >> # file ~/.go/bin/swap >> /home/axet/.go/bin/swap: ELF 64-bit LSB executable, x86-64, version 1 >> (SYSV), statically linked, Go >> BuildID=8DAAfOPcNpPhyRmJINiQ/RJu44gsWAPnCPTRsFMPn/vAto5mmPDQDM4aX1HuBe/7MY6v2L5JqkYe2MJN8uw, >> with debug_info, not stripped >> >> # ldd ~/.go/bin/swap >> not a dynamic executable >> > > They both look static to me. What is the difference? > > Ian > >> >> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAO1Zr%2BpfH4NW9aot4vVUNHJmC74XdUNxsUPQz%3D8ykiZy2cxJ4w%40mail.gmail.com.