On Tue, Aug 9, 2016 at 1:38 AM, Seb Binet <seb.bi...@gmail.com> wrote: > > > On Mon, Aug 8, 2016 at 5:12 PM, Ian Lance Taylor <i...@golang.org> wrote: >> >> On Sun, Aug 7, 2016 at 7:08 PM, Amit Saha <amitsaha...@gmail.com> wrote: >> > >> > From an old thread [1], I learned that CGO_ENABLED=0 will create static >> > binaries for programs using the net/http package. I still see the same >> > behavior as of go version go1.6.3 linux/amd64. Does this mean this is >> > the >> > only way to get statically linked binaries for programs using net/http? >> >> It is a simple way that works. Why do you want another way? >> >> The issue is not actually the net/http package, it's the net package. >> The net package is designed to fall back to the C library for DNS >> lookups in some cases. Setting CGO_ENABLED=0 disables that fallback, >> and the net package will use pure Go code for DNS (which it does in >> most cases anyhow). > > > If I am not mistaken, you can achieve the same with the somewhat clearer > "netgo" build tag: > > $ cat main.go > package main > > import ( > "net" > "log" > ) > > func main() { > c, err := net.Dial("tcp", "localhost:4000") > if err != nil { > log.Fatal(err) > } > defer c.Close() > c.Write([]byte("hello")) > } > > $ go build -tags=netgo -o netgo main.go > $ go build -o netcgo main.go > > $ ldd netcgo > linux-vdso.so.1 (0x00007ffc8c729000) > libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f6cb60bd000) > libc.so.6 => /usr/lib/libc.so.6 (0x00007f6cb5d1f000) > /lib64/ld-linux-x86-64.so.2 (0x00007f6cb62da000) > > $ ldd netgo > not a dynamic executable
Thank you! That's what I wanted to know, since my approach seemed too "generic". > > -s > -- http://echorand.me -- 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. For more options, visit https://groups.google.com/d/optout.