Skip to content

Building bazel module @openssl//:ssl fails with gcc_toolchain 0.9.0 #213

@mmellin

Description

@mmellin

I am trying to leverage Bazel module for my dependencies and openssl is failing to build when I use the gcc_toolchain.

Example MODULE.bazel:

bazel_dep(name = "openssl", version = "3.3.1.bcr.1")
bazel_dep(name = "gcc_toolchain", version = "0.9.0")

gcc_toolchains = use_extension("@gcc_toolchain//toolchain:module_extensions.bzl", "gcc_toolchains", dev_dependency = True)

[
    [
        gcc_toolchains.toolchain(
            name = "gcc_toolchain_{}".format(arch),
            gcc_version = "13.4.0",
            target_arch = arch,
        ),
        use_repo(gcc_toolchains, "gcc_toolchain_{}".format(arch)),
        register_toolchains(
            "@gcc_toolchain_{}//:cc_toolchain".format(arch),
            dev_dependency = True,
        ),
    ]
    for arch in [
        "aarch64",
        # "armv7",
        "x86_64",
    ]
]

Without the gcc_toolchain, @openssl//:ssl builds fine. With it I get the following build error:

src/main/tools/process-wrapper-legacy.cc:80: "execvp(external/gcc_toolchain~~gcc_toolchains~gcc_toolchain_x86_64/xbin/gcc, ...)": No such file or directory

And in sandbox:

 external
│           ├── gcc_toolchain~~gcc_toolchains~gcc_toolchain_x86_64
│           │   ├── bin
│           │   │   └── as -> /home/vmeuser/.cache/bazel/_bazel_vmeuser/dc7cdd1e35c5dd2a91a2e7dbe3a4fdca/execroot/_main/external/gcc_toolchain~~gcc_toolchains~gcc_toolchain_x86_64/bin/as
│           │   └── xbin
│           │       └── as -> /home/vmeuser/.cache/bazel/_bazel_vmeuser/dc7cdd1e35c5dd2a91a2e7dbe3a4fdca/execroot/_main/external/gcc_toolchain~~gcc_toolchains~gcc_toolchain_x86_64/xbin/as
│           └── openssl~
│               ├── crypto
│               │   ├── aes
│               │   │   └── aes_local.h -> /home/vmeuser/.cache/bazel/_bazel_vmeuser/dc7cdd1e35c5dd2a91a2e7dbe3a4fdca/execroot/_main/external/openssl~/crypto/aes/aes_local.h
│               │   ├── arm_arch.h -> /home/vmeuser/.cache/bazel/_bazel_vmeuser/dc7cdd1e35c5dd2a91a2e7dbe3a4fdca/execroot/_main/external/openssl~/crypto/arm_arch.h

Environment: Bazel 7.6.1, Ubuntu 24.04 host.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions