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/bin
in 과 in 에 동일한 이름을 가진 바이너리가 있는 경우 /bin
동일해야 합니다. 일반적으로 하나는 다른 하나에 대한 심볼릭 링크입니다. 크로스 컴파일러의 일부가 기존 도구 위에 설치된 것처럼 보입니다. 이는 혼란만 야기할 것입니다.
프로그램은 일반적 으로 프로그램 as
의 일부입니다 .binutils
gcc
크로스 컴파일러를 직접 컴파일하는 경우 기본 유틸리티를 덮어쓰지 않도록 해야 합니다.