하나의 M1 머신에는 소스에서 빌드하기 위해 아키텍처별 옵션이 필요하지만 다른 M1 머신에는 필요하지 않은 이유는 무엇입니까?

하나의 M1 머신에는 소스에서 빌드하기 위해 아키텍처별 옵션이 필요하지만 다른 M1 머신에는 필요하지 않은 이유는 무엇입니까?

Ruby 및 React 네이티브 세계에는 (추상화 계층 아래에서) 소스에서 Ruby와 같은 소프트웨어를 구축하는 상당히 평범한 방법을 사용하게 되는 도구 버전 관리자가 있습니다.

./configure
./make
./make install

...위의 추상화에서 이러한 명령에 다양한 옵션을 전달합니다.

내 M1 MacBook Pro에서는 내가 실행 중인 아키텍처를 빌드가 인식할 수 있도록 명령줄 옵션을 전달할 때 주의해야 한다는 것을 알았습니다. 예를 들어:

export CONFIGURE_OPTS="--build aarch64-apple-darwin20"; asdf install ruby 2.6.6

asdf install...이러한 오류로 인해 구성이 중단되는 것을 방지합니다 machine not recognised.

더 자세히 살펴보면 config.sub2007년에 생성된 빌드 디렉터리에 파일이 있습니다. arm64 아키텍처에 대해서는 아무것도 모릅니다.

./configure다른 프로젝트에서 2021 버전 config.sub를 교체하고 다시 시도하면 성공하기 때문에 문제가 여기에 있다고 확신합니다 .

asdf install...나는 M1 컴퓨터에 똑같은 프로세스로 동일한 소프트웨어를 설치한 동료들이 그런 문제를 겪지 않았다는 사실에 놀랐습니다 .

이것은 asdf구체적이지 않습니다. CocoaPods에 의해 설치된 종속성과 동일한 문제가 있었고 이는 및 를 configure사용하는 모든 기반 에도 있었습니다 make. 마찬가지로 내 동료에게도 문제가 없었습니다.

다른 사람의 컴퓨터(또는 내 컴퓨터)에 있는 어떤 것이 config.sub의 결과를 덮어쓰게 됩니다. 그렇지 않으면 다른 config.sub 복사본을 제공해야 합니다. 혼란스러워요.

업데이트: "작업" 기계와 내 기계 사이의 중요한 차이점 중 하나는 uname의 출력인 것 같습니다.

내 거:

Darwin 192.168.1.102 20.6.0 Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:27 PDT 2021; root:xnu-7195.141.2~5/RELEASE_ARM64_T8101 arm64 arm64 MacBookPro17,1 Darwin

다른 사람:

Darwin Joes-MacBook-Pro.local 20.5.0 Darwin Kernel Version 20.5.0: Sat May  8 05:10:31 PDT 2021; root:xnu-7195.121.3~9/RELEASE_ARM64_T8101 arm64

특히 다른 사람의 기계와 내 기계에 대한 보고서입니다 uname -p.armarm64

관련 정보