hedronvision / bazel-compile-commands-extractor

Goal: Enable awesome tooling for Bazel users of the C language family.
Other
659 stars 109 forks source link

Linker error - collect2: fatal error: cannot find 'ld' #177

Open stonebrakert6 opened 5 months ago

stonebrakert6 commented 5 months ago

For some strange reason I am getting linking errors while running bazel run //:refresh_compile_commands. Prima facie it looks that I am doing something blatantly silly/stupid. Would really appreciate if someone can point me in the right direction.

bazel run --verbose_failures --sandbox_debug //:refresh_compile_commands
INFO: Invocation ID: b0baf63c-0796-434d-9539-2eba2f9eb386
INFO: Analyzed target //:refresh_compile_commands (0 packages loaded, 0 targets configured).
DEBUG: Sandbox debug output for CppLink @@hedron_compile_commands//:print_args:
1711445717.164172030: src/main/tools/linux-sandbox.cc:156: calling pipe(2)...
1711445717.164195214: src/main/tools/linux-sandbox.cc:165: Netns is 2
1711445717.164197738: src/main/tools/linux-sandbox.cc:176: calling clone(2)...
1711445717.164933966: src/main/tools/linux-sandbox.cc:185: linux-sandbox-pid1 has PID 238953
1711445717.164952621: src/main/tools/linux-sandbox-pid1.cc:700: Pid1Main started
1711445717.165011291: src/main/tools/linux-sandbox.cc:202: done manipulating pipes
1711445717.165113053: src/main/tools/linux-sandbox-pid1.cc:293: bind mount: /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/execroot -> /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-execroot
1711445717.165131868: src/main/tools/linux-sandbox-pid1.cc:293: bind mount: /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/execroot -> /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-working-directory
1711445717.165143570: src/main/tools/linux-sandbox-pid1.cc:293: bind mount: /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/external/bazel_tools -> /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-source-roots/0
1711445717.165157507: src/main/tools/linux-sandbox-pid1.cc:293: bind mount: /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/external/local_config_cc -> /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-source-roots/1
1711445717.165168658: src/main/tools/linux-sandbox-pid1.cc:293: bind mount: /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp -> /tmp
1711445717.165186752: src/main/tools/linux-sandbox-pid1.cc:311: writable: /dev/shm
1711445717.165195799: src/main/tools/linux-sandbox-pid1.cc:311: writable: /tmp
1711445717.165210356: src/main/tools/linux-sandbox-pid1.cc:311: writable: /tmp/bazel-execroot/app0
1711445717.165218662: src/main/tools/linux-sandbox-pid1.cc:327: working dir: /tmp/bazel-working-directory/app0
1711445717.165285428: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /
1711445717.165293042: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /dev
1711445717.165298512: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /dev/pts
1711445717.165303963: src/main/tools/linux-sandbox-pid1.cc:405: remount rw: /dev/shm
1711445717.165310335: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /dev/hugepages
1711445717.165318119: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /dev/mqueue
1711445717.165324571: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /run
1711445717.165330002: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /run/lock
1711445717.165335412: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /run/credentials/systemd-sysusers.service
1711445717.165340952: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /run/user/1000
1711445717.165346773: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /run/user/1000/doc
1711445717.165352414: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /run/user/1000/gvfs
1711445717.165381348: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /run/snapd/ns
1711445717.165387320: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /sys
1711445717.165392349: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /sys/kernel/security
1711445717.165399763: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /sys/fs/cgroup
1711445717.165406336: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /sys/fs/pstore
1711445717.165412457: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /sys/firmware/efi/efivars
1711445717.165419761: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /sys/fs/bpf
1711445717.165425692: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /sys/kernel/debug
1711445717.165431814: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /sys/kernel/tracing
1711445717.165445319: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /sys/fs/fuse/connections
1711445717.165452072: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /sys/kernel/config
1711445717.165458103: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /proc
1711445717.165463443: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /proc/sys/fs/binfmt_misc
1711445717.165470526: src/main/tools/linux-sandbox-pid1.cc:427: remount(nullptr, /proc/sys/fs/binfmt_misc, nullptr, 2101281, nullptr) failure (Operation not permitted) ignored
1711445717.165494311: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /proc/sys/fs/binfmt_misc
1711445717.165501034: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/bare/5
1711445717.165506414: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/core18/2796
1711445717.165511504: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/core18/2812
1711445717.165516162: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/core20/2105
1711445717.165520921: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/core20/2182
1711445717.165525530: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/core22/1033
1711445717.165530269: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/core22/1122
1711445717.165534928: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/discord/180
1711445717.165539627: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/discord/181
1711445717.165544245: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/firefox/3836
1711445717.165549275: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/firefox/3941
1711445717.165568731: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/gnome-3-28-1804/194
1711445717.165573781: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/gnome-3-28-1804/198
1711445717.165578550: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/gnome-3-34-1804/90
1711445717.165583299: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/gnome-3-34-1804/93
1711445717.165588038: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/gnome-3-38-2004/140
1711445717.165592997: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/gnome-3-38-2004/143
1711445717.165597646: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/gnome-42-2204/141
1711445717.165602495: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/gnome-42-2204/172
1711445717.165607164: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/gtk-common-themes/1534
1711445717.165611993: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/gtk-common-themes/1535
1711445717.165630979: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/htop/3873
1711445717.165636058: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/htop/4079
1711445717.165640877: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/jami/293
1711445717.165645686: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/jami/299
1711445717.165650415: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/kf5-5-108-qt-5-15-10-core22/5
1711445717.165655214: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/slack/130
1711445717.165660034: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/slack/132
1711445717.165664692: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/snap-store/638
1711445717.165669511: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/snap-store/959
1711445717.165674270: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/snapd/20671
1711445717.165679280: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/snapd/21184
1711445717.165701041: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/snapd-desktop-integration/57
1711445717.165705980: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/snapd-desktop-integration/83
1711445717.165710809: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/spotify/74
1711445717.165720077: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/spotify/75
1711445717.165724896: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/tuxmathscrabble/53
1711445717.165729965: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /var/snap/firefox/common/host-hunspell
1711445717.165735446: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/video-downloader/1123
1711445717.165740425: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /snap/video-downloader/1126
1711445717.165745394: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /boot/efi
1711445717.165750714: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /home/kartik/extras
1711445717.165770682: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /home/kartik/faltu
1711445717.165775962: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-execroot
1711445717.165782124: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-working-directory
1711445717.165787884: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-source-roots/0
1711445717.165793645: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-source-roots/1
1711445717.165799246: src/main/tools/linux-sandbox-pid1.cc:405: remount rw: /tmp
1711445717.165803804: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /tmp/bazel-execroot
1711445717.165808633: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /tmp/bazel-working-directory
1711445717.165824163: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /tmp/bazel-source-roots/0
1711445717.165829112: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /tmp/bazel-source-roots/1
1711445717.165834202: src/main/tools/linux-sandbox-pid1.cc:405: remount rw: /dev/shm
1711445717.165838840: src/main/tools/linux-sandbox-pid1.cc:405: remount rw: /tmp
1711445717.165843269: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /tmp/bazel-execroot
1711445717.165847777: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /tmp/bazel-working-directory
1711445717.165852246: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /tmp/bazel-source-roots/0
1711445717.165856774: src/main/tools/linux-sandbox-pid1.cc:405: remount ro: /tmp/bazel-source-roots/1
1711445717.165861363: src/main/tools/linux-sandbox-pid1.cc:405: remount rw: /tmp/bazel-execroot/app0
1711445717.165865671: src/main/tools/linux-sandbox-pid1.cc:405: remount rw: /tmp/bazel-working-directory/app0
1711445717.165977652: src/main/tools/linux-sandbox-pid1.cc:496: calling fork...
1711445717.166110903: src/main/tools/linux-sandbox-pid1.cc:533: child started with PID 2
1711445717.168003379: src/main/tools/linux-sandbox-pid1.cc:550: wait returned pid=2, status=0x100
1711445717.168008969: src/main/tools/linux-sandbox-pid1.cc:568: child exited normally with code 1
1711445717.168348930: src/main/tools/linux-sandbox.cc:243: child exited normally with code 1

Run this command to start an interactive shell in an identical sandboxed environment:
(exec env - \
    PATH=/bin:/usr/bin:/usr/local/bin \
    PWD=/proc/self/cwd \
    TMPDIR=/tmp \
    ZERO_AR_DATE=1 \
  /home/kartik/.cache/bazel/_bazel_kartik/install/c8ddc30f81d03fbb6c764cadbda081c8/linux-sandbox -W /tmp/bazel-working-directory/app0 -t 15 -w /dev/shm -w /tmp -w /tmp/bazel-execroot/app0 -M /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/execroot -m /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-execroot -M /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/execroot -m /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-working-directory -M /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/external/bazel_tools -m /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-source-roots/0 -M /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/external/local_config_cc -m /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-source-roots/1 -M /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp -m /tmp -S /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/stats.out -N -D /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/debug.out -- /bin/sh -i)
ERROR: /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/external/hedron_compile_commands/BUILD:30:10: Linking external/hedron_compile_commands/print_args failed: (Exit 1): linux-sandbox failed: error executing CppLink command
  (cd /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/execroot/app0 && \
  exec env - \
    PATH=/bin:/usr/bin:/usr/local/bin \
    PWD=/proc/self/cwd \
    TMPDIR=/tmp \
    ZERO_AR_DATE=1 \
  /home/kartik/.cache/bazel/_bazel_kartik/install/c8ddc30f81d03fbb6c764cadbda081c8/linux-sandbox -W /tmp/bazel-working-directory/app0 -t 15 -w /dev/shm -w /tmp -w /tmp/bazel-execroot/app0 -M /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/execroot -m /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-execroot -M /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/execroot -m /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-working-directory -M /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/external/bazel_tools -m /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-source-roots/0 -M /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/external/local_config_cc -m /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp/bazel-source-roots/1 -M /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/_hermetic_tmp -m /tmp -S /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/stats.out -N -D /home/kartik/.cache/bazel/_bazel_kartik/c7673947111bc32532532c2b2b2dc044/sandbox/linux-sandbox/579/debug.out -- /usr/bin/gcc @bazel-out/k8-fastbuild/bin/external/hedron_compile_commands/print_args-2.params)
collect2: fatal error: cannot find 'ld'
compilation terminated.
INFO: Found 1 target...
Target //:refresh_compile_commands failed to build
INFO: Elapsed time: 0.046s, Critical Path: 0.01s
INFO: 2 processes: 2 internal.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

ld is already present

ls -lrt /usr/bin/ld
lrwxrwxrwx 1 root root 19 Jan 23 20:38 /usr/bin/ld -> x86_64-linux-gnu-ld
which ld
/usr/bin/ld

Here is my BUILD.bazel

load("@com_github_bazelbuild_buildtools//buildifier:def.bzl", "buildifier")
load("@hedron_compile_commands//:refresh_compile_commands.bzl", "refresh_compile_commands")

buildifier(
    name = "buildifier",
)

refresh_compile_commands(
    name = "refresh_compile_commands",

    # Specify the targets of interest.
    # For example, specify a dict of targets and any flags required to build.
    targets = {
        "//base/...": "--config=dbg",
        "//main/...": "--config=dbg",
        "//workset_cache/...": "--config=dbg",
    },
    # No need to add flags already in .bazelrc. They're automatically picked up.
    # If you don't need flags, a list of targets is also okay, as is a single target string.
    # Wildcard patterns, like //... for everything, *are* allowed here, just like a build.
    # As are additional targets (+) and subtractions (-), like in bazel query https://docs.bazel.build/versions/main/query.html#expressions
    # And if you're working on a header-only library, specify a test or binary target that compiles it.
)

I am using WORKSPACE file. Here is the top of the file

workspace(name = "app0")

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

# Hedron's Compile Commands Extractor for Bazel
# https://github.com/hedronvision/bazel-compile-commands-extractor
http_archive(
    name = "hedron_compile_commands",
    sha256 = "1bb1d9ca4ad73d657defee62c28e6d704a3b7f9a763c849ae5bad600a7346fc6",
    strip_prefix = "bazel-compile-commands-extractor-5bcb0bd8a917b2b48fb5dc55818515f4be3b63ff",

    # Replace the commit hash in both places (below) with the latest, rather than using the stale one here.
    # Even better, set up Renovate and let it do the work for you (see "Suggestion: Updates" in the README).
    url = "https://github.com/hedronvision/bazel-compile-commands-extractor/archive/5bcb0bd8a917b2b48fb5dc55818515f4be3b63ff.zip",
    # When you first run this tool, it'll recommend a sha256 hash to put here with a message like: "DEBUG: Rule 'hedron_compile_commands' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = ..."
)

load("@hedron_compile_commands//:workspace_setup.bzl", "hedron_compile_commands_setup")

hedron_compile_commands_setup()

load("@hedron_compile_commands//:workspace_setup_transitive.bzl", "hedron_compile_commands_setup_transitive")

hedron_compile_commands_setup_transitive()

load("@hedron_compile_commands//:workspace_setup_transitive_transitive.bzl", "hedron_compile_commands_setup_transitive_transitive")

hedron_compile_commands_setup_transitive_transitive()

load("@hedron_compile_commands//:workspace_setup_transitive_transitive_transitive.bzl", "hedron_compile_commands_setup_transitive_transitive_transitive")

hedron_compile_commands_setup_transitive_transitive_transitive()

Bazel version

bazel version
Bazelisk version: v1.17.0
INFO: Invocation ID: 0754ecd1-00f2-4e7b-972d-62326299aaab
Build label: 7.1.1
Build target: @@//src/main/java/com/google/devtools/build/lib/bazel:BazelServer
Build time: Thu Mar 21 18:08:37 2024 (1711044517)
Build timestamp: 1711044517
Build timestamp as int: 1711044517
stonebrakert6 commented 5 months ago

This is resolved if I do bazel run --action_env=CC=clang --verbose_failures --sandbox_debug //:refresh_compile_commands My project is built using clang but atleast compilation for print_args shouldn't have any problem as gcc is also installed on my system and ld is at /usr/bin/ld

I am new to bazel and if someone can provide a oneliner, it would help in my understanding.