Skip to content

Investigate Redundant @com_google_benchmark//:benchmark Dependency in Bazel Builds #15548

@jinseopkim0

Description

@jinseopkim0

Pull request #15543 fixed build failures in several benchmark targets on the macOS Bazel CI. The builds were failing because they were missing a direct dependency on @com_google_benchmark//:benchmark, even though they already depended on @com_google_benchmark//:benchmark_main.

While adding the explicit dependency resolves the build errors, it's not clear why this is necessary. According to the google/benchmark BUILD.bazel file, the :benchmark_main target depends on :benchmark and should export the necessary headers and symbols.

This issue affects the macOS Bazel CI builds.

This issue is to track the investigation into the root cause of this behavior:

  1. Why is a direct dependency on @com_google_benchmark//:benchmark required when a dependency on @com_google_benchmark//:benchmark_main already exists?
  2. Why does this issue appear to be specific to the macOS Bazel CI build environment?
  3. Is there a more fundamental issue in how dependencies are being resolved or in the toolchain configuration?

Acceptance Criteria:

  • Understand and document the reason for the seemingly redundant dependency.
  • Determine if a configuration change can remove the need for the explicit dependency on @com_google_benchmark//:benchmark in the benchmark targets.

Reference:

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: p3Desirable enhancement or fix. May not be included in next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions