Closed dalezak closed 3 years ago
It looks like it's trying to use the wrong shared library (libargon2.dylib
instead of libargon2.arm64.dylib
). Can you paste the output of RbConfig::CONFIG["arch"]
?
Edit: RbConfig::CONFIG["host_cpu"]
would be useful as well.
RbConfig::CONFIG["arch"]
=> "-darwin20"
RbConfig::CONFIG["host_cpu"]
=> "arm"
{"DESTDIR"=>"",
"MAJOR"=>"2",
"MINOR"=>"6",
"TEENY"=>"6",
"PATCHLEVEL"=>"146",
"INSTALL"=>"/opt/homebrew/opt/coreutils/bin/ginstall -c",
"EXEEXT"=>"",
"prefix"=>"/Users/dale/.rvm/rubies/ruby-2.6.6",
"ruby_install_name"=>"ruby",
"RUBY_INSTALL_NAME"=>"ruby",
"RUBY_SO_NAME"=>"ruby.2.6",
"exec"=>"exec",
"ruby_pc"=>"ruby-2.6.pc",
"CC_WRAPPER"=>"",
"PACKAGE"=>"ruby",
"BUILTIN_TRANSSRCS"=>" enc/trans/newline.c",
"MANTYPE"=>"doc",
"vendorarchhdrdir"=>
"/Users/dale/.rvm/rubies/ruby-2.6.6/include/ruby-2.6.0/vendor_ruby/-darwin20",
"sitearchhdrdir"=>
"/Users/dale/.rvm/rubies/ruby-2.6.6/include/ruby-2.6.0/site_ruby/-darwin20",
"rubyarchhdrdir"=>
"/Users/dale/.rvm/rubies/ruby-2.6.6/include/ruby-2.6.0/-darwin20",
"vendorhdrdir"=>
"/Users/dale/.rvm/rubies/ruby-2.6.6/include/ruby-2.6.0/vendor_ruby",
"sitehdrdir"=>
"/Users/dale/.rvm/rubies/ruby-2.6.6/include/ruby-2.6.0/site_ruby",
"rubyhdrdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/include/ruby-2.6.0",
"RUBY_SEARCH_PATH"=>"",
"UNIVERSAL_INTS"=>"",
"UNIVERSAL_ARCHNAMES"=>"",
"configure_args"=>
" '--prefix=/Users/dale/.rvm/rubies/ruby-2.6.6' '' '--with-opt-dir=/opt/homebrew/opt/libyaml:/opt/homebrew/opt/libksba:/opt/homebrew/opt/readline:/opt/homebrew/opt/zlib:/opt/homebrew/opt/openssl@1.1' '--disable-install-doc' '--enable-shared' 'build_alias=' 'host_alias=' 'target_alias=' 'CC=gcc'",
"CONFIGURE"=>"configure",
"vendorarchdir"=>
"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/ruby/vendor_ruby/2.6.0/-darwin20",
"vendorlibdir"=>
"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/ruby/vendor_ruby/2.6.0",
"vendordir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/ruby/vendor_ruby",
"sitearchdir"=>
"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/ruby/site_ruby/2.6.0/-darwin20",
"sitelibdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/ruby/site_ruby/2.6.0",
"sitedir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/ruby/site_ruby",
"rubyarchdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/-darwin20",
"rubylibdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0",
"ruby_version"=>"2.6.0",
"sitearch"=>"-darwin20",
"arch"=>"-darwin20",
"sitearchincludedir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/include/-darwin20",
"archincludedir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/include/-darwin20",
"sitearchlibdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/-darwin20",
"archlibdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/-darwin20",
"libdirname"=>"libdir",
"RUBY_EXEC_PREFIX"=>"/Users/dale/.rvm/rubies/ruby-2.6.6",
"RUBY_LIB_VERSION"=>"",
"RUBY_LIB_VERSION_STYLE"=>"3\t/* full */",
"RI_BASE_NAME"=>"ri",
"ridir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/share/ri",
"rubysitearchprefix"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/ruby/-darwin20",
"rubyarchprefix"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/ruby/-darwin20",
"MAKEFILES"=>"Makefile GNUmakefile",
"PLATFORM_DIR"=>"",
"THREAD_MODEL"=>"pthread",
"SYMBOL_PREFIX"=>"_",
"EXPORT_PREFIX"=>"",
"COMMON_HEADERS"=>"",
"COMMON_MACROS"=>"",
"COMMON_LIBS"=>"",
"MAINLIBS"=>"-lpthread -ldl -lobjc",
"ENABLE_SHARED"=>"yes",
"DLDSHARED"=>"gcc -dynamiclib",
"DLDLIBS"=>"",
"SOLIBS"=>"-lpthread -ldl -lobjc",
"LIBRUBYARG_SHARED"=>"-lruby.2.6",
"LIBRUBYARG_STATIC"=>
"-lruby.2.6-static -framework Security -framework Foundation -lpthread -ldl -lobjc",
"LIBRUBYARG"=>"-lruby.2.6",
"LIBRUBY"=>"libruby.2.6.dylib",
"LIBRUBY_ALIASES"=>"libruby.dylib",
"LIBRUBY_SONAME"=>"libruby.2.6.dylib",
"LIBRUBY_SO"=>"libruby.2.6.dylib",
"LIBRUBY_A"=>"libruby.2.6-static.a",
"RUBYW_INSTALL_NAME"=>"",
"rubyw_install_name"=>"",
"EXTDLDFLAGS"=>"",
"EXTLDFLAGS"=>"",
"strict_warnflags"=>"",
"warnflags"=>
"-Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens",
"debugflags"=>"-ggdb3",
"optflags"=>"-Wno-error=implicit-function-declaration",
"NULLCMD"=>":",
"ENABLE_DEBUG_ENV"=>"",
"DLNOBJ"=>"dln.o",
"INSTALL_STATIC_LIBRARY"=>"no",
"MJIT_SUPPORT"=>"yes",
"EXECUTABLE_EXTS"=>"",
"ARCHFILE"=>"",
"LIBRUBY_RELATIVE"=>"no",
"EXTOUT"=>".ext",
"PREP"=>"miniruby exe/$(PROGRAM)",
"CROSS_COMPILING"=>"no",
"TEST_RUNNABLE"=>"yes",
"rubylibprefix"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/ruby",
"setup"=>"Setup",
"ENCSTATIC"=>"",
"EXTSTATIC"=>"",
"STRIP"=>"strip -A -n",
"SOEXT"=>"dylib",
"TRY_LINK"=>"",
"PRELOADENV"=>"DYLD_INSERT_LIBRARIES",
"LIBPATHENV"=>"DYLD_FALLBACK_LIBRARY_PATH",
"RPATHFLAG"=>"",
"LIBPATHFLAG"=>" -L%s",
"LINK_SO"=>
"\n" +
"dsymutil $@; { test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' -f $@; }",
"ASMEXT"=>"S",
"LIBEXT"=>"a",
"DLEXT2"=>"",
"DLEXT"=>"bundle",
"LDSHAREDXX"=>"g++ -dynamic -bundle",
"LDSHARED"=>"gcc -dynamic -bundle",
"CCDLFLAGS"=>"-fno-common",
"STATIC"=>"",
"ARCH_FLAG"=>"",
"DLDFLAGS"=>
"-Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/libksba/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/zlib/lib -L/opt/homebrew/opt/openssl@1.1/lib",
"ALLOCA"=>"",
"MATHN"=>"yes",
"dsymutil"=>"dsymutil",
"codesign"=>"codesign",
"POSTLINK"=>
"dsymutil $@; { test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' -f $@; }",
"WERRORFLAG"=>"-Werror",
"CHDIR"=>"cd -P",
"RMALL"=>"rm -fr",
"RMDIRS"=>"rmdir -p",
"RMDIR"=>"rmdir",
"CP"=>"cp",
"RM"=>"rm -f",
"PKG_CONFIG"=>"pkg-config",
"DOXYGEN"=>"",
"DOT"=>"",
"MAKEDIRS"=>"/opt/homebrew/opt/coreutils/bin/gmkdir -p",
"MKDIR_P"=>"/opt/homebrew/opt/coreutils/bin/gmkdir -p",
"INSTALL_DATA"=>"/opt/homebrew/opt/coreutils/bin/ginstall -c -m 644",
"INSTALL_SCRIPT"=>"/opt/homebrew/opt/coreutils/bin/ginstall -c",
"INSTALL_PROGRAM"=>"/opt/homebrew/opt/coreutils/bin/ginstall -c",
"SET_MAKE"=>"",
"LN_S"=>"ln -s",
"NM"=>"nm",
"DLLWRAP"=>"",
"WINDRES"=>"",
"OBJCOPY"=>":",
"OBJDUMP"=>"objdump",
"ASFLAGS"=>"",
"AS"=>"as",
"ARFLAGS"=>"-no_warning_for_no_symbols -o ",
"AR"=>"libtool -static",
"RANLIB"=>":",
"try_header"=>"",
"CC_VERSION_MESSAGE"=>
"Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1\n" +
"Apple clang version 12.0.0 (clang-1200.0.32.28)\n" +
"Target: arm64-apple-darwin20.2.0\n" +
"Thread model: posix\n" +
"InstalledDir: /Library/Developer/CommandLineTools/usr/bin",
"CC_VERSION"=>"gcc --version",
"MJIT_CC"=>"/usr/bin/gcc",
"CSRCFLAG"=>"",
"COUTFLAG"=>"-o ",
"OUTFLAG"=>"-o ",
"CPPOUTFILE"=>"-o conftest.i",
"GNU_LD"=>"no",
"LD"=>"ld",
"GCC"=>"yes",
"EGREP"=>"/usr/bin/grep -E",
"GREP"=>"/usr/bin/grep",
"CPP"=>"gcc -E",
"CXXFLAGS"=>
"-Wno-error=implicit-function-declaration -ggdb3 -Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens",
"CXX"=>"g++",
"OBJEXT"=>"o",
"CPPFLAGS"=>
" -I/opt/homebrew/opt/libyaml/include -I/opt/homebrew/opt/libksba/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/zlib/include -I/opt/homebrew/opt/openssl@1.1/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT ",
"LDFLAGS"=>
"-L. -fstack-protector-strong -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/libksba/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/zlib/lib -L/opt/homebrew/opt/openssl@1.1/lib",
"CFLAGS"=>
"-Wno-error=implicit-function-declaration -ggdb3 -Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -fno-common -pipe",
"CC"=>"gcc",
"target_os"=>"darwin20",
"target_vendor"=>"apple",
"target_cpu"=>"",
"target"=>"-apple-darwin20",
"host_os"=>"darwin20.2.0",
"host_vendor"=>"apple",
"host_cpu"=>"arm",
"host"=>"arm-apple-darwin20.2.0",
"RUBY_VERSION_NAME"=>"ruby-2.6.0",
"RUBYW_BASE_NAME"=>"rubyw",
"RUBY_BASE_NAME"=>"ruby",
"build_os"=>"darwin20.2.0",
"build_vendor"=>"apple",
"build_cpu"=>"arm",
"build"=>"arm-apple-darwin20.2.0",
"RUBY_API_VERSION"=>"2.6",
"RUBY_PROGRAM_VERSION"=>"2.6.6",
"HAVE_GIT"=>"yes",
"GIT"=>"git",
"cxxflags"=>
"-Wno-error=implicit-function-declaration -ggdb3 -Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens",
"cppflags"=>"",
"cflags"=>
"-Wno-error=implicit-function-declaration -ggdb3 -Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens",
"target_alias"=>"",
"host_alias"=>"",
"build_alias"=>"",
"LIBS"=>"",
"ECHO_T"=>"",
"ECHO_N"=>"",
"ECHO_C"=>"\\\\c",
"DEFS"=>"",
"mandir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/share/man",
"localedir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/share/locale",
"libdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/lib",
"psdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/share/doc/ruby",
"pdfdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/share/doc/ruby",
"dvidir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/share/doc/ruby",
"htmldir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/share/doc/ruby",
"infodir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/share/info",
"docdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/share/doc/ruby",
"oldincludedir"=>"/usr/include",
"includedir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/include",
"runstatedir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/var/run",
"localstatedir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/var",
"sharedstatedir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/com",
"sysconfdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/etc",
"datadir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/share",
"datarootdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/share",
"libexecdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/libexec",
"sbindir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/sbin",
"bindir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/bin",
"exec_prefix"=>"/Users/dale/.rvm/rubies/ruby-2.6.6",
"PACKAGE_URL"=>"",
"PACKAGE_BUGREPORT"=>"",
"PACKAGE_STRING"=>"",
"PACKAGE_VERSION"=>"",
"PACKAGE_TARNAME"=>"",
"PACKAGE_NAME"=>"",
"PATH_SEPARATOR"=>":",
"SHELL"=>"/bin/sh",
"UNICODE_VERSION"=>"12.1.0",
"UNICODE_EMOJI_VERSION"=>"12.0",
"SDKROOT"=>"",
"archdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/-darwin20",
"topdir"=>"/Users/dale/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/-darwin20"}
Thanks @dalezak! Can you paste Gem::Platform.local
and Gem::Platform.local.to_s
as well? After looking into it more, I think that may be the cleanest to use.
Edit: Also, how was RVM installed? The arch
output seems odd.
Gem::Platform.local
=> #<Gem::Platform:0x000000012d836458 @cpu="", @os="darwin", @version="20" @cpu="", @os="darwin", @version="20">
Gem::Platform.local.to_s
=> "-darwin-20"
Thanks @dalezak. It looks like Gem::Platform.local
uses arch
internally (and also JRuby doesn't include the cpu type in arch
), so seems like host_cpu
is best to use. Just pushed out a new release (0.1.5).
I think the arch
may cause issues with gems prepackaged for specific platforms (for instance, there's a arm64-darwin
release of Nokogiri, but my guess is it won't be picked up on your machine). If it's a typical RVM install, it may be worth reporting to RVM.
Edit: You can run gem install nokogiri
to see if that's the case. Installation should be pretty much instant and it should output nokogiri-1.11.0-arm64-darwin
if the prepackaged version is used.
Thank you @ankane, the 0.1.5
release worked, you are amazing!! 🤩
I'm getting the error
argon2-kdf-0.1.4/vendor/libargon2.dylib, 9): no suitable image found
on new MacBook Pro with M1 chip:Is there a known problem with
blind_index
on M1 chips? Or do you think something else is causing this error?