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

Failed to build on Mac m1 #16072

Closed
tengpeng opened this issue Mar 23, 2021 · 4 comments · Fixed by #16346
Closed

Failed to build on Mac m1 #16072

tengpeng opened this issue Mar 23, 2021 · 4 comments · Fixed by #16346
Labels
good first issue Good for newcomers
Milestone

Comments

@tengpeng
Copy link

tengpeng commented Mar 23, 2021

Problem

I am building on my new Mac m1 and it failed.

The author of ring says it can be fixed by upgrading dependency (briansmith/ring#1163).

I tried add ring = "0.16.19" to cargo.toml but failed because this virtual manifest specifies a [dependencies] section, which is not allowed

I tried to search ring in the project directory and I only find them in cargo.lock.

It seems ring is a dependency of dependency of Solana. I am new to Rust and I do not know how to fix this.

 Compiling tokio-threadpool v0.1.18
   Compiling tokio-codec v0.1.2
error: failed to run custom build command for `ring v0.16.12`

Caused by:
  process didn't exit successfully: `/Users/xxx/code/solana/target/debug/build/ring-e5b7d4867a02bd0a/build-scrixxx-build` (exit code: 101)
  --- stdout
  CARGO: /Users/xxx/.rustup/toolchains/stable-aarch64-apple-darwin/bin/cargo
  CARGO_CFG_TARGET_ARCH: aarch64
  CARGO_CFG_TARGET_ENDIAN: little
  CARGO_CFG_TARGET_ENV: 
  CARGO_CFG_TARGET_FAMILY: unix
  CARGO_CFG_TARGET_OS: macos
  CARGO_CFG_TARGET_POINTER_WIDTH: 64
  CARGO_CFG_TARGET_VENDOR: apple
  CARGO_CFG_UNIX: 
  CARGO_FEATURE_ALLOC: 1
  CARGO_FEATURE_DEFAULT: 1
  CARGO_FEATURE_DEV_URANDOM_FALLBACK: 1
  CARGO_FEATURE_LAZY_STATIC: 1
  CARGO_HOME: /Users/xxx/.cargo
  CARGO_MAKEFLAGS: --jobserver-fds=3,4 -j --jobserver-auth=3,4 -j
  CARGO_MANIFEST_DIR: /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12
  CARGO_MANIFEST_LINKS: ring-asm
  CARGO_PKG_AUTHORS: Brian Smith <[email protected]>
  CARGO_PKG_DESCRIxxxION: Safe, fast, small cryxxxo using Rust.
  CARGO_PKG_HOMEPAGE: 
  CARGO_PKG_LICENSE: 
  CARGO_PKG_LICENSE_FILE: LICENSE
  CARGO_PKG_NAME: ring
  CARGO_PKG_REPOSITORY: https://github.com/briansmith/ring
  CARGO_PKG_VERSION: 0.16.12
  CARGO_PKG_VERSION_MAJOR: 0
  CARGO_PKG_VERSION_MINOR: 16
  CARGO_PKG_VERSION_PATCH: 12
  CARGO_PKG_VERSION_PRE: 
  DEBUG: true
  DYLD_FALLBACK_LIBRARY_PATH: /Users/xxx/code/solana/target/debug/deps:/Users/xxx/code/solana/target/debug:/Users/xxx/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib:/Users/xxx/.rustup/toolchains/stable-aarch64-apple-darwin/lib:/Users/xxx/lib:/usr/local/lib:/usr/lib
  HOME: /Users/xxx
  HOMEBREW_CELLAR: /oxxx/homebrew/Cellar
  HOMEBREW_PREFIX: /oxxx/homebrew
  HOMEBREW_REPOSITORY: /oxxx/homebrew
  HOST: aarch64-apple-darwin
  INFOPATH: /oxxx/homebrew/share/info:
  LANG: en_US.UTF-8
  LOGNAME: xxx
  LaunchInstanceID: 650AC464-90EC-415B-B3B7-BE5A658C89F1
  MANPATH: /oxxx/homebrew/share/man::
  NUM_JOBS: 8
  OLDPWD: /Users/xxx/code
  Oxxx_LEVEL: 0
  OUT_DIR: /Users/xxx/code/solana/target/debug/build/ring-51d6c5f00b9ac169/out
  PATH: /Users/xxx/.cargo/bin:/oxxx/homebrew/bin:/oxxx/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/xxx/.cargo/bin
  PROFILE: debug
  PWD: /Users/xxx/code/solana
  RUSTC: rustc
  RUSTDOC: rustdoc
  RUSTUP_HOME: /Users/xxx/.rustup
  RUSTUP_TOOLCHAIN: stable-aarch64-apple-darwin
  RUST_RECURSION_COUNT: 1
  SECURITYSESSIONID: 186b9
  SHELL: /bin/zsh
  SHLVL: 1
  SSH_AUTH_SOCK: /private/tmp/com.apple.launchd.ClxDtGfIwy/Listeners
  TARGET: aarch64-apple-darwin
  TERM: xterm-256color
  TERM_PROGRAM: Apple_Terminal
  TERM_PROGRAM_VERSION: 440
  TERM_SESSION_ID: 8998128C-3738-440D-9638-CBD45E430CAF
  TMPDIR: /var/folders/yy/vchg_vkn3b99gk27n12cs09c0000gn/T/
  USER: xxx
  XPC_FLAGS: 0x0
  XPC_SERVICE_NAME: 0
  _: /Users/xxx/.cargo/bin/cargo
  __CFBundleIdentifier: com.apple.Terminal
  __CF_USER_TEXT_ENCODING: 0x1F5:0x0:0x0
  all_proxy: socks5://127.0.0.1:7890
  http_proxy: http://127.0.0.1:7890
  https_proxy: http://127.0.0.1:7890
  Oxxx_LEVEL = Some("0")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("aarch64-apple-darwin")
  CC_aarch64-apple-darwin = None
  CC_aarch64_apple_darwin = None
  HOST_CC = None
  CC = None
  CFLAGS_aarch64-apple-darwin = None
  CFLAGS_aarch64_apple_darwin = None
  HOST_CFLAGS = None
  CFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = None
  running "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-I" "include" "-Wall" "-Wextra" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/Users/xxx/code/solana/target/debug/build/ring-51d6c5f00b9ac169/out/aesv8-armx-linux64.o" "/Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S"

  --- stderr
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:18:17: error: unexpected token in '.section' directive
  .section .rodata
                  ^
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:28:1: error: unknown directive
  .hidden GFp_aes_hw_set_encryxxx_key
  ^
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:29:1: error: unknown directive
  .type GFp_aes_hw_set_encryxxx_key,%function
  ^
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:161:1: error: unknown directive
  .size GFp_aes_hw_set_encryxxx_key,.-GFp_aes_hw_set_encryxxx_key
  ^
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:163:1: error: unknown directive
  .hidden GFp_aes_hw_encryxxx
  ^
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:164:1: error: unknown directive
  .type GFp_aes_hw_encryxxx,%function
  ^
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:191:1: error: unknown directive
  .size GFp_aes_hw_encryxxx,.-GFp_aes_hw_encryxxx
  ^
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:193:1: error: unknown directive
  .hidden GFp_aes_hw_decryxxx
  ^
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:194:1: error: unknown directive
  .type GFp_aes_hw_decryxxx,%function
  ^
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:221:1: error: unknown directive
  .size GFp_aes_hw_decryxxx,.-GFp_aes_hw_decryxxx
  ^
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:223:1: error: unknown directive
  .hidden GFp_aes_hw_ctr32_encryxxx_blocks
  ^
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:224:1: error: unknown directive
  .type GFp_aes_hw_ctr32_encryxxx_blocks,%function
  ^
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:403:1: error: unknown directive
  .size GFp_aes_hw_ctr32_encryxxx_blocks,.-GFp_aes_hw_ctr32_encryxxx_blocks
  ^
  /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/pregenerated/aesv8-armx-linux64.S:407:19: error: unexpected token in '.section' directive
  .section .note.GNU-stack,"",%progbits
                    ^
  thread 'main' panicked at 'execution failed', /Users/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.12/build.rs:641:9
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed

Proposed Solution

@mvines
Copy link
Member

mvines commented Apr 2, 2021

Seems like this is still an issue. A PR to fix this would be welcome from somebody that's actually using an M1

@mvines mvines reopened this Apr 2, 2021
@mvines mvines added this to the The Future! milestone Apr 2, 2021
@mvines mvines added the good first issue Good for newcomers label Apr 2, 2021
@dmakarov
Copy link
Contributor

dmakarov commented Apr 2, 2021

We don't make toolchain binaries that would run on M1.

@yenicelik
Copy link

got the same issue here

@dcolley
Copy link

dcolley commented Sep 19, 2021

You can run Solana on M1 in Docker https://github.com/metaspan/solana-docker-mac-m1

@solana-labs solana-labs locked and limited conversation to collaborators Oct 1, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants