rules_swift_package_manager
rules_swift_package_manager copied to clipboard
Build fails with microsoft/appcenter-sdk-apple
Microsoft App Center fails after adding it as a dep during compilation phase with following errors:
/rules_xcodeproj.noindex/build_output_base/external/rules_swift_package_manager_0.19.0_swift_deps_swiftpkg_appcenter_sdk_apple/BUILD.bazel:1200:13: Compiling AppCenter/AppCenter/Internals/Util/MSACUtility.m failed: (Exit 1): wrapped_clang failed: error executing command (from target @rules_swift_package_manager_0.19.0_swift_deps~swiftpkg_appcenter_sdk_apple//:AppCenter_AppCenter)
/rules_xcodeproj.noindex/build_output_base/execroot/_main/external/rules_swift_package_manager_0.19.0_swift_deps_swiftpkg_appcenter_sdk_apple/AppCenter/AppCenter/Internals/Util/MSACUtility.m:23:68: Invalid suffix '.4' on floating constant #define APP_CENTER_C_VERSION 5.0.4
Then, when I wrote a script to replace constant with string constant, it fails with following errors:
/rules_xcodeproj.noindex/build_output_base/external/rules_swift_package_manager_0.19.0_swift_deps_swiftpkg_appcenter_sdk_apple/BUILD.bazel:474:13: Compiling AppCenterCrashes/AppCenterCrashes/Internals/MSACWrapperExceptionManager.m failed: (Exit 1): wrapped_clang failed: error executing command (from target @rules_swift_package_manager_0.19.0_swift_deps_swiftpkg_appcenter_sdk_apple//:AppCenterCrashes_AppCenterCrashes)
bazel-out/ios-sim_arm64-min13.0-applebin_ios-ios_sim_arm64-dbg-ST-ddc0ea01a86f/bin/external/rules_swift_package_manager_0.19.0_swift_deps_swiftpkg_plcrashreporter/CrashReporter/../../../../../../external/rules_swift_package_manager_0.19.0~swift_deps_swiftpkg_plcrashreporter/Source/PLCrashReport.pb-c.h:7:10: fatal error: 'protobuf-c/protobuf-c.h' file not found
There are some info of the project:
In .bazelrc:
...
build --cxxopt='-std=c++17'
...
In MODULE.bazel:
bazel_dep(name = "rules_swift_package_manager", version = "0.19.0")
bazel_dep(name = "rules_xcodeproj", version = "1.13.0")
bazel_dep(name = "cgrindel_bazel_starlib", version = "0.18.1")
bazel_dep(name = "bazel_skylib", version = "1.4.2")
bazel_dep(name = "rules_swift", version = "1.13.0", repo_name = "build_bazel_rules_swift")
bazel_dep(name = "rules_apple", version = "3.1.1", repo_name = "build_bazel_rules_apple")
I'd appreciate if it's a chance to support usage of the lib with bazel_spm
Can you verify the error with the latest version of rules_swift_package_manager
?
@cgrindel The same behavior with the latest 0.21.0
Unfortunately, I am getting a different error. I did not patch anything to get the following error:
ERROR: /private/var/tmp/_bazel_chuck/361311364fd205615d8cd4e1ff357b7b/external/rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter/BUILD.bazel:75:13: Compiling Source/dwarf_opstream.cpp failed: (Exit 1): wrapped_clang_pp failed: error executing command (from target @rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter//:CrashReporter)
(cd /private/var/tmp/_bazel_chuck/361311364fd205615d8cd4e1ff357b7b/sandbox/darwin-sandbox/31/execroot/_main && \
exec env - \
APPLE_SDK_PLATFORM=iPhoneSimulator \
APPLE_SDK_VERSION_OVERRIDE=17.0 \
PATH=/bin:/usr/bin:/usr/local/bin \
XCODE_VERSION_OVERRIDE=15.0.1.15A507 \
ZERO_AR_DATE=1 \
external/apple_support~1.11.1~apple_cc_configure_extension~local_config_apple_cc/wrapped_clang_pp '-D_FORTIFY_SOURCE=1' -fstack-protector -fcolor-diagnostics -Wall -Wthread-safety -Wself-assign -fno-omit-frame-pointer -O0 -DDEBUG '-std=c++14' '-fdebug-prefix-map=__BAZEL_EXECUTION_ROOT__=.' '-fdebug-prefix-map=__BAZEL_XCODE_DEVELOPER_DIR__=/PLACEHOLDER_DEVELOPER_DIR' -iquote external/rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter -iquote bazel-out/ios-x86_64-min16.0-applebin_ios-ios_x86_64-fastbuild-ST-2f627f30a876/bin/external/rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter -Iexternal/rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter/Dependencies/protobuf-c/protobuf-c -Ibazel-out/ios-x86_64-min16.0-applebin_ios-ios_x86_64-fastbuild-ST-2f627f30a876/bin/external/rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter/Dependencies/protobuf-c/protobuf-c -Iexternal/rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter/Source -Ibazel-out/ios-x86_64-min16.0-applebin_ios-ios_x86_64-fastbuild-ST-2f627f30a876/bin/external/rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter/Source -MD -MF bazel-out/ios-x86_64-min16.0-applebin_ios-ios_x86_64-fastbuild-ST-2f627f30a876/bin/external/rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter/_objs/CrashReporter/arc/dwarf_opstream.d '-DSWIFT_PACKAGE=1' -DPLCR_PRIVATE -DPLCF_RELEASE_BUILD '-DPLCRASHREPORTER_PREFIX=' -DSWIFT_PACKAGE '-frandom-seed=bazel-out/ios-x86_64-min16.0-applebin_ios-ios_x86_64-fastbuild-ST-2f627f30a876/bin/external/rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter/_objs/CrashReporter/arc/dwarf_opstream.o' -isysroot __BAZEL_XCODE_SDKROOT__ -F__BAZEL_XCODE_SDKROOT__/System/Library/Frameworks -F__BAZEL_XCODE_DEVELOPER_DIR__/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks -fobjc-arc -no-canonical-prefixes -pthread -fblocks -fobjc-arc -fPIC '-fmodule-name=CrashReporter' -Iexternal/rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter/Dependencies/protobuf-c -fmodules '-fmodules-cache-path=bazel-out/ios-x86_64-min16.0-applebin_ios-ios_x86_64-fastbuild-ST-2f627f30a876/bin/_objc_module_cache' -O0 '-DDEBUG=1' -no-canonical-prefixes -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -target x86_64-apple-ios16.0-simulator -c external/rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter/Source/dwarf_opstream.cpp -o bazel-out/ios-x86_64-min16.0-applebin_ios-ios_x86_64-fastbuild-ST-2f627f30a876/bin/external/rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter/_objs/CrashReporter/arc/dwarf_opstream.o)
# Configuration: a23db39790fa4a30adba0a511163a9595c56c7455793809026babbe57e73a38a
# Execution platform: @local_config_platform//:host
Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
external/rules_swift_package_manager~override~swift_deps~swiftpkg_plcrashreporter/Source/dwarf_opstream.cpp:27:10: fatal error: 'dwarf_opstream.hpp' file not found
#include "dwarf_opstream.hpp"
^~~~~~~~~~~~~~~~~~~~
1 error generated.
Error in child process '/usr/bin/xcrun'. 1
INFO: Elapsed time: 17.299s, Critical Path: 3.06s
INFO: 46 processes: 2 disk cache hit, 34 internal, 10 darwin-sandbox.
Executed 2 out of 4 tests: 2 tests pass and 2 were skipped.
I checked the Package.swift
for plcrashreporter
and they explicitly exclude this header file. It may be worth reaching out to the maintainers to understand why they excluded that file.