크로스 컴파일과 "as"에 문제가 있나요?

크로스 컴파일과 "as"에 문제가 있나요?

ARM 시스템 유틸리티(호스트: x86_64, Debian, 보고된 버전 "Debian 4.9.110-3+deb9u1")의 소스 코드를 컴파일하려고 하는데 uname -v파일을 최종 바이너리로 패키징하여 사용하려고 합니다. 내 시스템에서 다음 오류가 발생합니다.

as: unrecognized switch -EL

나는 두 개의 서로 다른 바이너리 as(하나는 in /usr/bin, 하나는 out) 를 가지고 있다는 것을 알아냈습니다 /bin. 스위치를 지원하기 /usr/bin위해 복사본의 이름을 변경 했지만 이제 새로운 오류가 발생합니다./bin-EL

as: unrecognized switch: --64

이전 바이너리는 이 스위치를 지원했지만 지원하지 않았습니다 -EL.

올바른 버전이 없어서 문제인 것은 확실 as하지만 올바른 버전을 얻으려면 어디로 가야 할지 모르겠습니다. apt-get을 통해 유사한 패키지를 모두 업데이트 했지만 gcc문제가 해결되지 않았습니까?

답변1

/usr/binin 과 in 에 동일한 이름을 가진 바이너리가 있는 경우 /bin동일해야 합니다. 일반적으로 하나는 다른 하나에 대한 심볼릭 링크입니다. 크로스 컴파일러의 일부가 기존 도구 위에 설치된 것처럼 보입니다. 이는 혼란만 야기할 것입니다.

프로그램은 일반적 으로 프로그램 as의 일부입니다 .binutilsgcc

크로스 컴파일러를 직접 컴파일하는 경우 기본 유틸리티를 덮어쓰지 않도록 해야 합니다.

관련 정보