Skip to content

Nightly macos15-release-pkg builds failing to build libffi #62787

@richardlau

Description

@richardlau

Starting on 15 April (build for ed05549), the macos15-release-pkg builds are failing to build libffi.

Image

e.g. (link is restricted to releasers but included for reference): https://ci-release.nodejs.org/job/iojs+release/11705/nodes=macos15-release-pkg/console

07:25:50   cc -arch x86_64 -o /Users/admin/build/ws/out/Release/obj.target/libffi/deps/libffi/src/x86/ffi64.o ../deps/libffi/src/x86/ffi64.c '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_FILE_OFFSET_BITS=64' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DFFI_STATIC_BUILD' -I../deps/libffi/include -I/Users/admin/build/ws/out/Release/obj/gen/libffi  -O3 -gdwarf-2 -fno-strict-aliasing -fvisibility=hidden -mmacosx-version-min=13.5 -Wall -Wendif-labels -W -Wno-unused-parameter  -MMD -MF /Users/admin/build/ws/out/Release/.deps//Users/admin/build/ws/out/Release/obj.target/libffi/deps/libffi/src/x86/ffi64.o.d.raw   -c
07:25:50 ../deps/libffi/src/x86/ffiw64.c:61:10: error: use of undeclared identifier 'FFI_GNUW64'; did you mean 'FFI_WIN64'?
07:25:50    61 |     case FFI_GNUW64:
07:25:50       |          ^~~~~~~~~~
07:25:50       |          FFI_WIN64
07:25:50 /Users/admin/build/ws/out/Release/obj/gen/libffi/ffitarget.h:48:5: note: 'FFI_WIN64' declared here
07:25:50    48 |     FFI_WIN64,
07:25:50       |     ^
07:25:50 ../deps/libffi/src/x86/ffiw64.c:61:10: error: duplicate case value 'FFI_WIN64'
07:25:50    61 |     case FFI_GNUW64:
07:25:50       |          ^
07:25:50 ../deps/libffi/src/x86/ffiw64.c:60:10: note: previous case defined here
07:25:50    60 |     case FFI_WIN64:
07:25:50       |          ^
07:25:50 ../deps/libffi/src/x86/ffiw64.c:74:23: error: use of undeclared identifier 'FFI_GNUW64'; did you mean 'FFI_WIN64'?
07:25:50    74 |       if (cif->abi == FFI_GNUW64)
07:25:50       |                       ^~~~~~~~~~
07:25:50       |                       FFI_WIN64
07:25:50 /Users/admin/build/ws/out/Release/obj/gen/libffi/ffitarget.h:48:5: note: 'FFI_WIN64' declared here
07:25:50    48 |     FFI_WIN64,
07:25:50       |     ^
07:25:50 ../deps/libffi/src/x86/ffiw64.c:87:12: error: use of undeclared identifier 'FFI_TYPE_SMALL_STRUCT_4B'
07:25:50    87 |           flags = FFI_TYPE_SMALL_STRUCT_4B;
07:25:50       |                   ^
07:25:50 ../deps/libffi/src/x86/ffiw64.c:90:12: error: use of undeclared identifier 'FFI_TYPE_SMALL_STRUCT_2B'
07:25:50    90 |           flags = FFI_TYPE_SMALL_STRUCT_2B;
07:25:50       |                   ^
07:25:50 ../deps/libffi/src/x86/ffiw64.c:93:12: error: use of undeclared identifier 'FFI_TYPE_SMALL_STRUCT_1B'
07:25:50    93 |           flags = FFI_TYPE_SMALL_STRUCT_1B;
07:25:50       |                   ^
07:25:50 ../deps/libffi/src/x86/ffiw64.c:238:35: warning: excess elements in array initializer [-Wexcess-initializers]
07:25:50   238 |     0xff, 0x25, 0x07, 0x00, 0x00, 0x00,
07:25:50       |                                   ^~~~
07:25:50 ../deps/libffi/src/x86/ffiw64.c:242:26: error: no member named 'tramp' in 'ffi_closure'
07:25:50   242 |   char *tramp = closure->tramp;
07:25:50       |                 ~~~~~~~  ^
07:25:50 ../deps/libffi/src/x86/ffiw64.c:247:10: error: use of undeclared identifier 'FFI_GNUW64'; did you mean 'FFI_WIN64'?
07:25:50   247 |     case FFI_GNUW64:
07:25:50       |          ^~~~~~~~~~
07:25:50       |          FFI_WIN64
07:25:50 /Users/admin/build/ws/out/Release/obj/gen/libffi/ffitarget.h:48:5: note: 'FFI_WIN64' declared here
07:25:50    48 |     FFI_WIN64,
07:25:50       |     ^
07:25:50 ../deps/libffi/src/x86/ffiw64.c:247:10: error: duplicate case value 'FFI_WIN64'
07:25:50   247 |     case FFI_GNUW64:
07:25:50       |          ^
07:25:50 ../deps/libffi/src/x86/ffiw64.c:246:10: note: previous case defined here
07:25:50   246 |     case FFI_WIN64:
07:25:50       |          ^
07:25:50 1 warning and 9 errors generated.
07:25:50 make[2]: *** [/Users/admin/build/ws/out/Release/obj.target/libffi/deps/libffi/src/x86/ffiw64.o] Error 1
07:25:50 make[2]: *** Waiting for unfinished jobs....
07:25:51 ../deps/libffi/src/x86/ffi64.c:410:19: error: use of undeclared identifier 'FFI_EFI64'; did you mean 'FFI_WIN64'?
07:25:51   410 |   if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64)
07:25:51       |                   ^~~~~~~~~
07:25:51       |                   FFI_WIN64
07:25:51 /Users/admin/build/ws/out/Release/obj/gen/libffi/ffitarget.h:48:5: note: 'FFI_WIN64' declared here
07:25:51    48 |     FFI_WIN64,
07:25:51       |     ^
07:25:51 ../deps/libffi/src/x86/ffi64.c:410:44: error: use of undeclared identifier 'FFI_GNUW64'; did you mean 'FFI_WIN64'?
07:25:51   410 |   if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64)
07:25:51       |                                            ^~~~~~~~~~
07:25:51       |                                            FFI_WIN64
07:25:51 /Users/admin/build/ws/out/Release/obj/gen/libffi/ffitarget.h:48:5: note: 'FFI_WIN64' declared here
07:25:51    48 |     FFI_WIN64,
07:25:51       |     ^
07:25:51 ../deps/libffi/src/x86/ffi64.c:413:19: error: use of undeclared identifier 'FFI_UNIX64'; did you mean 'FFI_WIN64'?
07:25:51   413 |   if (cif->abi != FFI_UNIX64)
07:25:51       |                   ^~~~~~~~~~
07:25:51       |                   FFI_WIN64
07:25:51 /Users/admin/build/ws/out/Release/obj/gen/libffi/ffitarget.h:48:5: note: 'FFI_WIN64' declared here
07:25:51    48 |     FFI_WIN64,
07:25:51       |     ^
07:25:51 ../deps/libffi/src/x86/ffi64.c:690:47: error: use of undeclared identifier 'FFI_GNUW64'; did you mean 'FFI_WIN64'?
07:25:51   690 |   const int max_reg_struct_size = cif->abi == FFI_GNUW64 ? 8 : 16;
07:25:51       |                                               ^~~~~~~~~~
07:25:51       |                                               FFI_WIN64
07:25:51 /Users/admin/build/ws/out/Release/obj/gen/libffi/ffitarget.h:48:5: note: 'FFI_WIN64' declared here
07:25:51    48 |     FFI_WIN64,
07:25:51       |     ^
07:25:51 ../deps/libffi/src/x86/ffi64.c:707:19: error: use of undeclared identifier 'FFI_EFI64'; did you mean 'FFI_WIN64'?
07:25:51   707 |   if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64)
07:25:51       |                   ^~~~~~~~~
07:25:51       |                   FFI_WIN64
07:25:51 /Users/admin/build/ws/out/Release/obj/gen/libffi/ffitarget.h:48:5: note: 'FFI_WIN64' declared here
07:25:51    48 |     FFI_WIN64,
07:25:51       |     ^
07:25:51 ../deps/libffi/src/x86/ffi64.c:707:44: error: use of undeclared identifier 'FFI_GNUW64'; did you mean 'FFI_WIN64'?
07:25:51   707 |   if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64)
07:25:51       |                                            ^~~~~~~~~~
07:25:51       |                                            FFI_WIN64
07:25:51 /Users/admin/build/ws/out/Release/obj/gen/libffi/ffitarget.h:48:5: note: 'FFI_WIN64' declared here
07:25:51    48 |     FFI_WIN64,
07:25:51       |     ^
07:25:51 ../deps/libffi/src/x86/ffi64.c:774:26: error: no member named 'tramp' in 'ffi_closure'
07:25:51   774 |   char *tramp = closure->tramp;
07:25:51       |                 ~~~~~~~  ^
07:25:51 ../deps/libffi/src/x86/ffi64.c:777:19: error: use of undeclared identifier 'FFI_EFI64'; did you mean 'FFI_WIN64'?
07:25:51   777 |   if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64)
07:25:51       |                   ^~~~~~~~~
07:25:51       |                   FFI_WIN64
07:25:51 /Users/admin/build/ws/out/Release/obj/gen/libffi/ffitarget.h:48:5: note: 'FFI_WIN64' declared here
07:25:51    48 |     FFI_WIN64,
07:25:51       |     ^
07:25:51 ../deps/libffi/src/x86/ffi64.c:777:44: error: use of undeclared identifier 'FFI_GNUW64'; did you mean 'FFI_WIN64'?
07:25:51   777 |   if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64)
07:25:51       |                                            ^~~~~~~~~~
07:25:51       |                                            FFI_WIN64
07:25:51 /Users/admin/build/ws/out/Release/obj/gen/libffi/ffitarget.h:48:5: note: 'FFI_WIN64' declared here
07:25:51    48 |     FFI_WIN64,
07:25:51       |     ^
07:25:51 ../deps/libffi/src/x86/ffi64.c:780:19: error: use of undeclared identifier 'FFI_UNIX64'; did you mean 'FFI_WIN64'?
07:25:51   780 |   if (cif->abi != FFI_UNIX64)
07:25:51       |                   ^~~~~~~~~~
07:25:51       |                   FFI_WIN64
07:25:51 /Users/admin/build/ws/out/Release/obj/gen/libffi/ffitarget.h:48:5: note: 'FFI_WIN64' declared here
07:25:51    48 |     FFI_WIN64,
07:25:51       |     ^
07:25:51 10 errors generated.
07:25:51 make[2]: *** [/Users/admin/build/ws/out/Release/obj.target/libffi/deps/libffi/src/x86/ffi64.o] Error 1

Since the pkg macOS builds are universal (containing both arm64 and x64 Node.js binaries) we build the x64 part for those under Rosetta 2 on the same arm64 run.

Metadata

Metadata

Assignees

No one assigned

    Labels

    macosIssues and PRs related to the macOS platform / OSX.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions