bazelbuild/bazel

Inclusion checking problem on windows with gcc 13.1

Open

#18,379 opened on May 11, 2023

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Java (4,465 forks)batch import
P3area-Windowshelp wantedteam-Rules-CPPtype: bug

Repository metrics

Stars
 (25,384 stars)
PR merge metrics
 (Avg merge 22d 20h) (77 merged PRs in 30d)

Description

Description of the bug:

When building on windows with msys gcc13.1 and symlinking enabled, we're getting errors like

Compiling hl/src/H5DO.c failed: undeclared inclusion(s) in rule '@org_hdfgroup_hdf5//:hdf5_hl'

Digging in deeper, it seems that with gcc 12.2 or with --nowindows_enable_symlinks, the .d file contains lines like

 external/org_hdfgroup_hdf5/hl/src/H5HLprivate2.h \
 bazel-out/x64_windows-fastbuild/bin/external/org_hdfgroup_hdf5/_virtual_includes/hdf5/hdf5.h \

however with --windows_enable_symlinks we get

 external/org_hdfgroup_hdf5/hl/src/H5HLprivate2.h \
 C:/Users/azarchs/_bazel_azarchs/r6kacouw/external/org_hdfgroup_hdf5/src/hdf5.h \

What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.

I don't really have time to make a minimal reproducer on this but I encountered this with building

http_archive(
    name = "org_hdfgroup_hdf5",
    strip_prefix = "hdf5-1.12.2",
    urls = [
        "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.2/src/hdf5-1.12.2.tar.gz",
        "https://hdf-wordpress-1.s3.amazonaws.com/wp-content/uploads/manual/HDF5/HDF5_1_12_2/source/hdf5-1.12.2.tar.gz",
    ],
    type = "tar.gz",
    sha256 = "2a89af03d56ce7502dcae18232c241281ad1773561ec00c0f0e8ee2463910f14",
    build_file = ":hdf5.BUILD",
)

building the :hdf5_hl target in this BUILD file hdf5.BUILD

Again, this happens with gcc 13.1 but not with gcc12.2.

Which operating system are you running Bazel on?

Windows

What is the output of bazel info release?

6.2.0

If bazel info release returns development version or (@non-git), tell us how you built Bazel.

No response

What's the output of git remote get-url origin; git rev-parse master; git rev-parse HEAD ?

No response

Have you found anything relevant by searching the web?

Yes, this seems likely related to https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e5c15eb183f17e806ad6b58c9497321ded87866f or maybe https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=2eb0191aa104badf3cab127f7f87d371c0fef92b

Any other information, logs, or outputs that you want to share?

No response

Contributor guide