Skip to content

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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ffiIssues and PRs related to experimental Foreign Function Interface support.macosIssues and PRs related to the macOS platform.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions