rules_swift_package_manager icon indicating copy to clipboard operation
rules_swift_package_manager copied to clipboard

Build fails with microsoft/appcenter-sdk-apple

Open PutkovDimi opened this issue 1 year ago • 3 comments

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

PutkovDimi avatar Nov 20 '23 12:11 PutkovDimi

Can you verify the error with the latest version of rules_swift_package_manager?

cgrindel avatar Nov 20 '23 13:11 cgrindel

@cgrindel The same behavior with the latest 0.21.0

PutkovDimi avatar Nov 21 '23 08:11 PutkovDimi

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.

cgrindel avatar Nov 23 '23 20:11 cgrindel