From beb1741ae380d4e196f9d6e2e720fc0dc007ef00 Mon Sep 17 00:00:00 2001 From: Joel Sing Date: Fri, 8 Jan 2016 23:22:12 +1100 Subject: [PATCH] cmd/dist: fix cgoTestSO on FreeBSD amd64 with GOHOSTARCH=386 The cgoTestSO test currently fails when run on FreeBSD amd64 with GOHOSTARCH=386. This is due to it failing to find the shared object. On FreeBSD 64-bit architectures, the linker for 32-bit objects looks for a separate environment variable. Export both LD_LIBRARY_PATH and LD_32_LIBRARY_PATH on FreeBSD when GOHOSTARCH=386. Update issue #13873. Change-Id: I1fb20dd04eb2007061768b2e4530886521813d42 Reviewed-on: https://go-review.googlesource.com/18420 Reviewed-by: Ian Lance Taylor Run-TryBot: Brad Fitzpatrick Reviewed-by: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- src/cmd/dist/test.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index 679c23bb22..9e0412e05b 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -913,6 +913,12 @@ func (t *tester) cgoTestSO(dt *distTest, testpath string) error { s = "DYLD_LIBRARY_PATH" } cmd.Env = mergeEnvLists([]string{s + "=."}, os.Environ()) + + // On FreeBSD 64-bit architectures, the 32-bit linker looks for + // different environment variables. + if t.goos == "freebsd" && t.gohostarch == "386" { + cmd.Env = mergeEnvLists([]string{"LD_32_LIBRARY_PATH=."}, cmd.Env) + } } return cmd.Run() } -- 2.50.0