SkiaSharp: Mac build does not work

Hi! I admittedly am new to Mac OS, but I setup a build environment for SkiaSharp and I get a quite meaningless exception when running sudo ./bootstrapper.sh -t externals-android

the relevant trace part is

[33/755] CC obj/third_party/externals/libwebp/src/dsp/libwebp_dsp.upsampling.o ninja: build stopped: subcommand failed. Executing: /Users/xammac/SkiaSharp/skia/platform_tools/android/bin/android_ninja -d arm_v7_neon skia_lib pdf sfntly icuuc GYP_GENERATORS is “ninja-android” Updating projects from gyp files… ninja: Entering directory /Users/xammac/SkiaSharp/skia/out/config/android-arm_v7_neon/Release' [349/1002] CXX obj/src/c/xamarin/core.sk_x_path.o FAILED: /Users/xammac/SkiaSharp/skia/platform_tools/android/bin/../toolchains/arm-r10e-14/bin/arm-linux-androideabi-g++ -MMD -MF obj/src/c/xamarin/core.sk_x_path.o.d -DSK_INTERNAL -DSK_GAMMA_APPLY_TO_A8 -DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0 -DSK_SUPPORT_GPU=1 -DSK_FORCE_DISTANCE_FIELD_TEXT=0 -DSK_ARM_HAS_NEON -DSK_BUILD_FOR_ANDROID -DSK_GAMMA_EXPONENT=1.4 -DSK_GAMMA_CONTRAST=0.0 -DSKIA_DLL -DSKIA_IMPLEMENTATION=1 -DSK_SUPPORT_LEGACY_CLIPTOLAYERFLAG -DNDEBUG -I../../../../include/c -I../../../../include/config -I../../../../include/core -I../../../../include/pathops -I../../../../include/ports -I../../../../include/private -I../../../../include/utils -I../../../../include/images -I../../../../src/core -I../../../../src/sfnt -I../../../../src/image -I../../../../src/opts -I../../../../src/utils -I../../../../include/gpu -I../../../../src/gpu -I../../../../platform_tools/android/third_party/cpufeatures -fPIC -g -fno-exceptions -fstrict-aliasing -Wall -Wextra -Winit-self -Wpointer-arith -Wsign-compare -Wno-unused-parameter -Werror -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=softfp -fuse-ld=gold -O2 -std=c++11 -fno-rtti -fno-threadsafe-statics -Wnon-virtual-dtor -c ../../../../src/c/xamarin/sk_x_path.cpp -o obj/src/c/xamarin/core.sk_x_path.o ../../../../src/c/xamarin/sk_x_path.cpp:94:38: error: comparison between 'enum SkPath::Verb' and 'enum sk_path_verb_t' [-Werror=enum-compare] static_assert (SkPath::kMove_Verb == MOVE_PATH_VERB, "ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t"); ^ ../../../../src/c/xamarin/sk_x_path.cpp:95:38: error: comparison between 'enum SkPath::Verb' and 'enum sk_path_verb_t' [-Werror=enum-compare] static_assert (SkPath::kLine_Verb == LINE_PATH_VERB, "ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t"); ^ ../../../../src/c/xamarin/sk_x_path.cpp:96:38: error: comparison between 'enum SkPath::Verb' and 'enum sk_path_verb_t' [-Werror=enum-compare] static_assert (SkPath::kQuad_Verb == QUAD_PATH_VERB, "ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t"); ^ ../../../../src/c/xamarin/sk_x_path.cpp:97:39: error: comparison between 'enum SkPath::Verb' and 'enum sk_path_verb_t' [-Werror=enum-compare] static_assert (SkPath::kConic_Verb == CONIC_PATH_VERB, "ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t"); ^ ../../../../src/c/xamarin/sk_x_path.cpp:98:39: error: comparison between 'enum SkPath::Verb' and 'enum sk_path_verb_t' [-Werror=enum-compare] static_assert (SkPath::kCubic_Verb == CUBIC_PATH_VERB, "ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t"); ^ ../../../../src/c/xamarin/sk_x_path.cpp:99:39: error: comparison between 'enum SkPath::Verb' and 'enum sk_path_verb_t' [-Werror=enum-compare] static_assert (SkPath::kClose_Verb == CLOSE_PATH_VERB, "ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t"); ^ ../../../../src/c/xamarin/sk_x_path.cpp:100:38: error: comparison between 'enum SkPath::Verb' and 'enum sk_path_verb_t' [-Werror=enum-compare] static_assert (SkPath::kDone_Verb == DONE_PATH_VERB, "ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t"); ^ ../../../../src/c/xamarin/sk_x_path.cpp:127:47: error: comparison between 'enum SkPath::AddPathMode' and 'enum sk_path_add_mode_t' [-Werror=enum-compare] static_assert (SkPath::kAppend_AddPathMode == APPEND_ADD_MODE, "ABI changed, you must write a enumeration mapper for SkPath::AddPathMode to sk_path_add_mode_t"); ^ ../../../../src/c/xamarin/sk_x_path.cpp:128:47: error: comparison between 'enum SkPath::AddPathMode' and 'enum sk_path_add_mode_t' [-Werror=enum-compare] static_assert (SkPath::kExtend_AddPathMode == EXTEND_ADD_MODE, "ABI changed, you must write a enumeration mapper for SkPath::AddPathMode to sk_path_add_mode_t"); ^ cc1plus: all warnings being treated as errors [349/1002] CXX obj/third_party/externals/sfntly/sfntly/table/truetype/sfntly.glyph_table.o ninja: build stopped: subcommand failed. Executing: /Users/xammac/SkiaSharp/skia/platform_tools/android/bin/android_ninja -d arm64 skia_lib pdf sfntly icuuc GYP_GENERATORS is "ninja-android" Updating projects from gyp files... ninja: Entering directory/Users/xammac/SkiaSharp/skia/out/config/android-arm64/Release’ [20/647] CXX obj/src/c/xamarin/core.sk_x_path.o FAILED: /Users/xammac/SkiaSharp/skia/platform_tools/android/bin/…/toolchains/arm64-r10e-21/bin/aarch64-linux-android-g++ -MMD -MF obj/src/c/xamarin/core.sk_x_path.o.d -DSK_INTERNAL -DSK_GAMMA_APPLY_TO_A8 -DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0 -DSK_SUPPORT_GPU=1 -DSK_FORCE_DISTANCE_FIELD_TEXT=0 -DSK_BUILD_FOR_ANDROID -DSK_GAMMA_EXPONENT=1.4 -DSK_GAMMA_CONTRAST=0.0 -DSKIA_DLL -DSKIA_IMPLEMENTATION=1 -DSK_SUPPORT_LEGACY_CLIPTOLAYERFLAG -DNDEBUG -I…/…/…/…/include/c -I…/…/…/…/include/config -I…/…/…/…/include/core -I…/…/…/…/include/pathops -I…/…/…/…/include/ports -I…/…/…/…/include/private -I…/…/…/…/include/utils -I…/…/…/…/include/images -I…/…/…/…/src/core -I…/…/…/…/src/sfnt -I…/…/…/…/src/image -I…/…/…/…/src/opts -I…/…/…/…/src/utils -I…/…/…/…/include/gpu -I…/…/…/…/src/gpu -I…/…/…/…/platform_tools/android/third_party/cpufeatures -fPIC -g -fno-exceptions -fstrict-aliasing -Wall -Wextra -Winit-self -Wpointer-arith -Wsign-compare -Wno-unused-parameter -Werror -fuse-ld=gold -O2 -std=c++11 -fno-rtti -fno-threadsafe-statics -Wnon-virtual-dtor -c …/…/…/…/src/c/xamarin/sk_x_path.cpp -o obj/src/c/xamarin/core.sk_x_path.o …/…/…/…/src/c/xamarin/sk_x_path.cpp:94:38: error: comparison between ‘enum SkPath::Verb’ and ‘enum sk_path_verb_t’ [-Werror=enum-compare] static_assert (SkPath::kMove_Verb == MOVE_PATH_VERB, “ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t”); ^ …/…/…/…/src/c/xamarin/sk_x_path.cpp:95:38: error: comparison between ‘enum SkPath::Verb’ and ‘enum sk_path_verb_t’ [-Werror=enum-compare] static_assert (SkPath::kLine_Verb == LINE_PATH_VERB, “ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t”); ^ …/…/…/…/src/c/xamarin/sk_x_path.cpp:96:38: error: comparison between ‘enum SkPath::Verb’ and ‘enum sk_path_verb_t’ [-Werror=enum-compare] static_assert (SkPath::kQuad_Verb == QUAD_PATH_VERB, “ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t”); ^ …/…/…/…/src/c/xamarin/sk_x_path.cpp:97:39: error: comparison between ‘enum SkPath::Verb’ and ‘enum sk_path_verb_t’ [-Werror=enum-compare] static_assert (SkPath::kConic_Verb == CONIC_PATH_VERB, “ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t”); ^ …/…/…/…/src/c/xamarin/sk_x_path.cpp:98:39: error: comparison between ‘enum SkPath::Verb’ and ‘enum sk_path_verb_t’ [-Werror=enum-compare] static_assert (SkPath::kCubic_Verb == CUBIC_PATH_VERB, “ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t”); ^ …/…/…/…/src/c/xamarin/sk_x_path.cpp:99:39: error: comparison between ‘enum SkPath::Verb’ and ‘enum sk_path_verb_t’ [-Werror=enum-compare] static_assert (SkPath::kClose_Verb == CLOSE_PATH_VERB, “ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t”); ^ …/…/…/…/src/c/xamarin/sk_x_path.cpp💯38: error: comparison between ‘enum SkPath::Verb’ and ‘enum sk_path_verb_t’ [-Werror=enum-compare] static_assert (SkPath::kDone_Verb == DONE_PATH_VERB, “ABI changed, you must write a enumeration mapper for SkPath::Verb to sk_path_verb_t”); ^ …/…/…/…/src/c/xamarin/sk_x_path.cpp:127:47: error: comparison between ‘enum SkPath::AddPathMode’ and ‘enum sk_path_add_mode_t’ [-Werror=enum-compare] static_assert (SkPath::kAppend_AddPathMode == APPEND_ADD_MODE, “ABI changed, you must write a enumeration mapper for SkPath::AddPathMode to sk_path_add_mode_t”); ^ …/…/…/…/src/c/xamarin/sk_x_path.cpp:128:47: error: comparison between ‘enum SkPath::AddPathMode’ and ‘enum sk_path_add_mode_t’ [-Werror=enum-compare] static_assert (SkPath::kExtend_AddPathMode == EXTEND_ADD_MODE, “ABI changed, you must write a enumeration mapper for SkPath::AddPathMode to sk_path_add_mode_t”); ^ cc1plus: all warnings being treated as errors [20/647] CXX obj/src/core/core.SkAAClip.o ninja: build stopped: subcommand failed. Executing: /Users/xammac/Library/Developer/Xamarin/android-ndk/ndk-build An error occured when executing task ‘externals-android’. Error: System.ComponentModel.Win32Exception: ApplicationName=‘/Users/xammac/Library/Developer/Xamarin/android-ndk/ndk-build’, CommandLine=‘’, CurrentDirectory=‘/Users/xammac/SkiaSharp/native-builds/libSkiaSharp_android’, Native error= Cannot find the specified file at System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) <0x39cf1e8 + 0x0055f> in <filename unknown>:0

any advice would be greatly appreciated

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 18 (13 by maintainers)

Most upvoted comments

2 gentledepp

native-builds/libSkiaSharp_android/jni/SkiaSharp.mk

At line 35 try to remove -Werror switch

Never mind - I got it to work! (I am such a n00b so thank you for hanging in with me)

2 gentledepp

I’m fed up. Thank you for helping me out, but this is too tedious for me to continue.

Totally agreed! Tried to build it on Windows with no success. That incredible building system (with all those cakes, cmakes, ninjas, pythons and pwershells mixed up in some voodoo way) just blew my head off.

2 gentledepp

yep!

2 gentledepp

skia/src/c/xamarin/sk_x_path.cpp

Simply comment out lines from 93 to 101 (there are nothing extra important - just assertions)