Open Bug 1583282 Opened 6 years ago Updated 3 years ago

Error: blocks support disabled on MacOS Android, Desktop Builds

Categories

(Firefox Build System :: General, defect)

x86_64
macOS
defect

Tracking

(Not tracked)

People

(Reporter: morgan, Unassigned)

Details

Attachments

(3 files)

Attached file configure.out

When I try to ./mach build my android or firefox desktop builds, I encounter ~8 errors with the message "error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them"

Discussed this issue with nalexander in #gv and concluded its likely a SDK issue; I've reinstalled XCode (and updated to the newest version), downloaded 10.11, 10.13, 10.14 SDK's individually and tried explicitly linking to them in my mozconfig. The issue persists :(

I'll attach my mozconfig, build log, configure log for reference. I'm running MacOS 10.14.6.

Flags: needinfo?(nfroyd)
Attached file build.log
Attached file mozconfig

I've also tried enabling/disabling sccache, which results in the same error.

Attachment #9094653 - Attachment mime type: application/octet-stream → text/plain
Flags: needinfo?(nfroyd)
Attachment #9094654 - Attachment mime type: application/octet-stream → text/plain
Attachment #9094655 - Attachment mime type: application/octet-stream → text/plain

Now I see this on my MBP. The key thing here is that I just upgraded to macOS 10.14.6 at the end of last week. There is an offered Xcode update which I can try to install; and I will try to re-install the macOS SDK as well. Fun times!

I'm confused; the configure.log doesn't appear to have the error, and I can't tell what command we were trying to execute when the mach build error shows up. Paste the build error instead?

This is definitely a host problem; with ./mach build binaries -j1

 0:11.76 layout/style/test/host_ListCSSProperties.o
 0:11.76 /Users/nalexander/.mozbuild/sccache/sccache /Users/nalexander/.mozbuild/clang/bin/clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -o host_ListCSSProperties.o -c  -O3 -DNDEBUG=1 -DTRIMMED=1 -I/Users/nalexander/Mozilla/gecko/layout/style/test -I/Users/nalexander/Mozilla/objdirs/objdir-droid-compile/layout/style/test -I/Users/nalexander/Mozilla/objdirs/objdir-droid-compile/dist/include -MD -MP -MF .deps/host_ListCSSProperties.o.pp -I/Users/nalexander/Mozilla/objdirs/objdir-droid-compile/dist/include/nspr /Users/nalexander/Mozilla/gecko/layout/style/test/ListCSSProperties.cpp
 0:12.70 In file included from /Users/nalexander/Mozilla/gecko/layout/style/test/ListCSSProperties.cpp:10:
 0:12.70 In file included from /Users/nalexander/.mozbuild/clang/bin/../include/c++/v1/stdlib.h:94:
 0:12.70 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:276:20: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
 0:12.70 int atexit_b(void (^ _Nonnull)(void)) __attribute__((availability(macosx,introduced=10.6)));
 0:12.70                    ^
 0:12.70 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:278:27: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
 0:12.70      size_t __width, int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
 0:12.70                           ^
 0:12.70 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:305:11: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
 0:12.70      int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
 0:12.70           ^
 0:12.70 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:311:11: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
 0:12.70      int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
 0:12.70           ^
 0:12.70 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:317:11: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
 0:12.70      int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
 0:12.70           ^
 0:12.70 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:323:11: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
 0:12.70      int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
 0:12.70           ^
 0:12.70 6 errors generated.
 0:12.70 Compiler killed by signal 1
 0:12.70 make[2]: *** [host_ListCSSProperties.o] Error 254
 0:12.70 make[1]: *** [layout/style/test/host-objects] Error 2
 0:12.70 make: *** [binaries] Error 2
 0:12.71 4345 compiler warnings present.

I'm at:

$ hg parent
changeset:   571837:89b9b3aa3aaf
fxtree:      central
user:        Jorg K <jorgk@jorgk.com>
date:        Fri Sep 20 14:30:29 2019 +0300
summary:     Bug 1582086 - disable test_json_cache_{good|broken}.js for Thunderbird. r=standard8

just for the record. I will try to pull forward sometime soon.

My issue appears to have been addressed by pulling forward to e3a4bd8e and disabling sccache. I was running distributed sccache, and investigation with -v revealed:

clang version 8.0.1 
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /builds/worker/toolchains/clang/bin
 "/builds/worker/toolchains/clang/bin/clang" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -disable-llvm-verifier -discard-value-names -main-file-name pathsub.c -mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -v -coverage-notes-file /Users/nalexander/Mozilla/objdirs/objdir-droid-compile/config/host_pathsub.gcno -resource-dir /builds/worker/toolchains/clang/lib/clang/8.0.1 -O3 -std=gnu99 -fdebug-compilation-dir /Users/nalexander/Mozilla/objdirs/objdir-droid-compile/config -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -o host_pathsub.o -x cpp-output /Users/nalexander/Mozilla/gecko/config/pathsub.c -faddrsig
clang -cc1 version 8.0.1 based upon LLVM 8.0.1 default target x86_64-unknown-linux-gnu
#include "..." search starts here:
End of search list.
In file included from /Users/nalexander/Mozilla/gecko/config/pathsub.c:12:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/dirent.h:152:10: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
    int (^)(const struct dirent *), int (^)(const struct dirent **, const struct dirent **)) __asm("_" "scandir_b" "$INODE64") __attribute__((availability(macosx,introduced=10.6)));
         ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/dirent.h:152:42: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
    int (^)(const struct dirent *), int (^)(const struct dirent **, const struct dirent **)) __asm("_" "scandir_b" "$INODE64") __attribute__((availability(macosx,introduced=10.6)));
                                         ^
In file included from /Users/nalexander/Mozilla/gecko/config/pathsub.c:16:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:276:20: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
int atexit_b(void (^ _Nonnull)(void)) __attribute__((availability(macosx,introduced=10.6)));
                   ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:278:27: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
     size_t __width, int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
                          ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:305:11: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
     int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
          ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:311:11: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
     int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
          ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:317:11: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
     int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
          ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:323:11: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
     int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
          ^
8 errors generated.
Compiler killed by signal 1

That is, the host target needs to be set (at least when distributing the compilation). That's still an issue, which this ticket might be repurposed to.

However, without sccache (distributed), everything seems fine.

Can you continue to use sccache if you explicitly set --with-macos-sdk to a downloaded copy of 10.14 (or 10.13, or something?) Is it just the new SDK included in 10.14.6 that breaks sccache?

Flags: needinfo?(nalexander)

(In reply to Nick Alexander :nalexander [he/him] from comment #6)

This is definitely a host problem; with ./mach build binaries -j1

 0:11.76 layout/style/test/host_ListCSSProperties.o
 0:11.76 /Users/nalexander/.mozbuild/sccache/sccache /Users/nalexander/.mozbuild/clang/bin/clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -o host_ListCSSProperties.o -c  -O3 -DNDEBUG=1 -DTRIMMED=1 -I/Users/nalexander/Mozilla/gecko/layout/style/test -I/Users/nalexander/Mozilla/objdirs/objdir-droid-compile/layout/style/test -I/Users/nalexander/Mozilla/objdirs/objdir-droid-compile/dist/include -MD -MP -MF .deps/host_ListCSSProperties.o.pp -I/Users/nalexander/Mozilla/objdirs/objdir-droid-compile/dist/include/nspr /Users/nalexander/Mozilla/gecko/layout/style/test/ListCSSProperties.cpp
 0:12.70 In file included from /Users/nalexander/Mozilla/gecko/layout/style/test/ListCSSProperties.cpp:10:
 0:12.70 In file included from /Users/nalexander/.mozbuild/clang/bin/../include/c++/v1/stdlib.h:94:
 0:12.70 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:276:20: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
 0:12.70 int atexit_b(void (^ _Nonnull)(void)) __attribute__((availability(macosx,introduced=10.6)));
 0:12.70                    ^
 0:12.70 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:278:27: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
 0:12.70      size_t __width, int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
 0:12.70                           ^
 0:12.70 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:305:11: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
 0:12.70      int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
 0:12.70           ^
 0:12.70 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:311:11: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
 0:12.70      int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
 0:12.70           ^
 0:12.70 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:317:11: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
 0:12.70      int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
 0:12.70           ^
 0:12.70 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:323:11: error: blocks support disabled - compile with -fblocks or pick a deployment target that supports them
 0:12.70      int (^ _Nonnull __compar)(const void *, const void *)) __attribute__((availability(macosx,introduced=10.6)));
 0:12.70           ^
 0:12.70 6 errors generated.
 0:12.70 Compiler killed by signal 1
 0:12.70 make[2]: *** [host_ListCSSProperties.o] Error 254
 0:12.70 make[1]: *** [layout/style/test/host-objects] Error 2
 0:12.70 make: *** [binaries] Error 2
 0:12.71 4345 compiler warnings present.

I was getting this error but got it to work by adding export HOST_CFLAGS=$CFLAGS and export HOST_CXXFLAGS=$CXXFLAGS to my mozconfig (macOS 10.14.6 with sccache).

(In reply to Morgan Reschenberg [:morgan] from comment #9)

Can you continue to use sccache if you explicitly set --with-macos-sdk to a downloaded copy of 10.14 (or 10.13, or something?) Is it just the new SDK included in 10.14.6 that breaks sccache?

I don't know. It appears that sccache isn't really the issue here; if you manage to get a working build (which I think you now have, per #build on IRC) you should be able to enable sccache.

Flags: needinfo?(nalexander)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: