davisp / jiffy

JSON NIFs for Erlang
Other
869 stars 319 forks source link

Failed to load NIF library (OTP 22, OSX M1 chip) #227

Closed DennisKh closed 1 year ago

DennisKh commented 1 year ago

I got the error when I try to run my phoenix project.

[warn] The on_load function for module jiffy returned: {:error, {:load_failed, 'Failed to load NIF library: \'dlopen(/private/var/www/elixir/test_project/_build/dev/lib/jiffy/priv/jiffy.so, 0x0002): tried: \'/private/var/www/elixir/test_project/_build/dev/lib/jiffy/priv/jiffy.so\' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e))), \'/private/var/www/elixir/test_project/deps/jiffy/priv/jiffy.so\' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)))\''}}

** (UndefinedFunctionError) function :jiffy.encode/2 is undefined (module :jiffy is not available)

MacOS Monterey Version 12.6.4 Chip Apple M1 Pro

elixir 1.10.4 erlang 22.3.4.25 clang version 12.0.5 (clang-1205.0.22.9)

Jiffy version "jiffy": {:hex, :jiffy, "1.0.8", "60e36f00be35e5ac6e6cf2d4caf3bdf3103d4460aff385f543a8d7df2d6d9613", [:rebar3], [], "hexpm", "f9ae986ba5a0854eb48cf6a76192d9367086da86c20197da430630be7c087a4e"}

DennisKh commented 1 year ago

Updated jiffy to the v1.1.1 and reinstall erlang with --enable-darwin-64bit flag, it fixed the issue