-
Notifications
You must be signed in to change notification settings - Fork 240
Description
Hello, thank you, for youe amazing repo, that allows for a simple and convinient way of using libboost through Bazel.
Unfortunately, during the process of porting my project to Windows, I had experience a strange problem.
I added a dependency, according to readme, to my MODULES.bazel file. So now it looks like that:
###############################################################################
# Bazel now uses Bzlmod by default to manage external dependencies.
# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel.
#
# For more details, please check https://github.com/bazelbuild/bazel/issues/18958
###############################################################################
# Boost
# Famous C++ library that has given rise to many new additions to the C++ Standard Library
# Makes @boost available for use: For example, add `@boost//:algorithm` to your deps.
# For more, see https://github.com/nelhage/rules_boost and https://www.boost.org
bazel_dep(name = "rules_boost", repo_name = "com_github_nelhage_rules_boost")
archive_override(
module_name = "rules_boost",
urls = "https://github.com/nelhage/rules_boost/archive/refs/heads/master.tar.gz",
strip_prefix = "rules_boost-master",
# It is recommended to edit the above URL and the below sha256 to point to a specific version of this repository.
# integrity = "sha256-...",
)
non_module_boost_repositories = use_extension("@com_github_nelhage_rules_boost//:boost/repositories.bzl", "non_module_dependencies")
use_repo(
non_module_boost_repositories,
"boost",
)
After doing a bazel clean --expunge command, I try to recompile and run my target of interest, which is defined as follows:
cc_library(
name = "parser",
srcs = [...],
hdrs = [...],
includes = ["include"],
strip_include_prefix = "include",
visibility = ["//visibility:public"],
deps = [
"@boost//:property_tree",
],
)
cc_test(
name = "parsers_tests",
srcs = [...],
copts = ["-Iexternal/gtest/include"],
visibility = ["//visibility:public"],
deps = [
":parser",
"@com_google_googletest//:gtest_main",
],
)
with cli command bazel test --config=windows //parsers:parsers_tests.
As a result I'm getting the followinf error:
ERROR: no such package '@@xz~//': BUILD file not found in directory '' of external repository @@xz~. Add a BUILD file to a directory to mark it as a package.
ERROR: C:/users/user/_bazel_user/ygvlhio7/external/rules_boost~~non_module_dependencies~boost/BUILD.bazel:1128:14: no such package '@@xz~//': BUILD file not found in directory '' of external repository @@xz~. Add a BUILD file to a directory to mark it as a package. and referenced by '@@rules_boost~~non_module_dependencies~boost//:iostreams'
ERROR: Analysis of target '//parsers:parsers_tests' failed; build aborted: Analysis failed
My configuration:
OS - Windows 10 1909, build 18363.1440
Compiler - MSVC 17.0.1 (Visual Studio Community 2022)
Bazel - 7.1.2
If any more info is required, please reach out to me, I will provide it ASAP.
Thank everyone in advance.