bazelbuild / bazel

a fast, scalable, multi-language and extensible build system
https://bazel.build
Apache License 2.0
23.2k stars 4.06k forks source link

Inclusion checking problem on windows with gcc 13.1 #18379

Open adam-azarchs opened 1 year ago

adam-azarchs commented 1 year ago

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

oquenchil commented 1 year ago

@tomrenn could you please take a look? It looks like you added the flag back in 2020. Thank you