bazel-contrib / bazel-contrib/rules_go

GoStdLib linking fails due to absolute paths from remote cache

Open
#3,554 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
1.5k
Forks
760
Avg merge
1d 11h
Merged PRs (30d)
12

Description

# Summary

**Possibly related to #1910 or #2188**

When building a go binary using remote cache, I get linking errors due to files not found / permissions denied for absolute paths from the remote cache filesystem. This smells like some violation of bazel hermetic rules.

The following archive files contain strings with absolute paths from the remote cache:

```
io_bazel_rules_go/stdlib_/pkg/linux_amd64/os/user.a
io_bazel_rules_go/stdlib_/pkg/linux_amd64/internal/testpty.a
io_bazel_rules_go/stdlib_/pkg/linux_amd64/plugin.a
io_bazel_rules_go/stdlib_/pkg/linux_amd64/net.a
```

Perhaps related to the special case of GoStdLib using absolute paths? https://github.com/bazelbuild/rules_go/blob/a0fb771677d122c8380ab78497c93b39ed720d7d/go/tools/builders/env.go#L37

**Note a workaround is to disable remote cache for GoStdLib `build --modify_execution_info=GoStdlib.*=+no-remote` in bazelrc as suggested in #2188**


### What version of rules_go are you using?
v0.39.1

### What version of gazelle are you using?
v0.30.0

### What version of Bazel are you using?
5.4.1

### Does this issue reproduce with the latest releases of all the above?
Yes

### What operating system and processor architecture are you using?
x86 linux

### Any other potentially useful information about your toolchain?
Using a gcc version backed in bazel (not system gcc)

### What did you do?
Build a go binary using a remote cache

### What did you expect to see?
Build passes

### What did you see instead?
Linking errors with standard library archive (`.a)` files which **reference absolute paths on the remote cache filesystem which are not present on the local system**.

```
Another command (pid=442661) is running. Waiting for it to complete on the server (server_pid=431670)...
INFO: Invocation ID: 32cad525-0dfc-417a-aabb-ac498a97e971
Loading:
Loading: 0 packages loaded
Analyzing: target (0 packages loaded, 0 targets configured)
INFO: Analyzed target (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
[0 / 2] [Prepa] BazelWorkspaceStatusAction stable-status.txt
ERROR: /home//.cache/bazel/_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/external/io_bazel_rules_docker/container/go/cmd/create_image_config/BUILD:32:10: GoLink external/io_bazel_rules_docker/container/go/cmd/create_image_config/create_image_config_/create_image_config [for host] failed: (Exit 1): linux-sandbox failed: error executing command
(cd /home//.cache/bazel/_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/sandbox/linux-sandbox/3455/execroot/bdi && \
exec env - \
CGO_ENABLED=1 \
GOARCH=amd64 \
GOOS=linux \
GOPATH='' \
GOROOT=bazel-out/host/bin/external/io_bazel_rules_go/stdlib_ \
GOROOT_FINAL=GOROOT \
PATH=/sbin/not-a-real-path:external//usr/bin:/bin:/usr/bin \
TMPDIR=/tmp \
/home//.cache/bazel/_bazel_kallen/install/616d39adb94ebfda4ae84d4ce81a9faf/linux-sandbox -t 15 -w /home//.cache/bazel/_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/sandbox/linux-sandbox/3455/execroot/bdi -w /tmp -w /dev/shm -D -- bazel-out/host/bin/external/go_sdk/builder_reset/builder link -sdk external/go_sdk -installsuffix linux_amd64 -arc '@com_github_google_go_containerregistry//pkg/v1/types:types=github.com/google/go-containerregistry/pkg/v1/types=bazel-out/host/bin/external/com_github_google_go_containerregistry/pkg/v1/types/types.a' -arc '@com_github_google_go_containerregistry//pkg/v1:pkg=github.com/google/go-containerregistry/pkg/v1=bazel-out/host/bin/external/com_github_google_go_containerregistry/pkg/v1/pkg.a' -arc '@com_github_google_go_containerregistry//internal/and:and=github.com/google/go-containerregistry/internal/and=bazel-out/host/bin/external/com_github_google_go_containerregistry/internal/and/and.a' -arc '@com_github_containerd_stargz_snapshotter_estargz//errorutil:errorutil=github.com/containerd/stargz-snapshotter/estargz/errorutil=bazel-out/host/bin/external/com_github_containerd_stargz_snapshotter_estargz/errorutil/errorutil.a' -arc '@com_github_klauspost_compress//:compress=github.com/klauspost/compress=bazel-out/host/bin/external/com_github_klauspost_compress/compress.a' -arc '@com_github_klauspost_compress//fse:fse=github.com/klauspost/compress/fse=bazel-out/host/bin/external/com_github_klauspost_compress/fse/fse.a' -arc '@com_github_klauspost_compress//internal/cpuinfo:cpuinfo=github.com/klauspost/compress/internal/cpuinfo=bazel-out/host/bin/external/com_github_klauspost_compress/internal/cpuinfo/cpuinfo.a' -arc '@com_github_klauspost_compress//huff0:huff0=github.com/klauspost/compress/huff0=bazel-out/host/bin/external/com_github_klauspost_compress/huff0/huff0.a' -arc '@com_github_klauspost_compress//internal/snapref:snapref=github.com/klauspost/compress/internal/snapref=bazel-out/host/bin/external/com_github_klauspost_compress/internal/snapref/snapref.a' -arc '@com_github_klauspost_compress//zstd/internal/xxhash:xxhash=github.com/klauspost/compress/zstd/internal/xxhash=bazel-out/host/bin/external/com_github_klauspost_compress/zstd/internal/xxhash/xxhash.a' -arc '@com_github_klauspost_compress//zstd:zstd=github.com/klauspost/compress/zstd=bazel-out/host/bin/external/com_github_klauspost_compress/zstd/zstd.a' -arc '@com_github_opencontainers_go_digest//:go-digest=github.com/opencontainers/go-digest=bazel-out/host/bin/external/com_github_opencontainers_go_digest/go-digest.a' -arc '@com_github_vbatts_tar_split//archive/tar:tar=github.com/vbatts/tar-split/archive/tar=bazel-out/host/bin/external/com_github_vbatts_tar_split/archive/tar/tar.a' -arc '@org_golang_x_sync//errgroup:errgroup=golang.org/x/sync/errgroup=bazel-out/host/bin/external/org_golang_x_sync/errgroup/errgroup.a' -arc '@com_github_containerd_stargz_snapshotter_estargz//:estargz=github.com/containerd/stargz-snapshotter/estargz=bazel-out/host/bin/external/com_github_containerd_stargz_snapshotter_estargz/estargz.a' -arc '@com_github_google_go_containerregistry//internal/estargz:estargz=github.com/google/go-containerregistry/internal/estargz=bazel-out/host/bin/external/com_github_google_go_containerregistry/internal/estargz/estargz.a' -arc '@com_github_google_go_containerregistry//internal/gzip:gzip=github.com/google/go-containerregistry/internal/gzip=bazel-out/host/bin/external/com_github_google_go_containerregistry/internal/gzip/gzip.a' -arc '@com_github_google_go_containerregistry//pkg/name:name=github.com/google/go-containerregistry/pkg/name=bazel-out/host/bin/external/com_github_google_go_containerregistry/pkg/name/name.a' -arc '@com_github_opencontainers_image_spec//specs-go:specs-go=github.com/opencontainers/image-spec/specs-go=bazel-out/host/bin/external/com_github_opencontainers_image_spec/specs-go/specs-go.a' -arc '@com_github_opencontainers_image_spec//specs-go/v1:specs-go=github.com/opencontainers/image-spec/specs-go/v1=bazel-out/host/bin/external/com_github_opencontainers_image_spec/specs-go/v1/specs-go.a' -arc '@com_github_google_go_containerregistry//pkg/v1/match:match=github.com/google/go-containerregistry/pkg/v1/match=bazel-out/host/bin/external/com_github_google_go_containerregistry/pkg/v1/match/match.a' -arc '@com_github_google_go_containerregistry//pkg/v1/partial:partial=github.com/google/go-containerregistry/pkg/v1/partial=bazel-out/host/bin/external/com_github_google_go_containerregistry/pkg/v1/partial/partial.a' -arc '@com_github_google_go_containerregistry//pkg/v1/tarball:tarball=github.com/google/go-containerregistry/pkg/v1/tarball=bazel-out/host/bin/external/com_github_google_go_containerregistry/pkg/v1/tarball/tarball.a' -arc '@com_github_pkg_errors//:errors=github.com/pkg/errors=bazel-out/host/bin/external/com_github_pkg_errors/errors.a' -arc '@io_bazel_rules_docker//container/go/pkg/compat:go_default_library=github.com/bazelbuild/rules_docker/container/go/pkg/compat=bazel-out/host/bin/external/io_bazel_rules_docker/container/go/pkg/compat/go_default_library.a' -arc '@io_bazel_rules_docker//container/go/pkg/utils:go_default_library=github.com/bazelbuild/rules_docker/container/go/pkg/utils=bazel-out/host/bin/external/io_bazel_rules_docker/container/go/pkg/utils/go_default_library.a' -package_list bazel-out/host/bin/external/go_sdk/packages.txt -o bazel-out/host/bin/external/io_bazel_rules_docker/container/go/cmd/create_image_config/create_image_config_/create_image_config -main bazel-out/host/bin/external/io_bazel_rules_docker/container/go/cmd/create_image_config/create_image_config.a -p github.com/bazelbuild/rules_docker/container/go/cmd/create_image_config -experiment nocoverageredesign -- -extld external//usr/bin/g++-8 '-buildid=redacted' -extldflags '-B external//usr/bin -nodefaultlibs -Lexternal//usr/lib/x86_64-linux-gnu -Lexternal//lib/x86_64-linux-gnu -Lexternal//usr/lib/x86_64-linux-gnu/8 -Wl,-no-as-needed -fPIC -fuse-ld=gold -m64 -pthread -l:libc_nonshared.a -ldl -lm -lgcc_s -lgcc -lpthread -lc --sysroot=external/')
1681165266.244258967: src/main/tools/linux-sandbox.cc:152: calling pipe(2)...
1681165266.244596448: src/main/tools/linux-sandbox.cc:171: calling clone(2)...
1681165266.244929665: src/main/tools/linux-sandbox.cc:180: linux-sandbox-pid1 has PID 449495
1681165266.244948882: src/main/tools/linux-sandbox-pid1.cc:650: Pid1Main started
1681165266.245031388: src/main/tools/linux-sandbox.cc:197: done manipulating pipes
1681165266.245155947: src/main/tools/linux-sandbox-pid1.cc:269: working dir: /home//.cache/bazel/_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/sandbox/linux-sandbox/3455/execroot/bdi
1681165266.245176735: src/main/tools/linux-sandbox-pid1.cc:301: writable: /home//.cache/bazel/_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/sandbox/linux-sandbox/3455/execroot/bdi
1681165266.245185780: src/main/tools/linux-sandbox-pid1.cc:301: writable: /tmp
1681165266.245200264: src/main/tools/linux-sandbox-pid1.cc:301: writable: /dev/shm
1681165266.245260019: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /
1681165266.245269318: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /dev
1681165266.245276135: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /dev/pts
1681165266.245283160: src/main/tools/linux-sandbox-pid1.cc:371: remount rw: /dev/shm
1681165266.245289071: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /dev/hugepages
1681165266.245295616: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /dev/mqueue
1681165266.245302973: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run
1681165266.245316605: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run/lock
1681165266.245323966: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run/credentials/systemd-sysusers.service
1681165266.245330589: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run/rpc_pipefs
1681165266.245336649: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run/snapd/ns
1681165266.245343997: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run/user/121
1681165266.245372523: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run/user/121/gvfs
1681165266.245377699: src/main/tools/linux-sandbox-pid1.cc:391: remount(nullptr, /run/user/121/gvfs, nullptr, 2101287, nullptr) failure (Permission denied) ignored
1681165266.245387425: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run/user/121/doc
1681165266.245391195: src/main/tools/linux-sandbox-pid1.cc:391: remount(nullptr, /run/user/121/doc, nullptr, 2101287, nullptr) failure (Permission denied) ignored
1681165266.245395195: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run/user/1236799685
1681165266.245403181: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run/user/1236799685/gvfs
1681165266.245407620: src/main/tools/linux-sandbox-pid1.cc:391: remount(nullptr, /run/user/1236799685/gvfs, nullptr, 2101287, nullptr) failure (Permission denied) ignored
1681165266.245411495: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run/user/1236799685/doc
1681165266.245415184: src/main/tools/linux-sandbox-pid1.cc:391: remount(nullptr, /run/user/1236799685/doc, nullptr, 2101287, nullptr) failure (Permission denied) ignored
1681165266.245419136: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run/user/1236805277
1681165266.245425673: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run/user/1236805277/gvfs
1681165266.245432759: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /run/user/1236805277/doc
1681165266.245439407: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /sys
1681165266.245446110: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /sys/kernel/security
1681165266.245475191: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /sys/fs/cgroup
1681165266.245484754: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /sys/fs/pstore
1681165266.245492456: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /sys/firmware/efi/efivars
1681165266.245500420: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /sys/fs/bpf
1681165266.245507821: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /sys/kernel/debug
1681165266.245521010: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /sys/kernel/tracing
1681165266.245528980: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /sys/fs/fuse/connections
1681165266.245537716: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /sys/kernel/config
1681165266.245545148: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /proc
1681165266.245551916: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /proc/sys/fs/binfmt_misc
1681165266.245560919: src/main/tools/linux-sandbox-pid1.cc:391: remount(nullptr, /proc/sys/fs/binfmt_misc, nullptr, 2101281, nullptr) failure (Operation not permitted) ignored
1681165266.245565013: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /proc/sys/fs/binfmt_misc
1681165266.245572412: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/bare/5
1681165266.245578849: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/canonical-livepatch/164
1681165266.245600508: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/core/14784
1681165266.245607190: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/core/14946
1681165266.245612996: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/core18/2714
1681165266.245619370: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/core20/1828
1681165266.245626057: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/core20/1852
1681165266.245631736: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/core22/583
1681165266.245638067: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/firefox/2487
1681165266.245644149: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/gnome-3-28-1804/161
1681165266.245650521: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/gnome-3-34-1804/77
1681165266.245657010: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/gnome-3-38-2004/119
1681165266.245663178: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/gnome-42-2204/65
1681165266.245671037: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/gnome-system-monitor/178
1681165266.245677143: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/gnome-system-monitor/181
1681165266.245705355: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/gtk-common-themes/1534
1681165266.245712292: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/gtk-common-themes/1535
1681165266.245718307: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/snap-store/638
1681165266.245725364: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /var/snap/firefox/common/host-hunspell
1681165266.245733111: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/snapd-desktop-integration/57
1681165266.245740261: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /boot
1681165266.245750283: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /boot/efi
1681165266.245760645: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /Log
1681165266.245792960: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /Scratch
1681165266.245803949: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /Cache
1681165266.245820570: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /work
1681165266.245830805: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /Video
1681165266.245862185: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /archive
1681165266.245872954: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/core18/2721
1681165266.245881656: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/gnome-3-38-2004/137
1681165266.245891128: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/gnome-3-34-1804/90
1681165266.245900269: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/gnome-42-2204/68
1681165266.245910014: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/gnome-3-28-1804/194
1681165266.245919068: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/core22/607
1681165266.245928388: src/main/tools/linux-sandbox-pid1.cc:371: remount ro: /snap/canonical-livepatch/190
1681165266.245945605: src/main/tools/linux-sandbox-pid1.cc:371: remount rw: /home//.cache/bazel/_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/sandbox/linux-sandbox/3455/execroot/bdi
1681165266.245964779: src/main/tools/linux-sandbox-pid1.cc:371: remount rw: /home//.cache/bazel/_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/sandbox/linux-sandbox/3455/execroot/bdi
1681165266.245974838: src/main/tools/linux-sandbox-pid1.cc:371: remount rw: /tmp
1681165266.245981004: src/main/tools/linux-sandbox-pid1.cc:371: remount rw: /dev/shm
1681165266.246059276: src/main/tools/linux-sandbox-pid1.cc:460: calling fork...
1681165266.246158155: src/main/tools/linux-sandbox-pid1.cc:490: child started with PID 2
external/go_sdk/pkg/tool/linux_amd64/link: running external//usr/bin/g++-8 failed: exit status 1
external//usr/bin/ld.gold: error: /home//.cache/local-bazel-output-base/sandbox/linux-sandbox/3214/execroot/bdi/external//usr/lib/x86_64-linux-gnu: can not read directory: Permission denied
external//usr/bin/ld.gold: error: /home//.cache/local-bazel-output-base/sandbox/linux-sandbox/3214/execroot/bdi/external//lib/x86_64-linux-gnu: can not read directory: Permission denied
external//usr/bin/ld.gold: error: /home//.cache/local-bazel-output-base/sandbox/linux-sandbox/3214/execroot/bdi/external//usr/lib/x86_64-linux-gnu/8: can not read directory: Permission denied
external//usr/bin/ld.gold: error: /home//.cache/local-bazel-output-base/sandbox/linux-sandbox/3214/execroot/bdi/external//usr/lib/x86_64-linux-gnu: can not read directory: Permission denied
external//usr/bin/ld.gold: error: /home//.cache/local-bazel-output-base/sandbox/linux-sandbox/3214/execroot/bdi/external//lib/x86_64-linux-gnu: can not read directory: Permission denied
external//usr/bin/ld.gold: error: /home//.cache/local-bazel-output-base/sandbox/linux-sandbox/3214/execroot/bdi/external//usr/lib/x86_64-linux-gnu/8: can not read directory: Permission denied
external//usr/bin/ld.gold: error: /home//.cache/local-bazel-output-base/sandbox/linux-sandbox/3214/execroot/bdi/external//usr/lib/x86_64-linux-gnu: can not read directory: Permission denied
external//usr/bin/ld.gold: error: /home//.cache/local-bazel-output-base/sandbox/linux-sandbox/3214/execroot/bdi/external//lib/x86_64-linux-gnu: can not read directory: Permission denied
external//usr/bin/ld.gold: error: /home//.cache/local-bazel-output-base/sandbox/linux-sandbox/3214/execroot/bdi/external//usr/lib/x86_64-linux-gnu/8: can not read directory: Permission denied
collect2: error: ld returned 1 exit status
```

Looking in my bazel cache, I do indeed find files which reference absolute paths in the remote cache:

```
$ cd ~/.cache/bazel
$ grep -r .

grep: ./_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/execroot/bdi/bazel-out/host/bin/external/io_bazel_rules_go/stdlib_/pkg/linux_amd64/os/user.a: binary file matches
grep: ./_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/execroot/bdi/bazel-out/host/bin/external/io_bazel_rules_go/stdlib_/pkg/linux_amd64/internal/testpty.a: binary file matches
grep: ./_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/execroot/bdi/bazel-out/host/bin/external/io_bazel_rules_go/stdlib_/pkg/linux_amd64/plugin.a: binary file matches
grep: ./_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/execroot/bdi/bazel-out/host/bin/external/io_bazel_rules_go/stdlib_/pkg/linux_amd64/net.a: binary file matches grep: ./_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/execroot/bdi/bazel-out/host/bin/external/io_bazel_rules_go/stdlib_/pkg/linux_amd64/runtime/cgo.a: binary file matches

$ strings ./_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/execroot/bdi/bazel-out/host/bin/external/io_bazel_rules_go/stdlib_/pkg/linux_amd64/runtime/cgo.a | grep svc_night
[["cgo_export_static","crosscall2"],["cgo_export_dynamic","crosscall2"],["cgo_export_static","_cgo_panic","_cgo_panic","ABIInternal"],["cgo_export_dynamic","_cgo_panic","_cgo_panic","ABIInternal"],["cgo_import_static","x_cgo_init"],["cgo_import_static","x_cgo_thread_start"],["cgo_import_static","x_cgo_sys_thread_create"],["cgo_import_static","x_cgo_notify_runtime_init_done"],["cgo_import_static","x_cgo_set_context_function"],["cgo_import_static","_cgo_yield"],["cgo_export_static","_cgo_topofstack"],["cgo_export_dynamic","_cgo_topofstack"],["cgo_import_static","x_cgo_callers"],["cgo_import_static","_cgo_libc_setegid"],["cgo_import_static","_cgo_libc_seteuid"],["cgo_import_static","_cgo_libc_setregid"],["cgo_import_static","_cgo_libc_setresgid"],["cgo_import_static","_cgo_libc_setresuid"],["cgo_import_static","_cgo_libc_setreuid"],["cgo_import_static","_cgo_libc_setgroups"],["cgo_import_static","_cgo_libc_setgid"],["cgo_import_static","_cgo_libc_setuid"],["cgo_import_static","x_cgo_mmap"],["cgo_import_static","x_cgo_munmap"],["cgo_import_static","x_cgo_setenv"],["cgo_import_static","x_cgo_unsetenv"],["cgo_import_static","x_cgo_sigaction"],["cgo_ldflag","-B"],["cgo_ldflag","external//usr/bin"],["cgo_ldflag","-nodefaultlibs"],["cgo_ldflag","-L/home//.cache/local-bazel-output-base/sandbox/linux-sandbox/30/execroot/bdi/external//usr/lib/x86_64-linux-gnu"],["cgo_ldflag","-L/home//.cache/local-bazel-output-base/sandbox/linux-sandbox/30/execroot/bdi/external//lib/x86_64-linux-gnu"],["cgo_ldflag","-L/home//.cache/local-bazel-output-base/sandbox/linux-sandbox/30/execroot/bdi/external//usr/lib/x86_64-linux-gnu/8"],["cgo_ldflag","-Wl,-no-as-needed"],["cgo_ldflag","-fPIC"],["cgo_ldflag","-fuse-ld=gold"],["cgo_ldflag","-m64"],["cgo_ldflag","-pthread"],["cgo_ldflag","-l:libc_nonshared.a"],["cgo_ldflag","-ldl"],["cgo_ldflag","-lm"],["cgo_ldflag","-lgcc_s"],["cgo_ldflag","-lgcc"],["cgo_ldflag","-lpthread"],["cgo_ldflag","-lc"],["cgo_ldflag","--sysroot=/home//.cache/local-bazel-output-base/sandbox/linux-sandbox/30/execroot/bdi/external/"],["cgo_ldflag","-pthread"],["cgo_ldflag","-lpthread"]]

$ strings ./_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/execroot/bdi/bazel-out/host/bin/external/io_bazel_rules_go/stdlib_/pkg/linux_amd64/os/user.a | grep svc_nightly
[["cgo_ldflag","-B"],["cgo_ldflag","external//usr/bin"],["cgo_ldflag","-nodefaultlibs"],["cgo_ldflag","-L/home//.cache/local-bazel-output-base/sandbox/linux-sandbox/30/execroot/bdi/external//usr/lib/x86_64-linux-gnu"],["cgo_ldflag","-L/home//.cache/local-bazel-output-base/sandbox/linux-sandbox/30/execroot/bdi/external//lib/x86_64-linux-gnu"],["cgo_ldflag","-L/home//.cache/local-bazel-output-base/sandbox/linux-sandbox/30/execroot/bdi/external//usr/lib/x86_64-linux-gnu/8"],["cgo_ldflag","-Wl,-no-as-needed"],["cgo_ldflag","-fPIC"],["cgo_ldflag","-fuse-ld=gold"],["cgo_ldflag","-m64"],["cgo_ldflag","-pthread"],["cgo_ldflag","-l:libc_nonshared.a"],["cgo_ldflag","-ldl"],["cgo_ldflag","-lm"],["cgo_ldflag","-lgcc_s"],["cgo_ldflag","-lgcc"],["cgo_ldflag","-lpthread"],["cgo_ldflag","-lc"],["cgo_ldflag","--sysroot=/home//.cache/local-bazel-output-base/sandbox/linux-sandbox/30/execroot/bdi/external/"],["cgo_ldflag","-pthread"],["cgo_import_static","_cgo_6f668e16310a_Cfunc_mygetgrgid_r"],["cgo_import_static","_cgo_6f668e16310a_Cfunc_mygetgrnam_r"],["cgo_import_static","_cgo_6f668e16310a_Cfunc_mygetgrouplist"],["cgo_import_static","_cgo_6f668e16310a_Cfunc_mygetpwnam_r"],["cgo_import_static","_cgo_6f668e16310a_Cfunc_mygetpwuid_r"],["cgo_import_static","_cgo_6f668e16310a_Cfunc_sysconf"]]

$ strings ./_bazel_kallen/d318b8d8d34b6b3b0fcf76f1de840f75/execroot/bdi/bazel-out/host/bin/external/io_bazel_rules_go/stdlib_/pkg/linux_amd64/plugin.a | grep svc_nightly
[["cgo_ldflag","-B"],["cgo_ldflag","external//usr/bin"],["cgo_ldflag","-nodefaultlibs"],["cgo_ldflag","-L/home//.cache/local-bazel-output-base/sandbox/linux-sandbox/30/execroot/bdi/external//usr/lib/x86_64-linux-gnu"],["cgo_ldflag","-L/home//.cache/local-bazel-output-base/sandbox/linux-sandbox/30/execroot/bdi/external//lib/x86_64-linux-gnu"],["cgo_ldflag","-L/home//.cache/local-bazel-output-base/sandbox/linux-sandbox/30/execroot/bdi/external//usr/lib/x86_64-linux-gnu/8"],["cgo_ldflag","-Wl,-no-as-needed"],["cgo_ldflag","-fPIC"],["cgo_ldflag","-fuse-ld=gold"],["cgo_ldflag","-m64"],["cgo_ldflag","-pthread"],["cgo_ldflag","-l:libc_nonshared.a"],["cgo_ldflag","-ldl"],["cgo_ldflag","-lm"],["cgo_ldflag","-lgcc_s"],["cgo_ldflag","-lgcc"],["cgo_ldflag","-lpthread"],["cgo_ldflag","-lc"],["cgo_ldflag","--sysroot=/home//.cache/local-bazel-output-base/sandbox/linux-sandbox/30/execroot/bdi/external/"],["cgo_ldflag","-pthread"],["cgo_ldflag","-ldl"],["cgo_import_static","_cgo_ce17ae3907f5_Cfunc_pluginLookup"],["cgo_import_static","_cgo_ce17ae3907f5_Cfunc_pluginOpen"],["cgo_import_static","_cgo_ce17ae3907f5_Cfunc_realpath"]]
```

Contributor guide

Open the contributing guide

Research direction

Start with the referenced go/tools/builders/env.go special case and reproduce a Go binary build with remote caching using the reported rules_go, Gazelle, and Bazel versions. Inspect the listed standard-library archives for remote-cache absolute paths; done means the build links successfully without disabling remote caching for GoStdLib.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.