-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
compiler-rt-libc-*-dev not available in nixpkgs cc toolchain #442
Comments
Hi. I think you should be able to use the library like any other, e.g. with nixpkgs_package(
name = "compiler-rt-libc",
attribute_path = "llvmPackages_16.compiler-rt-libc",
nix_file_content = """import <nixpkgs> { }""",
repository = "@nixpkgs",
)
nixpkgs_package(
name = "compiler-rt-libc.dev",
attribute_path = "llvmPackages_16.compiler-rt-libc.dev",
build_file_content = """\
load("@rules_cc//cc:defs.bzl", "cc_library")
filegroup(
name = "include",
srcs = glob(["include/**/*.h"]),
visibility = ["//visibility:public"],
)
cc_library(
name = "compiler-rt-libc",
srcs = ["@compiler-rt-libc//:lib"],
hdrs = [":include"],
strip_include_prefix = "include",
visibility = ["//visibility:public"],
)
""",
nix_file_content = """import <nixpkgs> { }""",
repository = "@nixpkgs",
) |
The problem is that Go stdlib uses that (when compiling with msan) but doesn't declare it, because it's assumed to be part of the toolchain. Same with absl and probably other third party dependencies. |
Better error messages than "something went wrong in type 20". Also fix bazel-asan/tsan builds. tweag/rules_nixpkgs#442 is blocking fuzz tests under asan.
Better error messages than "something went wrong in type 20". Also fix bazel-asan/tsan builds. tweag/rules_nixpkgs#442 is blocking fuzz tests under asan.
Also absl-cpp uses it. I can't easily change their code to use the nixpkgs import (can I?). |
You could probably patch the BUILD files of absl-cpp, but I see how this is not ideal. |
Describe the bug
#include <sanitizer/msan_interface.h>
fails to compile on bazel with nixpkgs. It works withclang++
.To Reproduce
Create a C file with
#include <sanitizer/msan_interface.h>
in it. Observe:Expected behavior
It should compile.
Environment
Additional context
The include directory is known to clang++:
The text was updated successfully, but these errors were encountered: