Rust 1.51 broken on macOS 11.2.3 Apple M1

Eric eric.hoch2 at gmail.com
Wed Apr 7 11:17:30 UTC 2021


Hi all,

on sunday during "port update outdated" rust was going to be installed as a
dependency in order to update youtube-dl.

I'm running macOS 11.2.3 on an Apple M1 Chip with macports 2.6.4 installed
and all updates/upgrades installed. The package that got fetched for
building rust is:
rust-1.51.0_1.darwin_20.arm64.tbz2

This package builds just fine but breaks during the staging into destroot
process.

I did a sudo port clean rust (and a port clean rust), tried to install only
rust, but the error remains. It occurs in the rls module but its origin
seems to be during "compiling openssl-sys v0.9.58" . This compiling starts
to fail when the following message occurs:

:info:destroot   = note: Undefined symbols for architecture arm64:

The whole message leading to the error is as follows:
:info:destroot   = note: Undefined symbols for architecture arm64:
:info:destroot             "_RSA_get0_factors", referenced from:
:info:destroot                 _gen_publickey_from_rsa_openssh_priv_data in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_EVP_MD_CTX_new", referenced from:
:info:destroot                 __libssh2_rsa_sha1_verify in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 __libssh2_dsa_sha1_verify in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 __libssh2_ecdsa_verify in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 __libssh2_sha1_init in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 __libssh2_sha256_init in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 __libssh2_sha384_init in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 __libssh2_sha512_init in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 ...
:info:destroot             "_DSA_get0_key", referenced from:
:info:destroot                 _gen_publickey_from_dsa_evp in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_EVP_PKEY_get_raw_public_key", referenced from:
:info:destroot                 _gen_publickey_from_ed_evp in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_EVP_PKEY_new_raw_private_key", referenced from:
:info:destroot                 __libssh2_curve25519_new in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot
_gen_publickey_from_ed25519_openssh_priv_data in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 __libssh2_curve25519_gen_k in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_EVP_DigestSign", referenced from:
:info:destroot                 __libssh2_ed25519_sign in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_HMAC_CTX_new", referenced from:
:info:destroot                 _mac_method_hmac_sha2_256_hash in
liblibssh2_sys-d8bd449a6de14817.rlib(mac.o)
:info:destroot                 _mac_method_hmac_sha2_512_hash in
liblibssh2_sys-d8bd449a6de14817.rlib(mac.o)
:info:destroot                 _mac_method_hmac_sha1_hash in
liblibssh2_sys-d8bd449a6de14817.rlib(mac.o)
:info:destroot                 _mac_method_hmac_md5_hash in
liblibssh2_sys-d8bd449a6de14817.rlib(mac.o)
:info:destroot                 _mac_method_hmac_ripemd160_hash in
liblibssh2_sys-d8bd449a6de14817.rlib(mac.o)
:info:destroot             "_DSA_get0_pqg", referenced from:
:info:destroot                 _gen_publickey_from_dsa_evp in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_EVP_PKEY_new_raw_public_key", referenced from:
:info:destroot                 __libssh2_ed25519_new_public in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 __libssh2_curve25519_gen_k in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_ASN1_STRING_get0_data", referenced from:
:info:destroot                 __libssh2_curve25519_new in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_DSA_SIG_set0", referenced from:
:info:destroot                 __libssh2_dsa_sha1_verify in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_ECDSA_SIG_set0", referenced from:
:info:destroot                 __libssh2_ecdsa_verify in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_DSA_set0_key", referenced from:
:info:destroot                 __libssh2_dsa_new in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_RSA_get0_key", referenced from:
:info:destroot                 _gen_publickey_from_rsa_evp in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 _gen_publickey_from_rsa_openssh_priv_data in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_DSA_SIG_get0", referenced from:
:info:destroot                 __libssh2_dsa_sha1_sign in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_RSA_set0_factors", referenced from:
:info:destroot                 __libssh2_rsa_new in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_DSA_set0_pqg", referenced from:
:info:destroot                 __libssh2_dsa_new in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_RSA_set0_key", referenced from:
:info:destroot                 __libssh2_rsa_new in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_EVP_MD_CTX_free", referenced from:
:info:destroot                 _hostkey_method_ssh_ecdsa_signv in
liblibssh2_sys-d8bd449a6de14817.rlib(hostkey.o)
:info:destroot                 _hostkey_method_ssh_rsa_signv in
liblibssh2_sys-d8bd449a6de14817.rlib(hostkey.o)
:info:destroot                 _hostkey_method_ssh_dss_signv in
liblibssh2_sys-d8bd449a6de14817.rlib(hostkey.o)
:info:destroot                 __libssh2_rsa_sha1_verify in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 __libssh2_dsa_sha1_verify in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 __libssh2_ecdsa_verify in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 __libssh2_sha1_init in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 ...
:info:destroot             "_EVP_DigestVerify", referenced from:
:info:destroot                 __libssh2_ed25519_verify in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_RSA_set0_crt_params", referenced from:
:info:destroot                 __libssh2_rsa_new in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot                 _gen_publickey_from_rsa_openssh_priv_data in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_HMAC_CTX_free", referenced from:
:info:destroot                 _mac_method_hmac_sha2_256_hash in
liblibssh2_sys-d8bd449a6de14817.rlib(mac.o)
:info:destroot                 _mac_method_hmac_sha2_512_hash in
liblibssh2_sys-d8bd449a6de14817.rlib(mac.o)
:info:destroot                 _mac_method_hmac_sha1_hash in
liblibssh2_sys-d8bd449a6de14817.rlib(mac.o)
:info:destroot                 _mac_method_hmac_md5_hash in
liblibssh2_sys-d8bd449a6de14817.rlib(mac.o)
:info:destroot                 _mac_method_hmac_ripemd160_hash in
liblibssh2_sys-d8bd449a6de14817.rlib(mac.o)
:info:destroot             "_ECDSA_SIG_get0", referenced from:
:info:destroot                 __libssh2_ecdsa_sign in
liblibssh2_sys-d8bd449a6de14817.rlib(openssl.o)
:info:destroot             "_OPENSSL_init_ssl", referenced from:
:info:destroot
std::sync::once::Once::call_once::_$u7b$$u7b$closure$u7d$$u7d$::he3a9a3cc564b3e3b
(.llvm.12220356317319455937) in
libopenssl_sys-eed96dc20e14aca3.rlib(openssl_sys-eed96dc20e14aca3.openssl_sys.dk3paske-cgu.0.rcgu.o)
:info:destroot
core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h474227a3917c4328
(.llvm.12220356317319455937) in
libopenssl_sys-eed96dc20e14aca3.rlib(openssl_sys-eed96dc20e14aca3.openssl_sys.dk3paske-cgu.0.rcgu.o)
:info:destroot           ld: symbol(s) not found for architecture arm64
:info:destroot           clang: error: linker command failed with exit code
1 (use -v to see invocation)
:info:destroot
:info:destroot error: aborting due to previous error
:info:destroot Did not run successfully: exit code: 1

While the final error in rls is:
:info:destroot -------------
:info:destroot error: could not compile `rls`
:info:destroot To learn more, run the command again with --verbose.
:info:destroot command did not execute successfully:
"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/rustc-1.51.0-src/build/stage0-aarch64/bin/cargo"
"build" "--target" "aarch64-apple-darwin" "-Zbinary-dep-depinfo" "-j" "8"
"--release" "--frozen" "--manifest-path"
"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/rustc-1.51.0-src/src/tools/rls/Cargo.toml"
"--features" "clippy" "--message-format" "json-render-diagnostics"
:info:destroot expected success, got: exit code: 101
:info:destroot       < ToolBuild { compiler: Compiler { stage: 2, host:
TargetSelection { triple: "aarch64-apple-darwin", file: None } }, target:
TargetSelection { triple: "aarch64-apple-darwin", file: None }, tool:
"rls", path: "src/tools/rls", mode: ToolRustc, is_optional_tool: true,
source_type: Submodule, extra_features: ["clippy"] }
:info:destroot     < Rls { compiler: Compiler { stage: 2, host:
TargetSelection { triple: "aarch64-apple-darwin", file: None } }, target:
TargetSelection { triple: "aarch64-apple-darwin", file: None },
extra_features: [] }
:info:destroot thread 'main' panicked at 'Unable to build RLS',
src/bootstrap/dist.rs:44:9
:info:destroot note: run with `RUST_BACKTRACE=1` environment variable to
display a backtrace
:info:destroot Traceback (most recent call last):
:info:destroot   File
"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/rustc-1.51.0-src/src/bootstrap/bootstrap.py",
line 1140, in <module>
:info:destroot     main()
:info:destroot   File
"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/rustc-1.51.0-src/src/bootstrap/bootstrap.py",
line 1123, in main
:info:destroot     bootstrap(help_triggered)
:info:destroot   File
"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/rustc-1.51.0-src/src/bootstrap/bootstrap.py",
line 1109, in bootstrap
:info:destroot     run(args, env=env, verbose=build.verbose)
:info:destroot   File
"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/rustc-1.51.0-src/src/bootstrap/bootstrap.py",
line 153, in run
:info:destroot     raise RuntimeError(err)
:info:destroot RuntimeError: failed to run:
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/rustc-1.51.0-src/build/bootstrap/debug/bootstrap
install -v
:info:destroot make: *** [install] Error 1
:info:destroot make: Leaving directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/rustc-1.51.0-src'
:info:destroot Command failed:  cd
"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/rustc-1.51.0-src"
&& /usr/bin/make -w install VERBOSE=1
DESTDIR=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_rust/rust/work/destroot

:info:destroot Exit code: 2
:error:destroot Failed to destroot rust: command execution failed
:debug:destroot Error code: CHILDSTATUS 84222 2
:debug:destroot Backtrace: command execution failed
:debug:destroot     while executing
:debug:destroot "system {*}$notty {*}$nice $fullcmdstring"
:debug:destroot     invoked from within
:debug:destroot "command_exec destroot"
:debug:destroot     (procedure "portdestroot::destroot_main" line 2)
:debug:destroot     invoked from within
:debug:destroot "$procedure $targetname"

Could it be that openssl-sys (
https://github.com/sfackler/rust-openssl/tree/master/openssl-sys) doesn't
compile on arm64 yet or not in the context of building rust 1.51.0 on arm64?

I found this issue https://trac.macports.org/ticket/62252 but I'm not quite
sure if my problem is related to it and if I should reopen it or file a new
one.

rust 1.50.x_x. too failed the first time but a sudo clean rust helped in
that case.

It seems as more and more of my outdated ports rely on rust, so I hope that
this gets fixed soon.

At the moment I try a clean build of rust and see what happens. I will save
the main.log. If needed I can provide a man.log from the above failed build.

Kind regards,
Eric Hoch


-- 
Eric Hoch
mailto: eric.hoch2 at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-users/attachments/20210407/f5a8a5a6/attachment.htm>


More information about the macports-users mailing list