---
slug: "m1-mac-python-install-cryptgraphy-cffi"
title: "Installing Cryptography (cffi) on M1 Mac"
description: "When trying to install dependencies with Pipenv, you may encounter an error message like \"#error Apple Arm64 ABI requires ffi_prep_cif_var   error: command 'clang' failed with exit status 1\". This blog post provides solutions on how to address this issue."
url: "https://www.ytyng.com/en/blog/m1-mac-python-install-cryptgraphy-cffi"
publish_date: "2021-12-11T11:09:46Z"
created: "2021-12-11T11:09:46Z"
updated: "2026-02-27T08:54:46.947Z"
categories: []
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20240629/09192bf0642f44b6839dde0ffc4801b3.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "en"
---

# Installing Cryptography (cffi) on M1 Mac

<p dir="ltr" class="CDt4Ke zfr3Q">When trying to install dependencies with Pipenv</p>
<pre dir="ltr" class="CDt4Ke zfr3Q">[pipenv.exceptions.InstallError]: running build_ext<br />[pipenv.exceptions.InstallError]: building '_cffi_backend' extension<br />[pipenv.exceptions.InstallError]: creating build/temp.macosx-10.14-arm64-3.8<br />[pipenv.exceptions.InstallError]: creating build/temp.macosx-10.14-arm64-3.8/c<br />[pipenv.exceptions.InstallError]: clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/Headers -arch arm64 -arch x86_64 -Werror=implicit-function-declaration -I/opt/homebrew/include -I/opt/homebrew/opt/openssl/include -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ffi -I/Users/ytyng/workspace/ytyng-blog/.venv/include -I/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8 -c c/_cffi_backend.c -o build/temp.macosx-10.14-arm64-3.8/c/_cffi_backend.o<br />[pipenv.exceptions.InstallError]: c/_cffi_backend.c:5854:2: error: Apple Arm64 ABI requires ffi_prep_cif_var<br />[pipenv.exceptions.InstallError]: #error Apple Arm64 ABI requires ffi_prep_cif_var<br />[pipenv.exceptions.InstallError]: ^<br />[pipenv.exceptions.InstallError]: c/_cffi_backend.c:6304:9: error: implicit declaration of function 'ffi_prep_closure' is invalid in C99 [-Werror,-Wimplicit-function-declaration]<br />[pipenv.exceptions.InstallError]: if (ffi_prep_closure(closure, &amp;cif_descr-&gt;cif,<br />[pipenv.exceptions.InstallError]: ^<br />[pipenv.exceptions.InstallError]: 2 errors generated.<br />[pipenv.exceptions.InstallError]: error: command 'clang' failed with exit status 1<br />[pipenv.exceptions.InstallError]: ----------------------------------------<br />[pipenv.exceptions.InstallError]: ERROR: Command errored out with exit status 1: /Users/ytyng/workspace/ytyng-blog/.venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/h2/rl5s4kl5763gtb1bz7fxg0m80000gn/T/pip-install-9zuwn3fi/cffi_392525a718154d91adb0ac1a457c368c/setup.py'"'"'; __file__='"'"'/private/var/folders/h2/rl5s4kl5763gtb1bz7fxg0m80000gn/T/pip-install-9zuwn3fi/cffi_392525a718154d91adb0ac1a457c368c/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/h2/rl5s4kl5763gtb1bz7fxg0m80000gn/T/pip-record-zgqqq7w_/install-record.txt --single-version-externally-managed --compile --install-headers /Users/ytyng/workspace/ytyng-blog/.venv/include/site/python3.8/cffi Check the logs for full command output.</pre>
<p dir="ltr" class="CDt4Ke zfr3Q">If such an error occurs</p>
<pre dir="ltr" class="CDt4Ke zfr3Q">LDFLAGS="-L$(brew --prefix openssl@1.1)/lib" CFLAGS="-I$(brew --prefix openssl@1.1)/include" python3 -m pip install cryptography</pre>
<p dir="ltr" class="CDt4Ke zfr3Q"><span class=" aw5Odc"><a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F66035003%2Finstalling-cryptography-on-an-apple-silicon-m1-mac&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNER-2DW3n2_xYXZc7zYAFAdJc3hkw" target="_blank">https://stackoverflow.com/questions/66035003/installing-cryptography-on-an-apple-silicon-m1-mac</a></span></p>
