问题描述
我要使用rules_pkg
我具有以下设置:Windows 10 x64(2004版,Bazel 3.7.0,Visual Studio 16 2019,MSYS2 x86_64)
我的最小设置如下:
WORKSPACE.bazel
load("@bazel_tools//tools/build_defs/repo:http.bzl","http_archive")
# rules_pkg
http_archive(
name = "rules_pkg",sha256 = "6b5969a7acd7b60c02f816773b06fcf32fbe8ba0c7919ccdc2df4f8fb923804a",urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.3.0/rules_pkg-0.3.0.tar.gz","https://github.com/bazelbuild/rules_pkg/releases/download/0.3.0/rules_pkg-0.3.0.tar.gz",],)
BUILD.bazel
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl","pkg_tar")
cc_binary(
name = "HelloWorld",srcs = ["main.cpp"],)
pkg_tar(
name = "deploy_HelloWorld",srcs = [
":HelloWorld",extension = "tar.gz",)
main.cpp
#include <iostream>
int main() {
std::cout << "Hello World!" << std::endl;
}
当我尝试构建bazel build //...
时,我得到:
PS G:\dev\BazelDemos\HelloWorld> bazel build //...
INFO: Analyzed 2 targets (20 packages loaded,143 targets configured).
INFO: Found 2 targets...
ERROR: G:/dev/bazeldemos/helloworld/BUILD.bazel:8:8: PackageTar deploy_HelloWorld.tar.gz Failed (Exit 9009): build_tar.exe Failed: error executing command bazel-out/host/bin/external/bazel_tools/tools/build_defs/pkg/build_tar.exe --flagfile bazel-out/x64_windows-fastbuild/bin/deploy_HelloWorld.args
INFO: Elapsed time: 0.642s,Critical Path: 0.29s
INFO: 8 processes: 7 internal,1 local.
Failed: Build did NOT complete successfully
我可以在其他两台具有相同/相似设置的Windows 10计算机上毫无问题地进行构建。有什么想法吗?
要设置的更多详细信息:
Path
包含C:\msys64\usr\bin
。 BAZEL_SH
设置为C:\msys64\usr\bin\bash.exe
。
解决方法
Python3没有安装在我的Path变量中。退出9009通常是指由批处理脚本触发的错误,该错误未能调用特定命令。