skia icon indicating copy to clipboard operation
skia copied to clipboard

Skia build failing (MacOS 12.3)

Open Danotelo757 opened this issue 3 years ago • 1 comments

Followed the instructions here for building Skia for mac but the build keeps failing at theskia Abdulhamid$ ninja -C out/Release-x64 skia modules. command.

The previous commands run find, but this command returns the following errors:

(base) Abdulhamids-Mac-Pro:skia Abdulhamid$ ninja -C out/Release-x64 skia modules ninja: Entering directory out/Release-x64' [1/1759] compile ../../third_party/externals/libwebp/src/utils/random_utils.c FAILED: obj/third_party/externals/libwebp/src/utils/libwebp.random_utils.o cc -MD -MF obj/third_party/externals/libwebp/src/utils/libwebp.random_utils.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/utils/random_utils.c -o obj/third_party/externals/libwebp/src/utils/libwebp.random_utils.o ../../third_party/externals/libwebp/src/utils/random_utils.c:14:10: fatal error: 'string.h' file not found #include <string.h> ^~~~~~~~~~ 1 error generated. [2/1759] compile ../../third_party/externals/libwebp/src/utils/quant_levels_utils.c FAILED: obj/third_party/externals/libwebp/src/utils/libwebp.quant_levels_utils.o cc -MD -MF obj/third_party/externals/libwebp/src/utils/libwebp.quant_levels_utils.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/utils/quant_levels_utils.c -o obj/third_party/externals/libwebp/src/utils/libwebp.quant_levels_utils.o ../../third_party/externals/libwebp/src/utils/quant_levels_utils.c:15:10: fatal error: 'assert.h' file not found #include <assert.h> ^~~~~~~~~~ 1 error generated. [3/1759] compile ../../third_party/externals/libwebp/src/utils/rescaler_utils.c FAILED: obj/third_party/externals/libwebp/src/utils/libwebp.rescaler_utils.o cc -MD -MF obj/third_party/externals/libwebp/src/utils/libwebp.rescaler_utils.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/utils/rescaler_utils.c -o obj/third_party/externals/libwebp/src/utils/libwebp.rescaler_utils.o ../../third_party/externals/libwebp/src/utils/rescaler_utils.c:14:10: fatal error: 'assert.h' file not found #include <assert.h> ^~~~~~~~~~ 1 error generated. [4/1759] compile ../../third_party/externals/libwebp/src/utils/filters_utils.c FAILED: obj/third_party/externals/libwebp/src/utils/libwebp.filters_utils.o cc -MD -MF obj/third_party/externals/libwebp/src/utils/libwebp.filters_utils.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/utils/filters_utils.c -o obj/third_party/externals/libwebp/src/utils/libwebp.filters_utils.o In file included from ../../third_party/externals/libwebp/src/utils/filters_utils.c:14: In file included from /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src/utils/filters_utils.h:17: In file included from /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src/webp/types.h:20: /Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/inttypes.h:21:15: fatal error: 'inttypes.h' file not found #include_next <inttypes.h> ^~~~~~~~~~~~ 1 error generated. [5/1759] compile ../../third_party/externals/libwebp/src/utils/bit_writer_utils.c FAILED: obj/third_party/externals/libwebp/src/utils/libwebp.bit_writer_utils.o cc -MD -MF obj/third_party/externals/libwebp/src/utils/libwebp.bit_writer_utils.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/utils/bit_writer_utils.c -o obj/third_party/externals/libwebp/src/utils/libwebp.bit_writer_utils.o ../../third_party/externals/libwebp/src/utils/bit_writer_utils.c:15:10: fatal error: 'assert.h' file not found #include <assert.h> ^~~~~~~~~~ 1 error generated. [6/1759] compile ../../third_party/externals/libwebp/src/utils/color_cache_utils.c FAILED: obj/third_party/externals/libwebp/src/utils/libwebp.color_cache_utils.o cc -MD -MF obj/third_party/externals/libwebp/src/utils/libwebp.color_cache_utils.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/utils/color_cache_utils.c -o obj/third_party/externals/libwebp/src/utils/libwebp.color_cache_utils.o ../../third_party/externals/libwebp/src/utils/color_cache_utils.c:14:10: fatal error: 'assert.h' file not found #include <assert.h> ^~~~~~~~~~ 1 error generated. [7/1759] compile ../../third_party/externals/libwebp/src/utils/huffman_utils.c FAILED: obj/third_party/externals/libwebp/src/utils/libwebp.huffman_utils.o cc -MD -MF obj/third_party/externals/libwebp/src/utils/libwebp.huffman_utils.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/utils/huffman_utils.c -o obj/third_party/externals/libwebp/src/utils/libwebp.huffman_utils.o ../../third_party/externals/libwebp/src/utils/huffman_utils.c:14:10: fatal error: 'assert.h' file not found #include <assert.h> ^~~~~~~~~~ 1 error generated. [8/1759] compile ../../third_party/externals/libwebp/src/utils/thread_utils.c FAILED: obj/third_party/externals/libwebp/src/utils/libwebp.thread_utils.o cc -MD -MF obj/third_party/externals/libwebp/src/utils/libwebp.thread_utils.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/utils/thread_utils.c -o obj/third_party/externals/libwebp/src/utils/libwebp.thread_utils.o ../../third_party/externals/libwebp/src/utils/thread_utils.c:14:10: fatal error: 'assert.h' file not found #include <assert.h> ^~~~~~~~~~ 1 error generated. [9/1759] compile ../../third_party/externals/libwebp/src/utils/utils.c FAILED: obj/third_party/externals/libwebp/src/utils/libwebp.utils.o cc -MD -MF obj/third_party/externals/libwebp/src/utils/libwebp.utils.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/utils/utils.c -o obj/third_party/externals/libwebp/src/utils/libwebp.utils.o ../../third_party/externals/libwebp/src/utils/utils.c:14:10: fatal error: 'stdlib.h' file not found #include <stdlib.h> ^~~~~~~~~~ 1 error generated. [10/1759] compile ../../third_party/externals/libwebp/src/utils/bit_reader_utils.c FAILED: obj/third_party/externals/libwebp/src/utils/libwebp.bit_reader_utils.o cc -MD -MF obj/third_party/externals/libwebp/src/utils/libwebp.bit_reader_utils.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/utils/bit_reader_utils.c -o obj/third_party/externals/libwebp/src/utils/libwebp.bit_reader_utils.o In file included from ../../third_party/externals/libwebp/src/utils/bit_reader_utils.c:18: /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src/utils/bit_reader_inl_utils.h:23:10: fatal error: 'string.h' file not found #include <string.h> // for memcpy ^~~~~~~~~~ 1 error generated. [11/1759] compile ../../third_party/externals/libwebp/src/utils/quant_levels_dec_utils.c FAILED: obj/third_party/externals/libwebp/src/utils/libwebp.quant_levels_dec_utils.o cc -MD -MF obj/third_party/externals/libwebp/src/utils/libwebp.quant_levels_dec_utils.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/utils/quant_levels_dec_utils.c -o obj/third_party/externals/libwebp/src/utils/libwebp.quant_levels_dec_utils.o In file included from ../../third_party/externals/libwebp/src/utils/quant_levels_dec_utils.c:17: In file included from /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src/utils/quant_levels_dec_utils.h:17: In file included from /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src/webp/types.h:20: /Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/include/inttypes.h:21:15: fatal error: 'inttypes.h' file not found #include_next <inttypes.h> ^~~~~~~~~~~~ 1 error generated. [12/1759] compile ../../third_party/externals/libwebp/src/mux/muxinternal.c FAILED: obj/third_party/externals/libwebp/src/mux/libwebp.muxinternal.o cc -MD -MF obj/third_party/externals/libwebp/src/mux/libwebp.muxinternal.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/mux/muxinternal.c -o obj/third_party/externals/libwebp/src/mux/libwebp.muxinternal.o ../../third_party/externals/libwebp/src/mux/muxinternal.c:15:10: fatal error: 'assert.h' file not found #include <assert.h> ^~~~~~~~~~ 1 error generated. [13/1759] compile ../../third_party/externals/libwebp/src/utils/huffman_encode_utils.c FAILED: obj/third_party/externals/libwebp/src/utils/libwebp.huffman_encode_utils.o cc -MD -MF obj/third_party/externals/libwebp/src/utils/libwebp.huffman_encode_utils.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/utils/huffman_encode_utils.c -o obj/third_party/externals/libwebp/src/utils/libwebp.huffman_encode_utils.o ../../third_party/externals/libwebp/src/utils/huffman_encode_utils.c:14:10: fatal error: 'assert.h' file not found #include <assert.h> ^~~~~~~~~~ 1 error generated. [14/1759] compile ../../third_party/externals/libwebp/src/mux/anim_encode.c FAILED: obj/third_party/externals/libwebp/src/mux/libwebp.anim_encode.o cc -MD -MF obj/third_party/externals/libwebp/src/mux/libwebp.anim_encode.o.d -DNDEBUG -DWEBP_SWAP_16BIT_CSP -w -Wno-attributes -fstrict-aliasing -fPIC -fvisibility=hidden -isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\' -O3 -stdlib=libc++ -mmacosx-version-min=10.9 -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp/src -isystem /Users/Abdulhamid/deps/skia/third_party/externals/libwebp -c ../../third_party/externals/libwebp/src/mux/anim_encode.c -o obj/third_party/externals/libwebp/src/mux/libwebp.anim_encode.o ../../third_party/externals/libwebp/src/mux/anim_encode.c:13:10: fatal error: 'assert.h' file not found #include <assert.h> ^~~~~~~~~~ 1 error generated. ninja: build stopped: subcommand failed.

Danotelo757 avatar Apr 24 '22 16:04 Danotelo757

In macOS 12.3, Apple removed /usr/bin/python. Perhaps because of this, or for other reasons, you might have created your own python symlink pointing to a version of python 3. If you do this, the find_xcode_sysroot.py script, which is part of the skia build, does not work correctly. Here is an example of the script working correctly with python 2:

$ python2 skia/gn/find_xcode_sysroot.py macosx
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk

Here is an example of the script working incorrectly with python 3:

$ python3 skia/gn/find_xcode_sysroot.py macosx
b'/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk\n'

You can see the result of the wrong script output in the portion of the log you posted where it says:

-isysroot b\'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk\\n\'

Since this isn't valid syntax for the -isysroot flag, this causes the subsequent failure to find the files that are in the SDK:

../../third_party/externals/libwebp/src/utils/random_utils.c:14:10: fatal error: 'string.h' file not found 

The workaround for the problem would be to ensure that your python symlink points to a version of python 2, not python 3.

The fix would be to rewrite find_xcode_sysroot.py so that it returns the correct output under python 3. This was already done in this upstream commit: https://github.com/google/skia/commit/7bc4c9a8d1389fd3188d9bff46726ffc3d9bebb9

diff --git a/gn/find_xcode_sysroot.py b/gn/find_xcode_sysroot.py
index be5b687e0390..e514271bc391 100755
--- a/gn/find_xcode_sysroot.py
+++ b/gn/find_xcode_sysroot.py
@@ -12,4 +12,5 @@
 
 (sdk,) = sys.argv[1:]
 
-print(subprocess.check_output(['xcrun', '--sdk', sdk, '--show-sdk-path']))
+print(subprocess.check_output([
+    'xcrun', '--sdk', sdk, '--show-sdk-path']).decode('utf-8'))

Similar changes are made to other scripts in that commit.

Perhaps the aseprite fork of skia could be updated to include that commit.

ryandesign avatar Apr 25 '22 22:04 ryandesign