Skip to content
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

Generation fails for "target_compatible_with" targets #9

Open
camearle20 opened this issue Sep 17, 2021 · 0 comments
Open

Generation fails for "target_compatible_with" targets #9

camearle20 opened this issue Sep 17, 2021 · 0 comments

Comments

@camearle20
Copy link

When attempting to build a compilation database for a target with "target_compatible_with" set to something other than the host platform, the plugin fails to generate a compilation database. Example output:

Example cc_binary:

cc_binary(
    name = "native",
    srcs = ["test.c"],
    linkshared = True,
    deps = ["//third_party/wpilib:hal-athena", ":example-jni-athena"],
    target_compatible_with = ["@platforms//cpu:arm"]
)

Error output:

ERROR: /home/cameronearle/frc6328/AdvantageKit/example_java_project/BUILD:33:10: in @bazel_vscode_compdb//:aspects.bzl%compilation_database_aspect aspect on cc_binary rule //example_java_project:native: 
Traceback (most recent call last):
        File "/home/cameronearle/.cache/bazel/_bazel_cameronearle/df2869d739dc2caa4da3626bfdc238b8/external/bazel_vscode_compdb/aspects.bzl", line 312, column 48, in _compilation_database_aspect_impl
                compile_commands = _cc_compile_commands(ctx, target, feature_configuration, cc_toolchain)
        File "/home/cameronearle/.cache/bazel/_bazel_cameronearle/df2869d739dc2caa4da3626bfdc238b8/external/bazel_vscode_compdb/aspects.bzl", line 138, column 39, in _cc_compile_commands
                compile_flags = _get_compile_flags(target)
        File "/home/cameronearle/.cache/bazel/_bazel_cameronearle/df2869d739dc2caa4da3626bfdc238b8/external/bazel_vscode_compdb/aspects.bzl", line 87, column 30, in _get_compile_flags
                compilation_context = dep[CcInfo].compilation_context
Error: <target //example_java_project:native> (rule 'cc_binary') doesn't contain declared provider 'CcInfo'
ERROR: Analysis of aspect '@bazel_vscode_compdb//:aspects.bzl%compilation_database_aspect of //example_java_project:native' failed; build aborted: Analysis of target '//example_java_project:native' failed
INFO: Elapsed time: 0.133s
INFO: 0 processes.
INFO: Build Event Protocol files produced successfully.
The terminal process "bash '-c', 'bazel build --override_repository=bazel_vscode_compdb=/home/cameronearle/.vscode-server/extensions/stackbuild.bazel-stack-vscode-cc-1.1.2/compdb/ --aspects=@bazel_vscode_compdb//:aspects.bzl%compilation_database_aspect --color=no --noshow_progress --noshow_loading_progress --output_groups=compdb_files,header_files --build_event_json_file=/tmp/tmp-197-FEInLrkbeQyu //example_java_project:native && /home/cameronearle/.vscode-server/extensions/stackbuild.bazel-stack-vscode-cc-1.1.2/compdb/postprocess.py -b /tmp/tmp-197-FEInLrkbeQyu && rm /tmp/tmp-197-FEInLrkbeQyu'" failed to launch (exit code: 1).

In my example the host is a 64 bit Ubuntu system, but I've been able to reproduce this on macOS as well. In both cases an appropriate toolchain was registered in the WORKSPACE file to build for the platform.

This was also a problem with the older bazel-compdb project that this plugin is based on, so I don't know how involved the fix would be.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant