Skip to content

Support building on Windows 11 #978

@Marcono1234

Description

@Marcono1234

At least for me, building with Windows 11 is not possible. The build (and even loading the project in IntelliJ) fails with:

ERROR: C:/users/<redacted>/orvqia3e/external/rules_kotlin~~rules_kotlin_extensions~com_github_google_ksp/BUILD.bazel: no such target '@@rules_kotlin~~rules_kotlin_extensions~com_github_google_ksp//:symbol-processing-cmdline.jar': target 'symbol-processing-cmdline.jar' not declared in package '' defined by C:/users/<redacted>/orvqia3e/external/rules_kotlin~~rules_kotlin_extensions~com_github_google_ksp/BUILD.bazel
ERROR: C:/users/<redacted>/orvqia3e/external/rules_kotlin~/kotlin/compiler/BUILD.bazel:25:17: no such target '@@rules_kotlin~~rules_kotlin_extensions~com_github_google_ksp//:symbol-processing-cmdline.jar': target 'symbol-processing-cmdline.jar' not declared in package '' defined by C:/users/<redacted>/orvqia3e/external/rules_kotlin~~rules_kotlin_extensions~com_github_google_ksp/BUILD.bazel and referenced by '@@rules_kotlin~//kotlin/compiler:symbol-processing-cmdline'

Maybe it is related to bazelbuild/rules_kotlin#1193.

Upgrading rules_kotlin solved the issue for me, but I think it caused other incompatibilities. What I ended up with is this change to MODULE.bazel, which made the build succeed:

diff --git "a/MODULE.bazel" "b/MODULE.bazel"
index 062950ea..14164350 100644
--- "a/MODULE.bazel"
+++ "b/MODULE.bazel"
@@ -14,38 +14,19 @@ bazel_dep(name = "buildifier_prebuilt", version = "6.4.0")
 bazel_dep(name = "contrib_rules_jvm", version = "0.24.0")
 bazel_dep(name = "googletest", version = "1.14.0.bcr.1")
 bazel_dep(name = "platforms", version = "0.0.10")
-bazel_dep(name = "protobuf")
+bazel_dep(name = "protobuf", version = "29.3")
 bazel_dep(name = "rules_android", version = "0.1.1")
 bazel_dep(name = "rules_android_ndk", version = "0.1.2")
 bazel_dep(name = "rules_foreign_cc", version = "0.11.1")
 bazel_dep(name = "rules_java", version = "7.12.2")
 bazel_dep(name = "rules_jni", version = "0.9.1")
-bazel_dep(name = "rules_jvm_external")
-
-# TODO: Remove after the next release.
-archive_override(
-    module_name = "rules_jvm_external",
-    integrity = "sha256-7AerLOLhQ+oIDH2id7OE8WJmbH01MqBWV4CbqJ6Nh68=",
-    strip_prefix = "rules_jvm_external-a1d4e4f4267c1797b686719aa385e707b732c541",
-    urls = ["https://github.com/bazelbuild/rules_jvm_external/archive/a1d4e4f4267c1797b686719aa385e707b732c541.tar.gz"],
-)
+bazel_dep(name = "rules_jvm_external", version = "6.8")
 
-bazel_dep(name = "rules_kotlin", version = "1.9.6")
+bazel_dep(name = "rules_kotlin", version = "2.1.9")
 bazel_dep(name = "rules_license", version = "1.0.0")
 bazel_dep(name = "rules_pkg", version = "0.9.1")
 bazel_dep(name = "toolchains_llvm", version = "0.10.3")
 
-# TODO: Remove after a release that includes https://github.com/protocolbuffers/protobuf/commit/a7b0421c78412baa48704d727601a17ac0f451d1.
-single_version_override(
-    module_name = "protobuf",
-    patch_strip = 1,
-    patches = [
-        # https://github.com/protocolbuffers/protobuf/pull/15332
-        "//third_party:protobuf-disable-layering_check.patch",
-    ],
-    version = "23.1",
-)
-
 ################################################################################
 # Maven dependencies
 ################################################################################

(but it produces some warnings about mismatching versions, and I am not familiar enough with Bazel or these rules to say if that is the proper approach)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions