Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macOS 11 Big Sur compatibility on Apple Silicon #7857

Open
claui opened this issue Jun 30, 2020 · 529 comments
Open

macOS 11 Big Sur compatibility on Apple Silicon #7857

claui opened this issue Jun 30, 2020 · 529 comments

Comments

@claui
Copy link
Member

@claui claui commented Jun 30, 2020

Latest news on native ARM compatibility

  • (2020-11-18) Added Major blockers section for a quick overview.
  • (2020-11-18) Issue with mkmf in Ruby.framework resolved (FB7836181).
    All brew commands that depend on that gem, e. g. brew audit, seem to work now.
  • (2020-11-15) Issues with code signing now resolved thanks to @fxcoudert, @mistydemeo and others.
  • (2020-11-15) There won’t be any support for native ARM Homebrew installations for months to come. See both #7857 (comment) about CI infrastructure and #7857 (comment) about GCC for details.
  • (2020-11-15) Native ARM Homebrew installations are only going to be supported at /opt/homebrew (once support arrives). See #7857 (comment) for details.

A detailed description of the proposed feature

This is an overview of compatibility issues and work items related to native ARM Homebrew installations on macOS 11.0 (Big Sur). Homebrew doesn’t support it right now but we need to track and triage those items nonetheless.

The motivation for the feature

macOS 11.0 (Big Sur) has been released to the public, and our goal is for Homebrew to support it.

How the feature would be relevant to at least 90% of Homebrew users

In the long run, more than 90 % of Homebrew (macOS) users are going to run Apple Silicon hardware.

What alternatives to the feature have been considered

No alternatives.


Major blockers

  • Set up ARM-based CI infrastructure
  • Have Homebrew’s CI build arm64_big_sur bottles
  • go (waiting for upstream version 1.16)
  • rust (waiting for upstream version 1.49 or backport to 1.47/1.48)
  • ghc (help wanted)
  • qt (help wanted)
  • openjdk (waiting for upstream version 16; work in progress to integrate OpenJDK 16 preview as stop-gap)
  • gcc (work in progress, see #7857 (comment))
  • Others (see #7857 (comment))

Status of core formulae

Formula Works1
on 11.0
Comments
ack 🥇
adns 🥇
adwaita-icon-theme
aircrack-ng
ansible
ant Re-check when openjdk works
aom 🥇 Patched for now
apache-spark
apr-util 🥇
apr 🥇
argon2 🥇
arpack
asciidoc 🥇
asdf
aspell 🥇
atk
augeas 🥇
autoconf 🥇
autojump
automake 🥇
aws-elasticbeanstalk 🥇
aws-iam-authenticator Re-check when go works
awscli ⚠️ Build fails with a distutils.errors.DistutilsClassError, see logs.
Possibly related to setuptools: pypa/setuptools#2231
azure-cli 🥇
bash-completion 🥇
bash ⚠️ make says, redefinition of 'sys_siglist' with a different type: 'char *[32]' vs 'const char *const [32]'. Logs
bat Re-check when rust works
bazel Re-check when openjdk@11 works
bdw-gc
berkeley-db 🥇
binutils 🥇
bison 🥇
blueutil 🥇
boost 🥇 Patched for now
brotli 🥇
c-ares 🥇
cabal-install Re-check when ghc works
cairo 🥇
cargo-c Builds in rust prereleases; will work when a stable Rust with Apple Silicon support ships
carthage 🥇 Patched for now
cask Re-check when emacs works
ccache 🥇

Used to work, no longer builds. Logs

Says:

invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size

ceres-solver
certbot 🥇
cfitsio 🥇
cgal Re-check when qt works
circleci Re-check when go works
clang-format 🥇
cloc 🥇
cmake 🥇
cocoapods ⚠️ Error Unrecognized Mach-O load command: 0x80000034 in ffi_c.bundle
colordiff 🥇
composer 🥇
consul Re-check when go works
coreutils 🥇
cscope 🥇
ctags 🥇
cunit 🥇
curl 🥇
curl-openssl 🥇
cython 🥇
dav1d 🥇
daemontools 🥇
deno Re-check when llvm and rust work
dep Re-check when go works
dialog 🥇 Patched for now
direnv Re-check when go works
dnsmasq 🥇
docbook-xsl 🥇
docbook 🥇
docker Re-check when go works
docker-completion 🥇
docker-machine Re-check when go works
doctl Re-check when go works
dos2unix 🥇
doxygen 🥇
duti 🥇 Patched for now. PR also submitted upstream.
eigen 🥇
elasticsearch Re-check when gradle and openjdk work
elixir Re-check when erlang works
emacs Re-check when gnutls works
epsilon 🥇
epstool Re-check when ghostscript works
erlang ⚠️ Either we need to backport erlang/otp#2700 or wait for upstream release 23.1.
Same with erlang/otp#2687.
exiftool 🥇
expat 🥇
fastlane 🥇
fd Re-check when rust works
ffmpeg Re-check when gnutls, libbluray and several other dependencies work
fftw Re-check when gcc and open-mpi work
fig2dev Re-check when ghostscript and netpbm work
figlet 🥇
findutils 🥇
fish 🥇
flac 🥇
fltk
fontconfig 🥇 Patched for now
fontforge
freetds 🥇
freetype 🥇
freexl ⚠️ Build error: implicitly declaring library function 'printf' Logs
frei0r 🥇
fribidi 🥇
fswatch
fzf
gawk 🥇
gcal 🥇
gcc ⚠️

@iains has some work in progress on https://github.com/iains/gcc-darwin-arm64 to port the GCC backend to Apple Silicon.

Mind that Apple Silicon support is going to require GCC 11 even in the best case. The first stable release of GCC 11 may come out in mid-2021 or later. If you absolutely require a stable GCC, or any formula that depends on it, you may want to hold off your Apple Silicon Mac purchase decisions until it’s clear if or when GCC will support it.

For limited testing on Apple Silicon, Homebrew may consider shipping an unstable GCC 11 but that’s yet to be decided.

gdal Re-check when expat, freexl, geos, hdf5 and a dozen of other dependencies work
gdbm 🥇
gdb
gdk-pixbuf
gd 🥇
geckodriver
geos ⚠️ Squeals about duplicate symbol BasicSegmentString in inlines.o vs. libnoding.a. Logs
gettext 🥇
gflags
ghc ⚠️ Re-check when Homebrew/homebrew-core#57892 is merged
ghc@8.8
ghostscript ⚠️ Re-check when Homebrew/homebrew-core#58493 is merged
giflib 🥇
git ⚠️ Lots of Undefined symbols for architecture arm64. Possibly related to libintl and pcre2. Logs
git-flow
git-gui
git-lfs
gitlab-runner
gl2ps
glew
glib-networking
glib 🥇
glog
glpk
gmp 🥇
gnu-getopt 🥇
gnu-sed 🥇
gnu-tar 🥇
gnupg Re-check when gnutls works
gnuplot
gnutls Re-check pending
gobject-introspection 🥇
go ⚠️

Bootstrapped go (x86_64) is killed at build time. Logs

Re-check when upstream 1.16 is released

gpatch 🥇
gpgme
gradle Re-check when openjdk works
grafana
graphicsmagick
graphite2 🥇
graphviz Re-check when gts works
grep 🥇
groonga 🥇
groovy
grpc
gsettings-desktop-schemas
gsl
gst-plugins-bad
gstreamer
gtk+3
gtk+
gtk-mac-integration
gts Re-check when netpbm works
guile 🥇 Fixed
harfbuzz 🥇
hdf5 Re-check when gcc works
helm Re-check when go works
helm@2 Re-check when glide and go work
hicolor-icon-theme
highlight 🥇
htop 🥇
httpd 🥇
httpie 🥇
hub Re-check when go works
hugo Re-check when go works
hwloc 🥇
icu4c 🥇
ideviceinstaller 🥇
ilmbase 🥇
imagemagick@6 🥇
imagemagick Re-check when ghostscript, libheif and libomp work
inetutils 🥇
ios-deploy 🥇
ios-webkit-debug-proxy 🥇
iperf3 🥇
ipython 🥇
isl 🥇
itstool 🥇
jansson 🥇
jasper 🥇
jemalloc 🥇
jenkins Re-check when openjdk@11 works
jenkins-lts Re-check when openjdk@11 works
jenv 🥇
jmeter
jpeg 🥇
jq 🥇
json-c 🥇
jupyterlab Re-check when pandoc works
kafka Re-check when openjdk (or some other form of Java) and zookeeper work
kops
kotlin Re-check when openjdk (or some other form of Java) works
krb5 🥇 Patched for now. Patch submitted to upstream issue tracker.
kubectx
kubernetes-cli Re-check when go works
kustomize
lame 🥇
ldns
leptonica 🥇
libarchive
libassuan 🥇
libass 🥇
libb2
libbluray Re-check when openjdk (or some other form of Java) works
libcbor
libcerf
libcroco
libdap
libde265 ⚠️ ARM assembly/macros/directives fail at build time. Re-check needed with the correct triple. Logs
libepoxy
libevent 🥇
libev 🥇
libexif
libffi 🥇 Patched for now, awaiting upstream patches: libffi/libffi#565
libfido2
libgcrypt 🥇
libgeotiff
libgit2 🥇
libgpg-error 🥇
libheif Re-check when libde265 works
libiconv 🥇
libidn2 🥇
libidn 🥇
libilbc 🥇
libimobiledevice 🥇
libksba 🥇
liblqr 🥇
libmagic 🥇
libmaxminddb 🥇
libmetalink 🥇
libmpc 🥇
libnet
libogg 🥇
libomp ⚠️ make install fails while trying to make sense of x86_64 assembly for Linux. Logs
libp11
libplist 🥇
libpng 🥇
libpq 🥇
libpsl
librdkafka
libressl
librsvg
libsamplerate 🥇
libscrypt 🥇
libsmi 🥇
libsndfile 🥇
libsodium 🥇
libsoup
libsoxr 🥇
libspatialite
libspiro
libssh 🥇
libssh2 🥇
libtasn1 🥇
libtermkey
libtiff 🥇
libtool 🥇
libuninameslist
libunistring 🥇
libusb-compat
libusbmuxd 🥇
libusb 🥇
libuv 🥇
libvidstab 🥇
libvirt
libvorbis 🥇
libvpx 🥇
libvterm
libwebsockets
libxml2 🥇
libxslt
libyaml 🥇
libzip 🥇
little-cms2 🥇
llvm 🥉 Builds if OpenMP is disabled. Stable builds don't work, but HEAD does and 11.0.0 will be compatible.
lua 🥇
lua@5.1 🥇
luajit ⚠️ Fails with 2.0.5 but should work when upstream 2.1.0 is released.
luarocks 🥇
lynx 🥇 Patched for now
lz4 🥇
lzo 🥇
macvim
mad ⚠️ Configure error: /bin/ksh ./config.sub -apple-darwin20.0.0 failed Logs
make
mariadb Re-check when groonga works
mas 🥇 Fixed
maven Re-check when openjdk works
mbedtls
mcrypt
mecab 🥇
mecab-ipadic 🥇
memcached
mercurial 🥇
meson 🥇
metis
midnight-commander
minikube
minizip 🥇
mitmproxy
mkcert
mkvtoolnix
mono
mosh
mpfr 🥇
mpv
msgpack 🥇
mtr
mujs
mutt
mysql ⚠️ The build proceeds to completion but mysqld_safe fails with syntax error near unexpected token 'then' in line 831.
mysql@5.6 ⚠️ make errors out after building the target event_extra. Logs
mysql@5.7 ⚠️ Builds but mysqld_safe fails: syntax error near unexpected token 'then' in line 804.
mysql-client 🥇
nano 🥇
nasm 🥇
ncdu
ncurses 🥇
neofetch
neovim ⚠️ Upstream PR in progress: neovim/neovim#12624
netcdf
netpbm Re-check when subversion works
nettle 🥇 Patched for now
nghttp2 🥇
nginx 🥇
ninja 🥇
nmap 🥇 Fixed
node 🥇

Patched for now.

See also nodejs/node#34043 and nodejs/TSC#886 for upstream progress.

node@10
node@12 🥇
node-build
nodebrew
npth 🥇
nspr 🥇
nss ⚠️ Build fails while loading softokn3. Logs
ntfs-3g
numpy
nvm
ocaml Upstream PR merged, see ocaml/ocaml#9699.
4.10 backport in progress, see ocaml/ocaml#10026.
4.10 formula-patches PR: Homebrew/formula-patches#318
octave
oniguruma 🥇
opam
open-mpi Re-check when gcc works
openblas
openconnect
opencore-amr
opencv
openexr 🥇
openjdk ⚠️ Needs to be ported (logs). See also related JEP draft: MacOS/AArch64 Port
openjdk@11
openjpeg 🥇
openldap 🥇
openssh
openssl aka openssl@1.1 🥇

Patched for now.

Works well enough until the upstream fix is released.

openvpn 🥇
opusfile 🥇
opus 🥇
orc
p11-kit 🥇
p7zip 🥇
packer Re-check when go works
pandoc Re-check when cabal-install and ghc work
pango 🥇 Patched for now
parallel 🥇
pcre2 🥇 Note: JIT disabled for now. See Homebrew/homebrew-core#57419
pcre 🥇 Note: JIT disabled for now. See Homebrew/homebrew-core#57410
perl 🥇 Patched for now
php@7.2 ⚠️ Seems more difficult to fix than php. Might want to triage as 🚫.
php@7.3 ⚠️ Seems more difficult to fix than php. Might want to triage as 🚫.
php 🥇 Fixed
pinentry 🥇
pipenv 🥇
pixman 🥇
pkcs11-helper 🥇
pkg-config 🥇
plantuml
poppler Re-check when nss and qt work
popt 🥇
portaudio 🥇
postgis Re-check when gdal, geos, gpp and sfcgal work
postgresql 🥇
postgresql@9.6
postgresql@10
postgresql@11
pre-commit 🥇
proj 🥇
protobuf 🥇
protobuf-c 🥇
pstoedit
pstree 🥇
pulumi
putty 🥇
py3cairo
pyenv ⚠️ Bash crashes due to code signature error when trying to load pyenv-realpath.dylib as a builtin. Log
pyenv-virtualenv
pygobject3
pyqt
python@3.7 ⚠️ Patch python/cpython#21249 fails. Re-check when upstream arm64 support stabilises.
python@3.8 🥉

Patched for now but brew test fails.

Re-check after Homebrew/homebrew-core#64872 is merged.

python aka python@3.9 🥉

brew test currently fails.

Re-check after Homebrew/homebrew-core#64869 is merged.

qemu
qhull
qrupdate
qt ⚠️ Fails running find_sdk.py late in the build. (logs, full make log)
rabbitmq Re-check when erlang works
rav1e Re-check when cargo-c and rust work
rbenv
rclone
readline 🥇
redis 🥇 Patched for now
rename
ripgrep
rsync
rtmpdump 🥇
rubberband
ruby-build
ruby@2.5
ruby 🥇
rust ⚠️ Upstream tracking issue: rust-lang/rust#73908
rustup-init
s-lang
s3cmd
sbcl
sbt
scala
scrcpy
screenresolution 🥇
sdl2
sdl 🥇
sfcgal Re-check when cgal works
shared-mime-info 🥇
shellcheck Re-check when cabal-install, ghc@8.8 and pandoc work
sip
skaffold
snappy 🥇
socat
source-highlight 🥇
sox Re-check when mad works
spandsp 🥇
speedtest-cli
speex 🥇
sphinx-doc 🥇
sqlite 🥇
sqlmap
srt ⚠️ Fails with 'GLES/gl.h' file not found during make install. Logs
ssh-copy-id
sshfs
sshpass
sshuttle
starship
stoken
subversion 🥉 Works but brew test fails. Logs.
suite-sparse
sundials
swagger-codegen
swiftformat
swiftlint 🥇
swig 🥇
szip 🥇
tbb 🥇 Patched for now
tcl-tk
telnetd 🥇
telnet 🥇
terraform Re-check when go works
terragrunt
tesseract 🥇
texinfo 🥇
tfenv
tflint
thefuck 🥇
theora 🥇
the_silver_searcher
tidy-html5 🥇
tig
tmux 🥇
tomcat
tor 🥇
tree 🥇
uchardet
unar 🥇
unbound 🥇
unibilium
unixodbc 🥇
unrar 🥇
utf8proc 🥇
v8
vala Re-check when graphviz works
valgrind
vapoursynth
vault
vde
vim 🥇
vips
watchman
watch
webp 🥇
wget 🥇
wimlib
winetricks
wireshark
wxmac
x264 🥇 Patched for now
x265 🥇
xcodegen ⚠️ Not compatible with Xcode 12.
Re-check with upstream version > 2.17.0 once released.
xerces-c
xmlto 🥇
xvid 🥇
xxhash 🥇
xz 🥇
yara 🥇
yarn 🥇
yasm 🥇 Note: doesn’t support ARM targets
youtube-dl 🥇
yq Re-check when go works
zeromq 🥇
zimg 🥇
zlib 🥇
zookeeper Re-check when ant works
zsh 🥇
zsh-autosuggestions 🥇
zsh-completions 🥇
zsh-syntax-highlighting 🥇
zstd 🥇
Source
curl -sLS \
  'https://formulae.brew.sh/api/analytics/install/90d.json' \
  | jq -r '.items
    | map(select (.formula | contains("/") | not) | .formula)[:512]
    | sort
    | [""] + map("`\(.)`")
    | map([., "", ""] | @csv)
    | .[]
    ' \
  | pandoc -f csv -t gfm \
  | sed -e 's/\\`/`/g'
___

1 For Works on 11.0, the key is:

  • 🥇brew install -s succeeds on Apple Silicon. The software works well enough natively.
  • 🥈 The formula has been updated with depends_on :arch => [:x86_64, :build]. The software works well enough on Rosetta.
  • 🥉 The formula has known issues on macOS 11, though most features work. The issues are described in the Comments field.
  • 🚫 The formula has been updated with depends_on :arch => :x86_64. The software has been deemed to work on Intel only (for now).
  • ⚠️ The formula has been found to need more analysis/work.
@Bo98

This comment has been hidden.

@MikeMcQuaid

This comment has been hidden.

@jedisct1

This comment has been hidden.

@claui

This comment has been hidden.

@indirect

This comment has been hidden.

@dmzimmerman

This comment has been hidden.

@indirect

This comment has been hidden.

@claui

This comment has been hidden.

@BytesGuy

This comment has been hidden.

@BytesGuy

This comment has been hidden.

@FigBug

This comment was marked as off-topic.

@claui

This comment was marked as off-topic.

@FigBug

This comment was marked as off-topic.

@MikeMcQuaid
Copy link
Member

@MikeMcQuaid MikeMcQuaid commented Jul 3, 2020

@FigBug Please don't ask us for help while you're running an unsupported version of macOS.

@Bo98

This comment has been hidden.

@axello

This comment was marked as off-topic.

@claui

This comment was marked as off-topic.

@Bo98

This comment has been hidden.

@MikeMcQuaid
Copy link
Member

@MikeMcQuaid MikeMcQuaid commented Jul 3, 2020

How can we help Big Sur compatibility on ARM Macs if we are indeed running an unsupported version of macOS?

Submit PRs to fix things. Almost every issue we have had so far has been already known. We know things aren't working. We need help fixing things not telling us what isn't working.

@gregcotten

This comment has been hidden.

@HaydenPeake

This comment has been hidden.

@claui

This comment has been hidden.

@DodgyTim

This comment has been hidden.

@segiddins

This comment has been hidden.

@gregcotten

This comment has been hidden.

@segiddins

This comment has been hidden.

@DodgyTim

This comment has been hidden.

@matej-sf
Copy link

@matej-sf matej-sf commented Nov 29, 2020

Could someone verify for me if LastPass-CLI works?

@TonyWu20
Copy link

@TonyWu20 TonyWu20 commented Nov 29, 2020

I would like to confirm that rename compiled and worked with brew install rename -s.

@gpetrov
Copy link

@gpetrov gpetrov commented Nov 29, 2020

Build succesfully imagemagick, ghostscript, libffi, libde265 , libheif without any problems thanks to the python@3.9 patch #7857 (comment)

Also all other dependencies builded fine like: libpng, freetype, jpeg, libtiff, ghostscript, libde265, intltool, autoconf, automake, gdbm, openssl@1.1, readline, sqlite, xz, python@3.9, libxml2, itstool, ninja, meson, gettext, libffi, pcre, glib, docbook, docbook-xsl, gnu-getopt, xmlto, shared-mime-info, sphinx-doc, cmake, x265, libheif, liblqr, libomp, libtool, little-cms2, ilmbase, openexr, bison, doxygen, openjpeg and webp

So those can all go to green light @claui !

Even build open-mpi - by just removing the dependency from gcc.

Tried building vips but fail because of its dependency of fftw - which really requires gcc only and fails hard with clang

@fxcoudert
Copy link
Member

@fxcoudert fxcoudert commented Nov 29, 2020

Even build open-mpi - by just removing the dependency from gcc

It won't have Fortran bindings and will fail for some other formulas that depend on it

@guillochon
Copy link

@guillochon guillochon commented Nov 29, 2020

@jackbm633's formula fix for python@3.9 allows me to install it as well. What's the permanent fix to that formula we should make?

@mlflr
Copy link

@mlflr mlflr commented Nov 29, 2020

Could someone verify for me if LastPass-CLI works?

Seems to compile and work fine:

$ file $(which lpass)
/opt/homebrew/bin/lpass: Mach-O 64-bit executable arm64
$ lpass -v
LastPass CLI v1.3.3.GIT
@fxcoudert
Copy link
Member

@fxcoudert fxcoudert commented Nov 29, 2020

@jackbm633 @kubkon @guillochon the proper fix, as indicated in Homebrew/homebrew-core#65866 (comment), is to report this bug to the Python projet and find a fix there.

11 is a valid value for MACOSX_DEPLOYMENT_TARGET. Python should accept it.

Edit: I've reported it to Python: https://bugs.python.org/issue42504

@gpetrov
Copy link

@gpetrov gpetrov commented Nov 29, 2020

On the way to build vips - also build succesfully: fontconfig, giflib, imagemagick, libexif, libgsf, libimagequant, szip, ninja, lzo, pixman, cairo, gobject-introspection, libssh2, gdk-pixbuf, fribidi, graphite2, icu4c, harfbuzz, pango, libspng, nasm, mozjpeg, openslide, orc, nspr, nss, libunistring, libidn2, lftp

Major blockers are:

Major trouble with Qt!

Trying to build it was the first homebrew build to take more than 2% of the cpu and longer dan 15 minutes in build time - but that was because it was building the whole Chrome!

There really should be an homebrew option to build qt without the QWebEngine as suggested in Homebrew/homebrew-core#65128 (comment) as it is really not used that often.

@tresf
Copy link

@tresf tresf commented Nov 29, 2020

@gpetrov Qt workarounds available here: #7857 (comment). Quoting:

Question: If a patch makes a libraries usable at the cost of disabling certain features -- assuming we can make these conditionally disabled for arm64 only -- is Homebrew's philosophy to favor usability?

Reference:

Assuming they're welcomed, we'll issue PRs.

@claui kindly answered:

is Homebrew's philosophy to favor usability?

@tresf Yes, absolutely.

We’ll consider PRs that makes something work under Big Sur, as long as UX for users of stable macOS versions is not compromised.

Also related : Homebrew/homebrew-core#65128

Feel free to cherry-pick and PR as needed. If not, we'll PR as promised as soon as we can.

@nilleb
Copy link

@nilleb nilleb commented Nov 29, 2020

grpc builds fine!

@24naret
Copy link

@24naret 24naret commented Nov 29, 2020

So I was able to build rust. Somewhere here I read that the rust page says it should compile. There I read "only with newer than 0.48.0". I got always stuck (404) on a curl on a xxx0.47.0.tgz file.
When I tried brew install -s --fetch-HEAD rust it would still pull 0.47.0 so I changed the formula to use 0.49.0 when using HEAD (isn't that the idea of the HEAD command to use the newest master?)
After that I would get "ninja not found" even though ninja is there. Out of intuition I tried to start a bash and noticed that it was missing a path to /opt/homebrew/bin so I created a .bashrc and after 28 minutes and 3 seconds it was ready.
Regarding the bash environment I'm not sure where in the build it is spawned. But what would be a proper way to implement that, as I could imagine that there are more *nix tools out there using bash in one of their build scripts and the default for new Mac installs now is zsh.
I think I could do the proper pull request for the rest.

@lewisrobbins
Copy link

@lewisrobbins lewisrobbins commented Nov 29, 2020

htop compiles with with the patch I made in Homebrew/homebrew-core#65866 (comment). I hope @fxcoudert upstream patch gets merged soon so we don't have to manually edit the homebrew config.

/Users/lewis/.homebrew/homebrew/bin/htop: Mach-O 64-bit executable arm64
@richiksc
Copy link

@richiksc richiksc commented Nov 29, 2020

@24naret Rust has upstream support in beta and nightly channels v1.49.0

@FiloSottile
Copy link

@FiloSottile FiloSottile commented Nov 30, 2020

The libgcrypt issue looks like a reoccurrence of (or related to) the issue fixed in Homebrew/homebrew-core#3004.

@jackbm633
Copy link

@jackbm633 jackbm633 commented Nov 30, 2020

awscli will work once Python 3.9 is patched to fix the decimal point issue! - it works fine on my system.

@fxcoudert
Copy link
Member

@fxcoudert fxcoudert commented Nov 30, 2020

Re libgcrypt: can you try to run make install before make check and see whether that fixes it?

@jackbm633
Copy link

@jackbm633 jackbm633 commented Nov 30, 2020

sdl2 also compiles and tests fine on my system!

@FiloSottile
Copy link

@FiloSottile FiloSottile commented Nov 30, 2020

Re libgcrypt: can you try to run make install before make check and see whether that fixes it?

No, same issue.

brew reinstall -d libgcrypt
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /opt/homebrew/Library/Taps/homebrew/homebrew-core/Formula/libgcrypt.rb
Warning: You are running macOS on a arm64 CPU architecture.
We do not provide support for this (yet).
Reinstall Homebrew under Rosetta 2 until we support it.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Twitter or any other official channels. You are responsible for resolving
any issues you experience while you are running this
unsupported configuration.

/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /opt/homebrew/Library/Taps/homebrew/homebrew-core/Formula/libgpg-error.rb
==> Downloading https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.7.tar.bz2
/usr/bin/curl --disable --globoff --show-error --user-agent Homebrew/2.5.12-277-g9ee8cc9\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 11.0.1\)\ curl/7.64.1 --header Accept-Language:\ en --retry 3 --location --silent --head --request GET https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.7.tar.bz2
Already downloaded: /Users/filippo/Library/Caches/Homebrew/downloads/beeee2d6bcf1dd5006394d0421a3e27866cad0f952b73cbd64cfe041b0a615b6--libgcrypt-1.8.7.tar.bz2
==> Reinstalling libgcrypt
/opt/homebrew/Library/Homebrew/shims/scm/git --version
/opt/homebrew/Library/Homebrew/build.rb (Formulary::FormulaLoader): loading /opt/homebrew/Library/Taps/homebrew/homebrew-core/Formula/libgpg-error.rb
tar xof /Users/filippo/Library/Caches/Homebrew/downloads/beeee2d6bcf1dd5006394d0421a3e27866cad0f952b73cbd64cfe041b0a615b6--libgcrypt-1.8.7.tar.bz2 -C /private/tmp/d20201130-34245-10lu12b
cp -pR /private/tmp/d20201130-34245-10lu12b/libgcrypt-1.8.7/. /private/tmp/libgcrypt-20201130-34245-1ftxytp/libgcrypt-1.8.7
==> ./configure --enable-static --prefix=/opt/homebrew/Cellar/libgcrypt/1.8.7 --disable-asm --with-libgpg-error-prefix=/opt/homebrew/o
==> make
==> make check
Last 15 lines from /Users/filippo/Library/Logs/Homebrew/libgcrypt/03.make:
 PBKDF2-HMAC-BLAKE2S_256  |          620.1             -
 PBKDF2-HMAC-BLAKE2S_224  |          624.8             -
 PBKDF2-HMAC-BLAKE2S_160  |          622.5             -
 PBKDF2-HMAC-BLAKE2S_128  |          616.9             -
                          =
PASS: bench-slope
SKIP: hashtest-256g
======================================
1 of 27 tests failed
(1 test was not run)
Please report to http://bugs.gnupg.org
======================================
make[2]: *** [check-TESTS] Error 1
make[1]: *** [check-am] Error 2
make: *** [check-recursive] Error 1
/opt/homebrew/Library/Homebrew/shims/scm/git --version
/usr/bin/curl --version
/usr/libexec/java_home --xml --failfast
/opt/homebrew/Library/Homebrew/debrew.rb:18:in `raise'
BuildError: Failed executing: make check
1. raise
2. ignore
3. backtrace
4. irb
5. shell
Choose an action: s
When you exit this shell, you will return to the menu.
filippo@Bistromath-M1 libgcrypt-1.8.7 % make install
Making install in compat
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
Making install in mpi
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
Making install in cipher
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
Making install in random
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
Making install in src
 ../build-aux/install-sh -c -d '/opt/homebrew/Cellar/libgcrypt/1.8.7/lib'
 ../build-aux/install-sh -c -d '/opt/homebrew/Cellar/libgcrypt/1.8.7/bin'
 ../build-aux/install-sh -c -d '/opt/homebrew/Cellar/libgcrypt/1.8.7/lib/pkgconfig'
 ../build-aux/install-sh -c -d '/opt/homebrew/Cellar/libgcrypt/1.8.7/share/aclocal'
 ../build-aux/install-sh -c -d '/opt/homebrew/Cellar/libgcrypt/1.8.7/include'
mkdir: /opt/homebrew/Cellar/libgcrypt/1.8.7/lib: File exists
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libgcrypt.la '/opt/homebrew/Cellar/libgcrypt/1.8.7/lib'
 /usr/bin/install -c -m 644 gcrypt.h '/opt/homebrew/Cellar/libgcrypt/1.8.7/include'
 /usr/bin/install -c -m 644 libgcrypt.m4 '/opt/homebrew/Cellar/libgcrypt/1.8.7/share/aclocal'
 /usr/bin/install -c libgcrypt-config '/opt/homebrew/Cellar/libgcrypt/1.8.7/bin'
 /usr/bin/install -c -m 644 libgcrypt.pc '/opt/homebrew/Cellar/libgcrypt/1.8.7/lib/pkgconfig'
libtool: install: /usr/bin/install -c .libs/libgcrypt.20.dylib /opt/homebrew/Cellar/libgcrypt/1.8.7/lib/libgcrypt.20.dylib
libtool: install: (cd /opt/homebrew/Cellar/libgcrypt/1.8.7/lib && { ln -s -f libgcrypt.20.dylib libgcrypt.dylib || { rm -f libgcrypt.dylib && ln -s libgcrypt.20.dylib libgcrypt.dylib; }; })
libtool: install: /usr/bin/install -c .libs/libgcrypt.lai /opt/homebrew/Cellar/libgcrypt/1.8.7/lib/libgcrypt.la
libtool: install: /usr/bin/install -c .libs/libgcrypt.a /opt/homebrew/Cellar/libgcrypt/1.8.7/lib/libgcrypt.a
libtool: install: chmod 644 /opt/homebrew/Cellar/libgcrypt/1.8.7/lib/libgcrypt.a
libtool: install: ranlib /opt/homebrew/Cellar/libgcrypt/1.8.7/lib/libgcrypt.a
 ../build-aux/install-sh -c -d '/opt/homebrew/Cellar/libgcrypt/1.8.7/bin'
  /bin/sh ../libtool   --mode=install /usr/bin/install -c dumpsexp hmac256 mpicalc '/opt/homebrew/Cellar/libgcrypt/1.8.7/bin'
libtool: install: /usr/bin/install -c dumpsexp /opt/homebrew/Cellar/libgcrypt/1.8.7/bin/dumpsexp
libtool: install: /usr/bin/install -c hmac256 /opt/homebrew/Cellar/libgcrypt/1.8.7/bin/hmac256
libtool: install: /usr/bin/install -c .libs/mpicalc /opt/homebrew/Cellar/libgcrypt/1.8.7/bin/mpicalc
Making install in doc
/Applications/Xcode.app/Contents/Developer/usr/bin/make  install-am
make[3]: Nothing to be done for `install-exec-am'.
 ../build-aux/install-sh -c -d '/opt/homebrew/Cellar/libgcrypt/1.8.7/share/man/man1'
 ../build-aux/install-sh -c -d '/opt/homebrew/Cellar/libgcrypt/1.8.7/share/info'
 /usr/bin/install -c -m 644 hmac256.1 '/opt/homebrew/Cellar/libgcrypt/1.8.7/share/man/man1'
 /usr/bin/install -c -m 644 ./gcrypt.info ./gcrypt.info-1 ./gcrypt.info-2 '/opt/homebrew/Cellar/libgcrypt/1.8.7/share/info'
 install-info --info-dir='/opt/homebrew/Cellar/libgcrypt/1.8.7/share/info' '/opt/homebrew/Cellar/libgcrypt/1.8.7/share/info/gcrypt.info'
Making install in tests
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
filippo@Bistromath-M1 libgcrypt-1.8.7 % make check
Making check in compat
make[1]: Nothing to be done for `check'.
Making check in mpi
make[1]: Nothing to be done for `check'.
Making check in cipher
make[1]: Nothing to be done for `check'.
Making check in random
make[1]: Nothing to be done for `check'.
Making check in src
make[1]: Nothing to be done for `check'.
Making check in doc
/Applications/Xcode.app/Contents/Developer/usr/bin/make  check-am
make[2]: Nothing to be done for `check-am'.
Making check in tests
/Applications/Xcode.app/Contents/Developer/usr/bin/make  check-TESTS
version:1.8.7:10807:1.39:12700:
cc:40201:clang:Apple LLVM 12.0.0 (clang-1200.0.32.27):
ciphers:arcfour:blowfish:cast5:des:aes:twofish:serpent:rfc2268:seed:camellia:idea:salsa20:gost28147:chacha20:
pubkeys:dsa:elgamal:rsa:ecc:
digests:crc:gostr3411-94::md4:md5:rmd160:sha1:sha256:sha512:sha3:tiger:whirlpool:stribog:blake2:
rnd-mod:linux:
cpu-arch:arm:
mpi-asm:generic/mpih-add1.c:generic/mpih-sub1.c:generic/mpih-mul1.c:generic/mpih-mul2.c:generic/mpih-mul3.c:generic/mpih-lshift.c:generic/mpih-rshift.c:
hwflist:
fips-mode:n:n:
rng-type:standard:1:0:0:
PASS: version
PASS: t-secmem
PASS: mpitests
PASS: t-sexp
PASS: t-convert
PASS: t-mpi-bit
PASS: t-mpi-point
PASS: curves
PASS: t-lock
PASS: prime
PASS: basic
PASS: keygen
PASS: pubkey
PASS: hmac
PASS: hashtest
PASS: t-kdf
PASS: keygrip
PASS: fips186-dsa
PASS: aeswrap
PASS: pkcs1v2
/bin/sh: line 1: 44270 Killed: 9               GCRYPT_IN_REGRESSION_TEST=1 ${dir}$tst
FAIL: random
PASS: dsa-rfc6979
      256 of 1026 tests done
      512 of 1026 tests done
      768 of 1026 tests done
      1024 of 1026 tests done
      1026 tests done
PASS: t-ed25519
      18 tests done
PASS: t-cv25519
      now running 'basic' test with all hardware features disabled.
PASS: basic-disable-all-hwf
Note: benchmark running in quick regression test mode.
MD5              0ms     0ms    10ms    10ms     0ms
SHA1             0ms     0ms    10ms    10ms     0ms
RIPEMD160        0ms     0ms    10ms    10ms     0ms
TIGER192         0ms    10ms    10ms     0ms     0ms
SHA256           0ms    10ms    10ms    10ms     0ms
SHA384           0ms    10ms    10ms     0ms     0ms
SHA512           0ms    10ms    10ms     0ms     0ms
SHA224          10ms     0ms    10ms    10ms     0ms
MD4              0ms     0ms    10ms    10ms     0ms
CRC32            0ms     0ms    10ms     0ms     0ms
CRC32RFC1510     0ms     0ms    10ms     0ms     0ms
CRC24RFC2440     0ms     0ms    10ms     0ms    10ms
WHIRLPOOL        0ms     0ms    20ms     0ms     0ms
TIGER           10ms     0ms    10ms     0ms     0ms
TIGER2          10ms     0ms    10ms     0ms     0ms
GOSTR3411_94    20ms    20ms    20ms    20ms    10ms
STRIBOG256      10ms     0ms    20ms     0ms    10ms
STRIBOG512       0ms    10ms    10ms    10ms    10ms
GOSTR3411_CP    10ms    20ms    20ms    20ms    20ms
SHA3-224         0ms     0ms    10ms    10ms     0ms
SHA3-256         0ms    10ms    10ms     0ms    10ms
SHA3-384         0ms     0ms    20ms     0ms    10ms
SHA3-512         0ms     0ms    20ms    10ms     0ms
SHAKE128         0ms    10ms    10ms     0ms
SHAKE256         0ms    10ms    10ms    10ms
BLAKE2B_512      0ms     0ms    10ms     0ms     0ms
BLAKE2B_384      0ms    10ms     0ms    10ms     0ms
BLAKE2B_256      0ms     0ms    10ms     0ms     0ms
BLAKE2B_160     10ms     0ms    10ms     0ms     0ms
BLAKE2S_256      0ms    10ms    10ms     0ms     0ms
BLAKE2S_224      0ms    10ms    10ms     0ms     0ms
BLAKE2S_160      0ms    10ms    10ms     0ms     0ms
BLAKE2S_128      0ms    10ms    10ms     0ms     0ms

HMAC_SHA256             10ms     0ms    10ms
HMAC_SHA224              0ms     0ms    10ms
HMAC_SHA512              0ms     0ms    10ms
HMAC_SHA384              0ms     0ms    10ms
HMAC_SHA1                0ms     0ms    10ms
HMAC_MD5                 0ms     0ms    10ms
HMAC_MD4                 0ms     0ms     0ms
HMAC_RIPEMD160           0ms    10ms     0ms
HMAC_TIGER               0ms    10ms     0ms
HMAC_WHIRLPOOL           0ms    10ms     0ms
HMAC_GOSTR3411_94       20ms    20ms    10ms
HMAC_STRIBOG256         10ms    10ms     0ms
HMAC_STRIBOG512         10ms     0ms    10ms
HMAC_SHA3_224            0ms    10ms     0ms
HMAC_SHA3_256            0ms    10ms     0ms
HMAC_SHA3_384            0ms    10ms     0ms
HMAC_SHA3_512           10ms     0ms    10ms
CMAC_AES                 0ms     0ms    10ms
CMAC_3DES               30ms    30ms    30ms
CMAC_CAMELLIA           10ms     0ms    10ms
CMAC_CAST5              10ms     0ms    10ms
CMAC_BLOWFISH           10ms    10ms    10ms
CMAC_TWOFISH             0ms    10ms    10ms
CMAC_SERPENT            10ms    10ms    10ms
CMAC_SEED               20ms    10ms    10ms
CMAC_RFC2268            10ms    20ms    20ms
CMAC_IDEA               10ms    10ms    10ms
CMAC_GOST28147          20ms    10ms    20ms
GMAC_AES                 0ms     0ms     0ms
GMAC_CAMELLIA           10ms     0ms     0ms
GMAC_TWOFISH            10ms     0ms     0ms
GMAC_SERPENT            10ms     0ms     0ms
GMAC_SEED               10ms     0ms     0ms
POLY1305                 0ms     0ms    10ms
POLY1305_AES             0ms     0ms     0ms
POLY1305_CAMELLIA        0ms     0ms     0ms
POLY1305_TWOFISH         0ms    10ms     0ms
POLY1305_SERPENT         0ms     0ms     0ms
POLY1305_SEED            0ms     0ms     0ms

                ECB/Stream         CBC             CFB             OFB             CTR             XTS             CCM             GCM             OCB
             --------------- --------------- --------------- --------------- --------------- --------------- --------------- --------------- ---------------
IDEA            10ms    10ms    10ms    10ms    20ms    10ms    10ms    10ms    10ms    10ms       -       -       -       -       -       -       -       -
3DES            30ms    20ms    30ms    30ms    30ms    30ms    30ms    30ms    20ms    30ms       -       -       -       -       -       -       -       -
CAST5           10ms     0ms    10ms     0ms    10ms    10ms     0ms    10ms    10ms     0ms       -       -       -       -       -       -       -       -
BLOWFISH        10ms     0ms    10ms     0ms    10ms     0ms    10ms    10ms     0ms    10ms       -       -       -       -       -       -       -       -
AES              0ms    10ms     0ms     0ms    10ms     0ms     0ms    10ms     0ms     0ms     0ms    10ms     0ms    10ms    10ms     0ms    10ms     0ms
AES192           0ms    10ms     0ms    10ms     0ms     0ms    10ms     0ms    10ms     0ms     0ms    10ms    10ms     0ms    10ms    10ms     0ms    10ms
AES256           0ms     0ms    10ms     0ms    10ms     0ms    10ms     0ms    10ms     0ms     0ms    10ms    10ms    10ms    10ms     0ms    10ms     0ms
TWOFISH         10ms     0ms    10ms     0ms    10ms     0ms     0ms    10ms     0ms    10ms     0ms    10ms    10ms    10ms     0ms    10ms     0ms    10ms
ARCFOUR          0ms     0ms
DES             10ms    10ms    10ms    10ms    10ms    10ms    10ms    20ms    10ms     0ms       -       -       -       -       -       -       -       -
TWOFISH128      10ms     0ms    10ms     0ms    10ms     0ms    10ms     0ms    10ms     0ms     0ms    10ms    10ms    10ms     0ms    10ms    10ms     0ms
SERPENT128      10ms    10ms    20ms    10ms    10ms    10ms    20ms    10ms    10ms    10ms    10ms    20ms    20ms    30ms    10ms    20ms    10ms    10ms
SERPENT192      10ms    10ms    20ms    10ms    10ms    10ms    10ms    20ms    10ms    10ms    10ms    10ms    30ms    20ms    20ms    10ms    20ms    10ms
SERPENT256      10ms    10ms    20ms    10ms    10ms    10ms    10ms    20ms    10ms    10ms    10ms    10ms    30ms    20ms    20ms    10ms    20ms    10ms
RFC2268_40      10ms    10ms    20ms     0ms    20ms    10ms    20ms    20ms    10ms    10ms       -       -       -       -       -       -       -       -
RFC2268_128     20ms    10ms    10ms    10ms    20ms    10ms    20ms    10ms    20ms    10ms       -       -       -       -       -       -       -       -
SEED            10ms    10ms    10ms    10ms    10ms    10ms    10ms    10ms    10ms    10ms    10ms    10ms    20ms    20ms    10ms    20ms    10ms    10ms
CAMELLIA128      0ms    10ms     0ms    10ms     0ms    10ms     0ms    10ms    10ms     0ms    10ms     0ms    10ms    10ms    10ms    10ms    10ms     0ms
CAMELLIA192     10ms    10ms     0ms    10ms    10ms    10ms     0ms    10ms    10ms     0ms    10ms    10ms    10ms    20ms    10ms    10ms    10ms     0ms
CAMELLIA256     10ms    10ms    10ms     0ms    10ms    10ms    10ms     0ms    10ms    10ms     0ms    10ms    20ms    10ms    10ms    10ms    10ms    10ms
SALSA20          0ms     0ms
SALSA20R12       0ms     0ms
GOST28147       10ms    10ms    20ms    10ms    20ms    10ms    10ms    20ms    10ms    10ms       -       -       -       -       -       -       -       -
CHACHA20         0ms     0ms

Algorithm         generate   10*priv   10*public
------------------------------------------------
RSA 1024 bit          20ms      10ms         0ms
RSA 2048 bit          70ms      30ms         0ms
RSA 3072 bit         550ms     100ms         0ms
RSA 4096 bit        1980ms     210ms         0ms
ELG 1024 bit             -      10ms        10ms
ELG 2048 bit             -      30ms        20ms
ELG 3072 bit             -      70ms        40ms
DSA 1024/160             -       0ms        10ms
DSA 2048/224             -       0ms        10ms
DSA 3072/256             -      20ms        20ms
ECDSA 192 bit         10ms      10ms        10ms
ECDSA 224 bit          0ms      20ms        20ms
ECDSA 256 bit         10ms      10ms        20ms
ECDSA 384 bit         10ms      30ms        30ms
ECDSA 521 bit         30ms      70ms        80ms
EdDSA Ed25519         10ms      20ms        30ms
GOST  256 bit         10ms      10ms        20ms
GOST  512 bit         20ms      70ms        80ms

powm           0ms    10ms    20ms

random         0ms     0ms
PASS: benchmark
Note: bench-slope running in quick regression test mode.
Hash:
                |  nanosecs/byte   mebibytes/sec   cycles/byte
 MD5            |      1.86 ns/B     512.5 MiB/s         - c/B
 SHA1           |      1.44 ns/B     663.4 MiB/s         - c/B
 RIPEMD160      |      2.39 ns/B     398.8 MiB/s         - c/B
 TIGER192       |      1.40 ns/B     682.7 MiB/s         - c/B
 SHA256         |      3.01 ns/B     316.8 MiB/s         - c/B
 SHA384         |      1.81 ns/B     527.1 MiB/s         - c/B
 SHA512         |      1.80 ns/B     529.4 MiB/s         - c/B
 SHA224         |      3.08 ns/B     309.5 MiB/s         - c/B
 MD4            |      1.18 ns/B     806.6 MiB/s         - c/B
 CRC32          |     0.886 ns/B    1076.4 MiB/s         - c/B
 CRC32RFC1510   |     0.871 ns/B    1094.6 MiB/s         - c/B
 CRC24RFC2440   |     0.886 ns/B    1076.6 MiB/s         - c/B
 WHIRLPOOL      |      2.95 ns/B     323.4 MiB/s         - c/B
 TIGER          |      1.44 ns/B     663.4 MiB/s         - c/B
 TIGER2         |      1.44 ns/B     661.1 MiB/s         - c/B
 GOSTR3411_94   |     15.54 ns/B     61.36 MiB/s         - c/B
 STRIBOG256     |      4.53 ns/B     210.3 MiB/s         - c/B
 STRIBOG512     |      4.42 ns/B     215.7 MiB/s         - c/B
 GOSTR3411_CP   |     15.62 ns/B     61.05 MiB/s         - c/B
 SHA3-224       |      2.18 ns/B     437.4 MiB/s         - c/B
 SHA3-256       |      2.30 ns/B     415.2 MiB/s         - c/B
 SHA3-384       |      3.04 ns/B     313.7 MiB/s         - c/B
 SHA3-512       |      4.35 ns/B     219.2 MiB/s         - c/B
 SHAKE128       |      1.90 ns/B     502.9 MiB/s         - c/B
 SHAKE256       |      2.30 ns/B     415.2 MiB/s         - c/B
 BLAKE2B_512    |      1.27 ns/B     749.9 MiB/s         - c/B
 BLAKE2B_384    |      1.28 ns/B     746.1 MiB/s         - c/B
 BLAKE2B_256    |      1.29 ns/B     741.0 MiB/s         - c/B
 BLAKE2B_160    |      1.26 ns/B     756.4 MiB/s         - c/B
 BLAKE2S_256    |      2.15 ns/B     444.3 MiB/s         - c/B
 BLAKE2S_224    |      2.22 ns/B     428.7 MiB/s         - c/B
 BLAKE2S_160    |      2.21 ns/B     431.9 MiB/s         - c/B
 BLAKE2S_128    |      2.20 ns/B     434.1 MiB/s         - c/B
                =
MAC:
                    |  nanosecs/byte   mebibytes/sec   cycles/byte
 HMAC_SHA256        |      2.94 ns/B     324.2 MiB/s         - c/B
 HMAC_SHA224        |      2.96 ns/B     322.0 MiB/s         - c/B
 HMAC_SHA512        |      1.73 ns/B     551.6 MiB/s         - c/B
 HMAC_SHA384        |      1.72 ns/B     553.0 MiB/s         - c/B
 HMAC_SHA1          |      1.46 ns/B     653.1 MiB/s         - c/B
 HMAC_MD5           |      1.87 ns/B     509.2 MiB/s         - c/B
 HMAC_MD4           |      1.17 ns/B     811.7 MiB/s         - c/B
 HMAC_RIPEMD160     |      2.49 ns/B     382.3 MiB/s         - c/B
 HMAC_TIGER         |      1.43 ns/B     668.3 MiB/s         - c/B
 HMAC_WHIRLPOOL     |      2.98 ns/B     320.1 MiB/s         - c/B
 HMAC_GOSTR3411_94  |     15.22 ns/B     62.67 MiB/s         - c/B
 HMAC_STRIBOG256    |      4.43 ns/B     215.2 MiB/s         - c/B
 HMAC_STRIBOG512    |      4.49 ns/B     212.2 MiB/s         - c/B
 HMAC_SHA3_224      |      2.15 ns/B     444.3 MiB/s         - c/B
 HMAC_SHA3_256      |      2.22 ns/B     430.1 MiB/s         - c/B
 HMAC_SHA3_384      |      2.94 ns/B     324.7 MiB/s         - c/B
 HMAC_SHA3_512      |      4.20 ns/B     227.1 MiB/s         - c/B
 CMAC_AES           |      3.54 ns/B     269.5 MiB/s         - c/B
 CMAC_3DES          |     29.95 ns/B     31.84 MiB/s         - c/B
 CMAC_CAMELLIA      |      5.89 ns/B     161.8 MiB/s         - c/B
 CMAC_CAST5         |      8.45 ns/B     112.9 MiB/s         - c/B
 CMAC_BLOWFISH      |      8.54 ns/B     111.7 MiB/s         - c/B
 CMAC_TWOFISH       |      5.29 ns/B     180.4 MiB/s         - c/B
 CMAC_SERPENT       |     12.63 ns/B     75.52 MiB/s         - c/B
 CMAC_SEED          |     11.09 ns/B     85.98 MiB/s         - c/B
 CMAC_RFC2268       |     16.28 ns/B     58.60 MiB/s         - c/B
 CMAC_IDEA          |     11.86 ns/B     80.38 MiB/s         - c/B
 CMAC_GOST28147     |     14.57 ns/B     65.47 MiB/s         - c/B
 GMAC_AES           |      3.11 ns/B     306.3 MiB/s         - c/B
 GMAC_CAMELLIA      |      3.03 ns/B     314.7 MiB/s         - c/B
 GMAC_TWOFISH       |      3.08 ns/B     309.2 MiB/s         - c/B
 GMAC_SERPENT       |      3.11 ns/B     306.6 MiB/s         - c/B
 GMAC_SEED          |      3.05 ns/B     312.7 MiB/s         - c/B
 POLY1305           |     0.663 ns/B    1438.4 MiB/s         - c/B
 POLY1305_AES       |     0.689 ns/B    1384.6 MiB/s         - c/B
 POLY1305_CAMELLIA  |     0.683 ns/B    1396.4 MiB/s         - c/B
 POLY1305_TWOFISH   |     0.660 ns/B    1444.8 MiB/s         - c/B
 POLY1305_SERPENT   |     0.662 ns/B    1441.0 MiB/s         - c/B
 POLY1305_SEED      |     0.662 ns/B    1440.9 MiB/s         - c/B
                    =
Cipher:
 IDEA           |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |      9.34 ns/B     102.1 MiB/s         - c/B
        ECB dec |      9.34 ns/B     102.1 MiB/s         - c/B
        CBC enc |     11.69 ns/B     81.60 MiB/s         - c/B
        CBC dec |      9.21 ns/B     103.6 MiB/s         - c/B
        CFB enc |     11.69 ns/B     81.56 MiB/s         - c/B
        CFB dec |      9.17 ns/B     104.0 MiB/s         - c/B
        OFB enc |     11.26 ns/B     84.67 MiB/s         - c/B
        OFB dec |     11.33 ns/B     84.16 MiB/s         - c/B
        CTR enc |      9.28 ns/B     102.8 MiB/s         - c/B
        CTR dec |      9.39 ns/B     101.6 MiB/s         - c/B
                =
 3DES           |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |     26.40 ns/B     36.13 MiB/s         - c/B
        ECB dec |     26.66 ns/B     35.77 MiB/s         - c/B
        CBC enc |     30.19 ns/B     31.59 MiB/s         - c/B
        CBC dec |     26.52 ns/B     35.96 MiB/s         - c/B
        CFB enc |     29.55 ns/B     32.28 MiB/s         - c/B
        CFB dec |     26.49 ns/B     36.00 MiB/s         - c/B
        OFB enc |     29.38 ns/B     32.46 MiB/s         - c/B
        OFB dec |     29.63 ns/B     32.19 MiB/s         - c/B
        CTR enc |     26.46 ns/B     36.04 MiB/s         - c/B
        CTR dec |     26.42 ns/B     36.09 MiB/s         - c/B
                =
 CAST5          |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |      4.13 ns/B     230.6 MiB/s         - c/B
        ECB dec |      4.14 ns/B     230.6 MiB/s         - c/B
        CBC enc |      8.24 ns/B     115.8 MiB/s         - c/B
        CBC dec |      4.68 ns/B     203.6 MiB/s         - c/B
        CFB enc |      8.35 ns/B     114.2 MiB/s         - c/B
        CFB dec |      4.32 ns/B     220.9 MiB/s         - c/B
        OFB enc |      8.14 ns/B     117.1 MiB/s         - c/B
        OFB dec |      8.08 ns/B     118.0 MiB/s         - c/B
        CTR enc |      4.30 ns/B     221.9 MiB/s         - c/B
        CTR dec |      4.25 ns/B     224.2 MiB/s         - c/B
                =
 BLOWFISH       |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |      4.21 ns/B     226.7 MiB/s         - c/B
        ECB dec |      3.81 ns/B     250.6 MiB/s         - c/B
        CBC enc |      8.27 ns/B     115.3 MiB/s         - c/B
        CBC dec |      3.85 ns/B     247.6 MiB/s         - c/B
        CFB enc |      8.15 ns/B     117.0 MiB/s         - c/B
        CFB dec |      4.09 ns/B     232.9 MiB/s         - c/B
        OFB enc |      7.66 ns/B     124.5 MiB/s         - c/B
        OFB dec |      7.73 ns/B     123.4 MiB/s         - c/B
        CTR enc |      4.19 ns/B     227.3 MiB/s         - c/B
        CTR dec |      4.16 ns/B     229.2 MiB/s         - c/B
                =
 AES            |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |      3.09 ns/B     308.9 MiB/s         - c/B
        ECB dec |      3.20 ns/B     298.2 MiB/s         - c/B
        CBC enc |      3.48 ns/B     274.3 MiB/s         - c/B
        CBC dec |      2.88 ns/B     331.0 MiB/s         - c/B
        CFB enc |      3.49 ns/B     273.6 MiB/s         - c/B
        CFB dec |      2.89 ns/B     329.9 MiB/s         - c/B
        OFB enc |      3.32 ns/B     287.0 MiB/s         - c/B
        OFB dec |      3.35 ns/B     284.4 MiB/s         - c/B
        CTR enc |      2.95 ns/B     323.7 MiB/s         - c/B
        CTR dec |      2.92 ns/B     326.1 MiB/s         - c/B
        XTS enc |      3.36 ns/B     284.0 MiB/s         - c/B
        XTS dec |      3.39 ns/B     281.3 MiB/s         - c/B
        CCM enc |      6.35 ns/B     150.2 MiB/s         - c/B
        CCM dec |      6.42 ns/B     148.6 MiB/s         - c/B
       CCM auth |      3.49 ns/B     273.6 MiB/s         - c/B
        GCM enc |      5.89 ns/B     161.9 MiB/s         - c/B
        GCM dec |      5.93 ns/B     160.9 MiB/s         - c/B
       GCM auth |      3.15 ns/B     302.7 MiB/s         - c/B
        OCB enc |      3.24 ns/B     294.4 MiB/s         - c/B
        OCB dec |      3.28 ns/B     290.8 MiB/s         - c/B
       OCB auth |      3.16 ns/B     302.0 MiB/s         - c/B
                =
 AES192         |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |      3.73 ns/B     255.4 MiB/s         - c/B
        ECB dec |      3.87 ns/B     246.6 MiB/s         - c/B
        CBC enc |      4.11 ns/B     232.1 MiB/s         - c/B
        CBC dec |      3.49 ns/B     273.6 MiB/s         - c/B
        CFB enc |      4.12 ns/B     231.3 MiB/s         - c/B
        CFB dec |      3.62 ns/B     263.5 MiB/s         - c/B
        OFB enc |      3.94 ns/B     242.3 MiB/s         - c/B
        OFB dec |      3.96 ns/B     241.0 MiB/s         - c/B
        CTR enc |      3.57 ns/B     266.9 MiB/s         - c/B
        CTR dec |      3.58 ns/B     266.5 MiB/s         - c/B
        XTS enc |      3.90 ns/B     244.4 MiB/s         - c/B
        XTS dec |      4.02 ns/B     237.0 MiB/s         - c/B
        CCM enc |      7.66 ns/B     124.6 MiB/s         - c/B
        CCM dec |      7.87 ns/B     121.2 MiB/s         - c/B
       CCM auth |      4.10 ns/B     232.6 MiB/s         - c/B
        GCM enc |      6.73 ns/B     141.7 MiB/s         - c/B
        GCM dec |      6.55 ns/B     145.7 MiB/s         - c/B
       GCM auth |      3.13 ns/B     304.7 MiB/s         - c/B
        OCB enc |      3.80 ns/B     251.0 MiB/s         - c/B
        OCB dec |      3.90 ns/B     244.5 MiB/s         - c/B
       OCB auth |      3.75 ns/B     254.4 MiB/s         - c/B
                =
 AES256         |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |      4.37 ns/B     218.4 MiB/s         - c/B
        ECB dec |      4.39 ns/B     217.4 MiB/s         - c/B
        CBC enc |      4.65 ns/B     205.2 MiB/s         - c/B
        CBC dec |      4.17 ns/B     228.5 MiB/s         - c/B
        CFB enc |      4.79 ns/B     199.1 MiB/s         - c/B
        CFB dec |      4.21 ns/B     226.4 MiB/s         - c/B
        OFB enc |      4.54 ns/B     210.0 MiB/s         - c/B
        OFB dec |      4.59 ns/B     207.6 MiB/s         - c/B
        CTR enc |      4.08 ns/B     233.8 MiB/s         - c/B
        CTR dec |      4.18 ns/B     228.2 MiB/s         - c/B
        XTS enc |      4.54 ns/B     210.3 MiB/s         - c/B
        XTS dec |      4.76 ns/B     200.4 MiB/s         - c/B
        CCM enc |      8.94 ns/B     106.7 MiB/s         - c/B
        CCM dec |      8.83 ns/B     108.0 MiB/s         - c/B
       CCM auth |      4.79 ns/B     199.2 MiB/s         - c/B
        GCM enc |      7.14 ns/B     133.7 MiB/s         - c/B
        GCM dec |      7.35 ns/B     129.8 MiB/s         - c/B
       GCM auth |      3.13 ns/B     304.7 MiB/s         - c/B
        OCB enc |      4.41 ns/B     216.1 MiB/s         - c/B
        OCB dec |      4.36 ns/B     218.7 MiB/s         - c/B
       OCB auth |      4.57 ns/B     208.6 MiB/s         - c/B
                =
 TWOFISH        |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |      3.89 ns/B     245.4 MiB/s         - c/B
        ECB dec |      3.83 ns/B     248.9 MiB/s         - c/B
        CBC enc |      5.22 ns/B     182.7 MiB/s         - c/B
        CBC dec |      4.26 ns/B     223.9 MiB/s         - c/B
        CFB enc |      5.25 ns/B     181.7 MiB/s         - c/B
        CFB dec |      4.00 ns/B     238.5 MiB/s         - c/B
        OFB enc |      4.95 ns/B     192.7 MiB/s         - c/B
        OFB dec |      4.95 ns/B     192.7 MiB/s         - c/B
        CTR enc |      3.91 ns/B     243.7 MiB/s         - c/B
        CTR dec |      3.87 ns/B     246.6 MiB/s         - c/B
        XTS enc |      4.35 ns/B     219.4 MiB/s         - c/B
        XTS dec |      4.44 ns/B     214.9 MiB/s         - c/B
        CCM enc |      9.08 ns/B     105.0 MiB/s         - c/B
        CCM dec |      9.38 ns/B     101.7 MiB/s         - c/B
       CCM auth |      5.16 ns/B     184.7 MiB/s         - c/B
        GCM enc |      7.08 ns/B     134.7 MiB/s         - c/B
        GCM dec |      7.09 ns/B     134.5 MiB/s         - c/B
       GCM auth |      3.00 ns/B     318.1 MiB/s         - c/B
        OCB enc |      4.76 ns/B     200.3 MiB/s         - c/B
        OCB dec |      4.58 ns/B     208.2 MiB/s         - c/B
       OCB auth |      4.37 ns/B     218.3 MiB/s         - c/B
                =
 ARCFOUR        |  nanosecs/byte   mebibytes/sec   cycles/byte
     STREAM enc |     0.838 ns/B    1138.0 MiB/s         - c/B
     STREAM dec |     0.865 ns/B    1101.9 MiB/s         - c/B
                =
 DES            |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |      8.71 ns/B     109.5 MiB/s         - c/B
        ECB dec |      8.95 ns/B     106.5 MiB/s         - c/B
        CBC enc |     12.03 ns/B     79.29 MiB/s         - c/B
        CBC dec |      9.05 ns/B     105.4 MiB/s         - c/B
        CFB enc |     12.16 ns/B     78.41 MiB/s         - c/B
        CFB dec |      8.99 ns/B     106.1 MiB/s         - c/B
        OFB enc |     11.68 ns/B     81.64 MiB/s         - c/B
        OFB dec |     11.92 ns/B     79.99 MiB/s         - c/B
        CTR enc |      8.98 ns/B     106.2 MiB/s         - c/B
        CTR dec |      8.85 ns/B     107.8 MiB/s         - c/B
                =
 TWOFISH128     |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |      3.90 ns/B     244.5 MiB/s         - c/B
        ECB dec |      3.81 ns/B     250.3 MiB/s         - c/B
        CBC enc |      5.05 ns/B     188.9 MiB/s         - c/B
        CBC dec |      4.21 ns/B     226.4 MiB/s         - c/B
        CFB enc |      5.23 ns/B     182.3 MiB/s         - c/B
        CFB dec |      3.98 ns/B     239.4 MiB/s         - c/B
        OFB enc |      5.00 ns/B     190.9 MiB/s         - c/B
        OFB dec |      5.00 ns/B     190.9 MiB/s         - c/B
        CTR enc |      4.02 ns/B     237.1 MiB/s         - c/B
        CTR dec |      3.98 ns/B     239.4 MiB/s         - c/B
        XTS enc |      4.44 ns/B     214.9 MiB/s         - c/B
        XTS dec |      4.51 ns/B     211.2 MiB/s         - c/B
        CCM enc |      9.28 ns/B     102.7 MiB/s         - c/B
        CCM dec |      9.18 ns/B     103.9 MiB/s         - c/B
       CCM auth |      5.32 ns/B     179.2 MiB/s         - c/B
        GCM enc |      6.97 ns/B     136.8 MiB/s         - c/B
        GCM dec |      7.17 ns/B     133.1 MiB/s         - c/B
       GCM auth |      3.15 ns/B     302.6 MiB/s         - c/B
        OCB enc |      4.79 ns/B     198.9 MiB/s         - c/B
        OCB dec |      4.75 ns/B     200.7 MiB/s         - c/B
       OCB auth |      4.23 ns/B     225.6 MiB/s         - c/B
                =
 SERPENT128     |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |     11.47 ns/B     83.15 MiB/s         - c/B
        ECB dec |     10.91 ns/B     87.45 MiB/s         - c/B
        CBC enc |     12.54 ns/B     76.04 MiB/s         - c/B
        CBC dec |     11.01 ns/B     86.58 MiB/s         - c/B
        CFB enc |     12.76 ns/B     74.73 MiB/s         - c/B
        CFB dec |     11.49 ns/B     83.03 MiB/s         - c/B
        OFB enc |     12.38 ns/B     77.00 MiB/s         - c/B
        OFB dec |     12.55 ns/B     76.01 MiB/s         - c/B
        CTR enc |     11.57 ns/B     82.44 MiB/s         - c/B
        CTR dec |     11.48 ns/B     83.04 MiB/s         - c/B
        XTS enc |     12.54 ns/B     76.03 MiB/s         - c/B
        XTS dec |     11.26 ns/B     84.69 MiB/s         - c/B
        CCM enc |     23.86 ns/B     39.97 MiB/s         - c/B
        CCM dec |     24.53 ns/B     38.88 MiB/s         - c/B
       CCM auth |     12.84 ns/B     74.26 MiB/s         - c/B
        GCM enc |     14.73 ns/B     64.75 MiB/s         - c/B
        GCM dec |     14.34 ns/B     66.48 MiB/s         - c/B
       GCM auth |      3.05 ns/B     313.0 MiB/s         - c/B
        OCB enc |     12.21 ns/B     78.08 MiB/s         - c/B
        OCB dec |     11.43 ns/B     83.40 MiB/s         - c/B
       OCB auth |     11.84 ns/B     80.55 MiB/s         - c/B
                =
 SERPENT192     |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |     11.62 ns/B     82.07 MiB/s         - c/B
        ECB dec |     10.97 ns/B     86.92 MiB/s         - c/B
        CBC enc |     12.74 ns/B     74.86 MiB/s         - c/B
        CBC dec |     10.86 ns/B     87.82 MiB/s         - c/B
        CFB enc |     12.78 ns/B     74.62 MiB/s         - c/B
        CFB dec |     11.68 ns/B     81.62 MiB/s         - c/B
        OFB enc |     12.31 ns/B     77.46 MiB/s         - c/B
        OFB dec |     12.66 ns/B     75.36 MiB/s         - c/B
        CTR enc |     11.56 ns/B     82.51 MiB/s         - c/B
        CTR dec |     11.46 ns/B     83.21 MiB/s         - c/B
        XTS enc |     12.20 ns/B     78.16 MiB/s         - c/B
        XTS dec |     11.41 ns/B     83.55 MiB/s         - c/B
        CCM enc |     24.01 ns/B     39.72 MiB/s         - c/B
        CCM dec |     24.36 ns/B     39.15 MiB/s         - c/B
       CCM auth |     12.66 ns/B     75.36 MiB/s         - c/B
        GCM enc |     14.42 ns/B     66.12 MiB/s         - c/B
        GCM dec |     14.69 ns/B     64.92 MiB/s         - c/B
       GCM auth |      3.10 ns/B     307.3 MiB/s         - c/B
        OCB enc |     11.97 ns/B     79.67 MiB/s         - c/B
        OCB dec |     11.60 ns/B     82.19 MiB/s         - c/B
       OCB auth |     11.76 ns/B     81.12 MiB/s         - c/B
                =
 SERPENT256     |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |     11.59 ns/B     82.27 MiB/s         - c/B
        ECB dec |     11.03 ns/B     86.43 MiB/s         - c/B
        CBC enc |     12.74 ns/B     74.84 MiB/s         - c/B
        CBC dec |     10.86 ns/B     87.84 MiB/s         - c/B
        CFB enc |     12.51 ns/B     76.26 MiB/s         - c/B
        CFB dec |     11.75 ns/B     81.16 MiB/s         - c/B
        OFB enc |     12.56 ns/B     75.91 MiB/s         - c/B
        OFB dec |     12.38 ns/B     77.04 MiB/s         - c/B
        CTR enc |     11.45 ns/B     83.33 MiB/s         - c/B
        CTR dec |     11.52 ns/B     82.82 MiB/s         - c/B
        XTS enc |     12.04 ns/B     79.18 MiB/s         - c/B
        XTS dec |     11.33 ns/B     84.18 MiB/s         - c/B
        CCM enc |     23.95 ns/B     39.82 MiB/s         - c/B
        CCM dec |     24.18 ns/B     39.44 MiB/s         - c/B
       CCM auth |     12.67 ns/B     75.25 MiB/s         - c/B
        GCM enc |     14.39 ns/B     66.26 MiB/s         - c/B
        GCM dec |     14.39 ns/B     66.27 MiB/s         - c/B
       GCM auth |      3.01 ns/B     316.8 MiB/s         - c/B
        OCB enc |     12.14 ns/B     78.57 MiB/s         - c/B
        OCB dec |     11.39 ns/B     83.75 MiB/s         - c/B
       OCB auth |     11.88 ns/B     80.24 MiB/s         - c/B
                =
 RFC2268_40     |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |     13.61 ns/B     70.07 MiB/s         - c/B
        ECB dec |      7.80 ns/B     122.2 MiB/s         - c/B
        CBC enc |     15.92 ns/B     59.89 MiB/s         - c/B
        CBC dec |      7.93 ns/B     120.3 MiB/s         - c/B
        CFB enc |     16.12 ns/B     59.16 MiB/s         - c/B
        CFB dec |     13.44 ns/B     70.93 MiB/s         - c/B
        OFB enc |     16.03 ns/B     59.49 MiB/s         - c/B
        OFB dec |     15.82 ns/B     60.30 MiB/s         - c/B
        CTR enc |     13.43 ns/B     71.01 MiB/s         - c/B
        CTR dec |     13.61 ns/B     70.05 MiB/s         - c/B
                =
 RFC2268_128    |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |     13.56 ns/B     70.34 MiB/s         - c/B
        ECB dec |      7.95 ns/B     120.0 MiB/s         - c/B
        CBC enc |     16.20 ns/B     58.85 MiB/s         - c/B
        CBC dec |      7.94 ns/B     120.1 MiB/s         - c/B
        CFB enc |     16.30 ns/B     58.51 MiB/s         - c/B
        CFB dec |     13.38 ns/B     71.26 MiB/s         - c/B
        OFB enc |     15.97 ns/B     59.72 MiB/s         - c/B
        OFB dec |     15.85 ns/B     60.17 MiB/s         - c/B
        CTR enc |     13.30 ns/B     71.69 MiB/s         - c/B
        CTR dec |     13.32 ns/B     71.62 MiB/s         - c/B
                =
 SEED           |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |      9.00 ns/B     105.9 MiB/s         - c/B
        ECB dec |      8.99 ns/B     106.1 MiB/s         - c/B
        CBC enc |     11.12 ns/B     85.78 MiB/s         - c/B
        CBC dec |      9.18 ns/B     103.9 MiB/s         - c/B
        CFB enc |     10.95 ns/B     87.09 MiB/s         - c/B
        CFB dec |      9.26 ns/B     103.0 MiB/s         - c/B
        OFB enc |     10.38 ns/B     91.84 MiB/s         - c/B
        OFB dec |     10.36 ns/B     92.07 MiB/s         - c/B
        CTR enc |      9.09 ns/B     104.9 MiB/s         - c/B
        CTR dec |      8.99 ns/B     106.1 MiB/s         - c/B
        XTS enc |      9.55 ns/B     99.87 MiB/s         - c/B
        XTS dec |      9.51 ns/B     100.2 MiB/s         - c/B
        CCM enc |     20.08 ns/B     47.49 MiB/s         - c/B
        CCM dec |     20.22 ns/B     47.17 MiB/s         - c/B
       CCM auth |     11.16 ns/B     85.44 MiB/s         - c/B
        GCM enc |     12.13 ns/B     78.62 MiB/s         - c/B
        GCM dec |     11.93 ns/B     79.96 MiB/s         - c/B
       GCM auth |      3.03 ns/B     314.6 MiB/s         - c/B
        OCB enc |      9.63 ns/B     99.05 MiB/s         - c/B
        OCB dec |      9.43 ns/B     101.2 MiB/s         - c/B
       OCB auth |      9.51 ns/B     100.3 MiB/s         - c/B
                =
 CAMELLIA128    |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |      5.43 ns/B     175.6 MiB/s         - c/B
        ECB dec |      5.17 ns/B     184.3 MiB/s         - c/B
        CBC enc |      5.80 ns/B     164.5 MiB/s         - c/B
        CBC dec |      5.11 ns/B     186.7 MiB/s         - c/B
        CFB enc |      5.52 ns/B     172.7 MiB/s         - c/B
        CFB dec |      5.25 ns/B     181.7 MiB/s         - c/B
        OFB enc |      5.52 ns/B     172.9 MiB/s         - c/B
        OFB dec |      5.61 ns/B     170.0 MiB/s         - c/B
        CTR enc |      5.14 ns/B     185.4 MiB/s         - c/B
        CTR dec |      5.19 ns/B     183.7 MiB/s         - c/B
        XTS enc |      5.30 ns/B     180.0 MiB/s         - c/B
        XTS dec |      5.32 ns/B     179.4 MiB/s         - c/B
        CCM enc |     10.94 ns/B     87.18 MiB/s         - c/B
        CCM dec |     10.86 ns/B     87.84 MiB/s         - c/B
       CCM auth |      5.63 ns/B     169.3 MiB/s         - c/B
        GCM enc |      8.20 ns/B     116.2 MiB/s         - c/B
        GCM dec |      8.51 ns/B     112.1 MiB/s         - c/B
       GCM auth |      2.99 ns/B     319.0 MiB/s         - c/B
        OCB enc |      5.59 ns/B     170.6 MiB/s         - c/B
        OCB dec |      5.36 ns/B     178.0 MiB/s         - c/B
       OCB auth |      5.06 ns/B     188.6 MiB/s         - c/B
                =
 CAMELLIA192    |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |      6.79 ns/B     140.5 MiB/s         - c/B
        ECB dec |      6.96 ns/B     137.1 MiB/s         - c/B
        CBC enc |      7.47 ns/B     127.7 MiB/s         - c/B
        CBC dec |      6.97 ns/B     136.8 MiB/s         - c/B
        CFB enc |      7.38 ns/B     129.2 MiB/s         - c/B
        CFB dec |      7.09 ns/B     134.5 MiB/s         - c/B
        OFB enc |      7.30 ns/B     130.6 MiB/s         - c/B
        OFB dec |      7.20 ns/B     132.4 MiB/s         - c/B
        CTR enc |      6.94 ns/B     137.4 MiB/s         - c/B
        CTR dec |      6.96 ns/B     137.0 MiB/s         - c/B
        XTS enc |      7.09 ns/B     134.6 MiB/s         - c/B
        XTS dec |      7.44 ns/B     128.2 MiB/s         - c/B
        CCM enc |     14.89 ns/B     64.07 MiB/s         - c/B
        CCM dec |     14.38 ns/B     66.32 MiB/s         - c/B
       CCM auth |      7.43 ns/B     128.3 MiB/s         - c/B
        GCM enc |     10.00 ns/B     95.34 MiB/s         - c/B
        GCM dec |     10.41 ns/B     91.61 MiB/s         - c/B
       GCM auth |      3.08 ns/B     309.2 MiB/s         - c/B
        OCB enc |      7.14 ns/B     133.5 MiB/s         - c/B
        OCB dec |      7.30 ns/B     130.7 MiB/s         - c/B
       OCB auth |      6.75 ns/B     141.2 MiB/s         - c/B
                =
 CAMELLIA256    |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |      6.95 ns/B     137.2 MiB/s         - c/B
        ECB dec |      7.07 ns/B     134.8 MiB/s         - c/B
        CBC enc |      7.54 ns/B     126.5 MiB/s         - c/B
        CBC dec |      7.04 ns/B     135.5 MiB/s         - c/B
        CFB enc |      7.47 ns/B     127.6 MiB/s         - c/B
        CFB dec |      6.90 ns/B     138.3 MiB/s         - c/B
        OFB enc |      7.36 ns/B     129.6 MiB/s         - c/B
        OFB dec |      7.27 ns/B     131.2 MiB/s         - c/B
        CTR enc |      6.97 ns/B     136.7 MiB/s         - c/B
        CTR dec |      6.95 ns/B     137.3 MiB/s         - c/B
        XTS enc |      7.27 ns/B     131.3 MiB/s         - c/B
        XTS dec |      7.37 ns/B     129.4 MiB/s         - c/B
        CCM enc |     14.63 ns/B     65.20 MiB/s         - c/B
        CCM dec |     14.55 ns/B     65.55 MiB/s         - c/B
       CCM auth |      7.22 ns/B     132.0 MiB/s         - c/B
        GCM enc |     10.26 ns/B     92.97 MiB/s         - c/B
        GCM dec |     10.43 ns/B     91.48 MiB/s         - c/B
       GCM auth |      3.02 ns/B     315.8 MiB/s         - c/B
        OCB enc |      7.15 ns/B     133.4 MiB/s         - c/B
        OCB dec |      7.22 ns/B     132.2 MiB/s         - c/B
       OCB auth |      7.17 ns/B     133.1 MiB/s         - c/B
                =
 SALSA20        |  nanosecs/byte   mebibytes/sec   cycles/byte
     STREAM enc |      1.74 ns/B     546.6 MiB/s         - c/B
     STREAM dec |      1.70 ns/B     560.6 MiB/s         - c/B
                =
 SALSA20R12     |  nanosecs/byte   mebibytes/sec   cycles/byte
     STREAM enc |      1.08 ns/B     886.5 MiB/s         - c/B
     STREAM dec |      1.08 ns/B     885.0 MiB/s         - c/B
                =
 GOST28147      |  nanosecs/byte   mebibytes/sec   cycles/byte
        ECB enc |     10.62 ns/B     89.77 MiB/s         - c/B
        ECB dec |     10.88 ns/B     87.68 MiB/s         - c/B
        CBC enc |     14.69 ns/B     64.91 MiB/s         - c/B
        CBC dec |     10.63 ns/B     89.73 MiB/s         - c/B
        CFB enc |     14.72 ns/B     64.80 MiB/s         - c/B
        CFB dec |     10.81 ns/B     88.25 MiB/s         - c/B
        OFB enc |     14.14 ns/B     67.43 MiB/s         - c/B
        OFB dec |     14.27 ns/B     66.82 MiB/s         - c/B
        CTR enc |     11.00 ns/B     86.73 MiB/s         - c/B
        CTR dec |     11.01 ns/B     86.59 MiB/s         - c/B
                =
 CHACHA20       |  nanosecs/byte   mebibytes/sec   cycles/byte
     STREAM enc |      1.82 ns/B     523.3 MiB/s         - c/B
     STREAM dec |      1.85 ns/B     514.2 MiB/s         - c/B
   POLY1305 enc |      2.50 ns/B     382.1 MiB/s         - c/B
   POLY1305 dec |      2.41 ns/B     395.4 MiB/s         - c/B
  POLY1305 auth |     0.662 ns/B    1439.7 MiB/s         - c/B
                =
KDF:
                          |  nanosecs/iter   cycles/iter
 PBKDF2-HMAC-MD5          |          487.3             -
 PBKDF2-HMAC-SHA1         |          465.7             -
 PBKDF2-HMAC-RIPEMD160    |          630.6             -
 PBKDF2-HMAC-TIGER192     |          457.8             -
 PBKDF2-HMAC-SHA256       |          671.9             -
 PBKDF2-HMAC-SHA384       |         1022.5             -
 PBKDF2-HMAC-SHA512       |         1048.7             -
 PBKDF2-HMAC-SHA224       |          668.3             -
 PBKDF2-HMAC-WHIRLPOOL    |         1058.2             -
 PBKDF2-HMAC-TIGER        |          458.0             -
 PBKDF2-HMAC-TIGER2       |          478.5             -
 PBKDF2-HMAC-GOSTR3411_94 |         3041.4             -
 PBKDF2-HMAC-STRIBOG256   |         1977.4             -
 PBKDF2-HMAC-STRIBOG512   |         2495.1             -
 PBKDF2-HMAC-GOSTR3411_CP |         3063.2             -
 PBKDF2-HMAC-SHA3-224     |          758.9             -
 PBKDF2-HMAC-SHA3-256     |          748.4             -
 PBKDF2-HMAC-SHA3-384     |          790.7             -
 PBKDF2-HMAC-SHA3-512     |          763.9             -
 PBKDF2-HMAC-BLAKE2B_512  |          838.0             -
 PBKDF2-HMAC-BLAKE2B_384  |          792.9             -
 PBKDF2-HMAC-BLAKE2B_256  |          830.0             -
 PBKDF2-HMAC-BLAKE2B_160  |          796.8             -
 PBKDF2-HMAC-BLAKE2S_256  |          618.5             -
 PBKDF2-HMAC-BLAKE2S_224  |          652.8             -
 PBKDF2-HMAC-BLAKE2S_160  |          631.6             -
 PBKDF2-HMAC-BLAKE2S_128  |          613.7             -
                          =
PASS: bench-slope
SKIP: hashtest-256g
======================================
1 of 27 tests failed
(1 test was not run)
Please report to http://bugs.gnupg.org
======================================
make[2]: *** [check-TESTS] Error 1
make[1]: *** [check-am] Error 2
make: *** [check-recursive] Error 1
@ilomedia
Copy link

@ilomedia ilomedia commented Nov 30, 2020

node@12 fails on my M1 :

make[1]: *** No rule to make target /private/tmp/node@12-20201130-31110-17tsgce/node-v12.20.0/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/ssl_quic.o', needed by /private/tmp/node@12-20201130-31110-17tsgce/node-v12.20.0/out/Release/libopenssl.a'. Stop. make[1]: *** Waiting for unfinished jobs.... rm a392b870b0bc7cdf0385606dfab64b913f73710e.intermediate make: *** [node] Error 2

@nwjsmith
Copy link

@nwjsmith nwjsmith commented Nov 30, 2020

After that I would get "ninja not found" even though ninja is there. Out of intuition I tried to start a bash and noticed that it was missing a path to /opt/homebrew/bin so I created a .bashrc and after 28 minutes and 3 seconds it was ready.
Regarding the bash environment I'm not sure where in the build it is spawned. But what would be a proper way to implement that, as I could imagine that there are more *nix tools out there using bash in one of their build scripts and the default for new Mac installs now is zsh.
I think I could do the proper pull request for the rest.

@24naret I encountered the same issue but fixed it by adding depends_on "ninja" => :build to Rust's formula. This will make it available to the environment, no .bashrc edit necessary.

@unitof
Copy link
Contributor

@unitof unitof commented Nov 30, 2020

Are there plans (or would it be wise) to create on_intel and on_arm blocks for Formulae to do conditional branching, similar to on_macos and on_linux blocks?

I began playing around with some arch-conditional branching in a rust-beta tap I just made, based on @24naret & @richiksc's tip that arm64 support had arrive in Rust Beta: brew tap unitof/rust-beta.

@chadbrewbaker
Copy link

@chadbrewbaker chadbrewbaker commented Nov 30, 2020

pkg-config is still hosed.

brew install pkg-config
git clone https://github.com/llvm/llvm-project
cd llvm-project;
mkdir build; cd build;
cmake ../llvm
#barfs on linking cmath
@johnalanwoods
Copy link

@johnalanwoods johnalanwoods commented Nov 30, 2020

@chadbrewbaker, I'm using an arm64 build of pkg-config without issue. will try llvm now.

Update: yep works: https://pastebin.ubuntu.com/p/Ks2hm8fQ6C/

@hjelmn
Copy link

@hjelmn hjelmn commented Nov 30, 2020

@johnalanwoods llvm works. Built it while trying to update the ghc formula.

@tzakharko
Copy link

@tzakharko tzakharko commented Nov 30, 2020

Sorry for derailing the topic somewhat, but I noticed that a lot of formulas that depend on gcc in reality only need Fortran. Given how heavy gcc is, maybe it would make sense to split off gfortran as a separate dependency? With Flang being in active development, it is possible that the Fortran compiler of choice on Apple platforms will change in short to mid-term future, and a separate fortran formula would probably make changing these things simpler. I would be curios to hear some thoughts from the Homebrew team on this matter.

@fxcoudert
Copy link
Member

@fxcoudert fxcoudert commented Nov 30, 2020

@tzakharko switching the reference Fortran compiler from gfortran to flang might be possible one day, for sure. But right now, flang is not production-ready, and Apple does not ship flang as part of its compiler tools.

Regarding splitting gcc and gfortran, we have considered it and decided not to. GCC is heavy, but gfortran would not be small either: most of the runtime is shared, anyway. And splitting them would mean twice the build time for people who use both, and largely increased maintenance burden for us.

@tzakharko
Copy link

@tzakharko tzakharko commented Nov 30, 2020

@fxcoudert thanks for the explanation, it makes perfect sense to me now

@mbirth
Copy link

@mbirth mbirth commented Nov 30, 2020

@FiloSottile and @fxcoudert I found 2 ways for libgcrypt to pass the random test:

  1. Symlink the compiled libgcrypt.20.dylib into /usr/local/lib (as that's where random looks for it), or
  2. Disable SIP (reboot to Recovery, start Terminal, run csrutil disable)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.