Skip to content

[libffi] Build error on arm64-osx #46865

@alexreinking

Description

@alexreinking

Package: libffi:[email protected]

Host Environment

  • Host: arm64-osx
  • Compiler: AppleClang 17.0.0.17000013
  • vcpkg-tool version: 2025-07-21-d4b65a2b83ae6c3526acd1c6f3b51aff2a884533
    vcpkg-scripts version: d30fdf5 2025-08-09 (2 days ago)

To Reproduce

vcpkg install --x-feature=developer

Failure logs

-- Using cached libffi-3.4.6.tar.gz
-- Cleaning sources at /Users/areinking/dev/vcpkg/buildtrees/libffi/src/libffi-3-5867c437e9.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /Users/areinking/dev/vcpkg/downloads/libffi-3.4.6.tar.gz
-- Applying patch dll-bindir.diff
-- Using source at /Users/areinking/dev/vcpkg/buildtrees/libffi/src/libffi-3-5867c437e9.clean
-- Getting CMake variables for arm64-osx
-- Getting CMake variables for arm64-osx-dbg
-- Getting CMake variables for arm64-osx-rel
-- Configuring arm64-osx-dbg
-- Configuring arm64-osx-rel
-- Building arm64-osx-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
    Command failed: /usr/bin/make V=1 -j 17 -f Makefile all
    Working Directory: /Users/areinking/dev/vcpkg/buildtrees/libffi/arm64-osx-dbg/
    See logs for more information:
      /Users/areinking/dev/vcpkg/buildtrees/libffi/build-arm64-osx-dbg-out.log
      /Users/areinking/dev/vcpkg/buildtrees/libffi/build-arm64-osx-dbg-err.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_build_make.cmake:136 (vcpkg_execute_build_process)
  scripts/cmake/vcpkg_install_make.cmake:2 (vcpkg_build_make)
  buildtrees/versioning_/versions/libffi/0ad381012102db5da196161ba7fc0a03a4dcb982/portfile.cmake:60 (vcpkg_install_make)
  scripts/ports.cmake:206 (include)



/Users/areinking/dev/vcpkg/buildtrees/libffi/build-arm64-osx-dbg-err.log
./../src/libffi-3-5867c437e9.clean/src/java_raw_api.c:328:46: warning: 'ffi_java_raw_size' is deprecated [-Wdeprecated-declarations]
  328 |   ffi_java_raw *raw = (ffi_java_raw*)alloca (ffi_java_raw_size (cif));
      |                                              ^
include/ffi.h:315:56: note: 'ffi_java_raw_size' has been explicitly marked deprecated here
  315 | size_t ffi_java_raw_size (ffi_cif *cif) __attribute__((deprecated));
      |                                                        ^
./../src/libffi-3-5867c437e9.clean/src/java_raw_api.c:331:3: warning: 'ffi_java_ptrarray_to_raw' is deprecated [-Wdeprecated-declarations]
  331 |   ffi_java_ptrarray_to_raw (cif, avalue, raw);
      |   ^
include/ffi.h:311:93: note: 'ffi_java_ptrarray_to_raw' has been explicitly marked deprecated here
  311 | void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw) __attribute__((deprecated));
      |                                                                                             ^
/var/folders/w9/qyylxx096n73g3jd3v_hd8s40000gq/T/sysv-fdace2.s:28:2: error: invalid CFI advance_loc expression
 .cfi_def_cfa x1, 40;
 ^
/var/folders/w9/qyylxx096n73g3jd3v_hd8s40000gq/T/sysv-fdace2.s:255:2: error: invalid CFI advance_loc expression
 .cfi_adjust_cfa_offset (8*2 + (8 * 16 + 8 * 8) + 64)
 ^
2 warnings generated.
make[2]: *** [src/aarch64/sysv.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
/Users/areinking/dev/vcpkg/buildtrees/libffi/build-arm64-osx-dbg-out.log
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in include
make[2]: Nothing to be done for `all'.
Making all in testsuite
make[2]: Nothing to be done for `all'.
Making all in man
make[2]: Nothing to be done for `all'.
depbase=`echo src/prep_cif.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile /usr/bin/cc  -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean  -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src   -Wall -fPIC -g -fexceptions -MT src/prep_cif.lo -MD -MP -MF $depbase.Tpo -c -o src/prep_cif.lo ./../src/libffi-3-5867c437e9.clean/src/prep_cif.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo src/types.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile /usr/bin/cc  -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean  -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src   -Wall -fPIC -g -fexceptions -MT src/types.lo -MD -MP -MF $depbase.Tpo -c -o src/types.lo ./../src/libffi-3-5867c437e9.clean/src/types.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo src/raw_api.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile /usr/bin/cc  -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean  -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src   -Wall -fPIC -g -fexceptions -MT src/raw_api.lo -MD -MP -MF $depbase.Tpo -c -o src/raw_api.lo ./../src/libffi-3-5867c437e9.clean/src/raw_api.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo src/java_raw_api.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile /usr/bin/cc  -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean  -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src   -Wall -fPIC -g -fexceptions -MT src/java_raw_api.lo -MD -MP -MF $depbase.Tpo -c -o src/java_raw_api.lo ./../src/libffi-3-5867c437e9.clean/src/java_raw_api.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo src/closures.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile /usr/bin/cc  -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean  -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src   -Wall -fPIC -g -fexceptions -MT src/closures.lo -MD -MP -MF $depbase.Tpo -c -o src/closures.lo ./../src/libffi-3-5867c437e9.clean/src/closures.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo src/tramp.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile /usr/bin/cc  -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean  -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src   -Wall -fPIC -g -fexceptions -MT src/tramp.lo -MD -MP -MF $depbase.Tpo -c -o src/tramp.lo ./../src/libffi-3-5867c437e9.clean/src/tramp.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo src/aarch64/ffi.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile /usr/bin/cc  -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean  -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src   -Wall -fPIC -g -fexceptions -MT src/aarch64/ffi.lo -MD -MP -MF $depbase.Tpo -c -o src/aarch64/ffi.lo ./../src/libffi-3-5867c437e9.clean/src/aarch64/ffi.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo src/aarch64/sysv.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean  -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src  -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src -fPIC -g -MT src/aarch64/sysv.lo -MD -MP -MF $depbase.Tpo -c -o src/aarch64/sysv.lo ./../src/libffi-3-5867c437e9.clean/src/aarch64/sysv.S &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /usr/bin/cc -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src -Wall -fPIC -g -fexceptions -MT src/prep_cif.lo -MD -MP -MF src/.deps/prep_cif.Tpo -c ./../src/libffi-3-5867c437e9.clean/src/prep_cif.c -o src/prep_cif.o
libtool: compile:  /usr/bin/cc -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src -Wall -fPIC -g -fexceptions -MT src/types.lo -MD -MP -MF src/.deps/types.Tpo -c ./../src/libffi-3-5867c437e9.clean/src/types.c -o src/types.o
libtool: compile:  /usr/bin/cc -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src -Wall -fPIC -g -fexceptions -MT src/java_raw_api.lo -MD -MP -MF src/.deps/java_raw_api.Tpo -c ./../src/libffi-3-5867c437e9.clean/src/java_raw_api.c -o src/java_raw_api.o
libtool: compile:  /usr/bin/cc -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src -Wall -fPIC -g -fexceptions -MT src/tramp.lo -MD -MP -MF src/.deps/tramp.Tpo -c ./../src/libffi-3-5867c437e9.clean/src/tramp.c -o src/tramp.o
libtool: compile:  /usr/bin/cc -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src -Wall -fPIC -g -fexceptions -MT src/raw_api.lo -MD -MP -MF src/.deps/raw_api.Tpo -c ./../src/libffi-3-5867c437e9.clean/src/raw_api.c -o src/raw_api.o
libtool: compile:  cc -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src -fPIC -g -MT src/aarch64/sysv.lo -MD -MP -MF src/aarch64/.deps/sysv.Tpo -c ./../src/libffi-3-5867c437e9.clean/src/aarch64/sysv.S -o src/aarch64/sysv.o
libtool: compile:  /usr/bin/cc -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src -Wall -fPIC -g -fexceptions -MT src/closures.lo -MD -MP -MF src/.deps/closures.Tpo -c ./../src/libffi-3-5867c437e9.clean/src/closures.c -o src/closures.o
libtool: compile:  /usr/bin/cc -fPIC -g -DHAVE_CONFIG_H -I. -I./../src/libffi-3-5867c437e9.clean -I. -I./../src/libffi-3-5867c437e9.clean/include -Iinclude -I./../src/libffi-3-5867c437e9.clean/src -Wall -fPIC -g -fexceptions -MT src/aarch64/ffi.lo -MD -MP -MF src/aarch64/.deps/ffi.Tpo -c ./../src/libffi-3-5867c437e9.clean/src/aarch64/ffi.c -o src/aarch64/ffi.o

Additional context

vcpkg.json
{
  "name": "halide",
  "version": "20.0.0",
  "description": "Halide is a programming language designed to make it easier to write high-performance image and array processing code on modern machines.",
  "homepage": "https://github.com/halide/Halide",
  "license": "MIT",
  "supports": "!uwp",
  "builtin-baseline": "d567b667adba0e72c5c3931ddbe745b66aa34b73",
  "default-features": [
    "jit",
    "serialization"
  ],
  "dependencies": [
    {
      "name": "llvm",
      "default-features": false,
      "features": [
        "clang",
        "enable-eh",
        "enable-rtti",
        "lld",
        "target-webassembly",
        "target-x86",
        "tools"
      ]
    },
    "spirv-headers",
    "vulkan-headers"
  ],
  "features": {
    "developer": {
      "description": "Include all Halide features to facilitate development",
      "dependencies": [
        {
          "name": "halide",
          "default-features": false,
          "features": [
            "python-bindings",
            "serialization",
            "target-all",
            "tests",
            "wasm-executor",
            "webgpu"
          ]
        },
        {
          "name": "llvm",
          "default-features": false,
          "features": [
            "clang-tools-extra",
            "enable-assertions"
          ]
        }
      ]
    },
    "jit": {
      "description": "Include targets needed to compile for the library architecture",
      "dependencies": [
        {
          "name": "halide",
          "default-features": false,
          "features": [
            "target-arm"
          ],
          "platform": "arm32"
        },
        {
          "name": "halide",
          "default-features": false,
          "features": [
            "target-aarch64"
          ],
          "platform": "arm64"
        },
        {
          "name": "halide",
          "default-features": false,
          "features": [
            "target-all"
          ],
          "platform": "!x86 & !x64 & !arm"
        }
      ]
    },
    "python-bindings": {
      "description": "Halide's native Python module (not the whole pip package)",
      "dependencies": [
        "pybind11"
      ]
    },
    "serialization": {
      "description": "Include experimental Serialization/Deserialization code",
      "dependencies": [
        "flatbuffers"
      ]
    },
    "target-aarch64": {
      "description": "Include AArch64 target",
      "dependencies": [
        {
          "name": "llvm",
          "default-features": false,
          "features": [
            "target-aarch64"
          ]
        }
      ]
    },
    "target-all": {
      "description": "Include all targets",
      "dependencies": [
        {
          "name": "halide",
          "default-features": false,
          "features": [
            "target-aarch64",
            "target-arm",
            "target-hexagon",
            "target-nvptx",
            "target-powerpc",
            "target-riscv"
          ]
        }
      ]
    },
    "target-arm": {
      "description": "Include ARM target",
      "dependencies": [
        {
          "name": "llvm",
          "default-features": false,
          "features": [
            "target-arm"
          ]
        }
      ]
    },
    "target-hexagon": {
      "description": "Include Hexagon target",
      "dependencies": [
        {
          "name": "llvm",
          "default-features": false,
          "features": [
            "target-hexagon"
          ]
        }
      ]
    },
    "target-nvptx": {
      "description": "Include NVPTX target",
      "dependencies": [
        {
          "name": "llvm",
          "default-features": false,
          "features": [
            "target-nvptx"
          ]
        }
      ]
    },
    "target-powerpc": {
      "description": "Include PowerPC target",
      "dependencies": [
        {
          "name": "llvm",
          "default-features": false,
          "features": [
            "target-powerpc"
          ]
        }
      ]
    },
    "target-riscv": {
      "description": "Include RISCV target",
      "dependencies": [
        {
          "name": "llvm",
          "default-features": false,
          "features": [
            "target-riscv"
          ]
        }
      ]
    },
    "tests": {
      "description": "Include dependencies needed for testing Halide",
      "dependencies": [
        {
          "name": "cuda",
          "platform": "(windows & x64 & !uwp & !xbox) | (linux & x64) | (linux & arm64)"
        },
        "eigen3",
        "libjpeg-turbo",
        "libpng",
        "openblas",
        {
          "name": "opencl",
          "platform": "(windows & x64 & !uwp & !xbox) | (linux & x64) | (linux & arm64)"
        }
      ]
    },
    "wasm-executor": {
      "description": "Include built-in WASM executor",
      "dependencies": [
        "wabt"
      ]
    },
    "webgpu": {
      "description": "Include WebGPU runtime support",
      "dependencies": [
        "dawn"
      ]
    }
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions