2013-09-23 3 views
0

Mac OS X 10.8.4에서 the GNU MIX assembly development kit을 컴파일하려고합니다. 나는 사제를 통해 종속성을 설치 한, 나는이 MDK 디렉토리에 configure을 실행할 때, 나는 성공 메시지 수 :GNU MIX Development Kit 빌드 오류

*** GNU MDK 1.2.7 has been successfully configured. *** 

Type 'make' to build the following utilities: 
    - mixasm (MIX assembler) 
    - mixvm (MIX virtual machine) 

하지만 make를 실행하면이 오류가 뱉어 :

~/Downloads/mdk-1.2.7 > make 
make all-recursive 
Making all in po 
make[2]: Nothing to be done for `all'. 
Making all in intl 
make[2]: Nothing to be done for `all'. 
Making all in doc 
Making all in img 
make[3]: Nothing to be done for `all'. 
make[3]: Nothing to be done for `all-am'. 
Making all in lib 
rm -f libreplace.a 
ar cru libreplace.a 
ar: no archive members specified 
usage: ar -d [-TLsv] archive file ... 
    ar -m [-TLsv] archive file ... 
    ar -m [-abiTLsv] position archive file ... 
    ar -p [-TLsv] archive [file ...] 
    ar -q [-cTLsv] archive file ... 
    ar -r [-cuTLsv] archive file ... 
    ar -r [-abciuTLsv] position archive file ... 
    ar -t [-TLsv] archive [file ...] 
    ar -x [-ouTLsv] archive [file ...] 
make[2]: *** [libreplace.a] Error 1 
make[1]: *** [all-recursive] Error 1 
make: *** [all] Error 2 

이유를 모르지만 ar이 실패한 것처럼 보입니다. 어떻게 디버깅 할 수 있습니까?

답변

0

a bug in mdk입니다. 이미 mdk 개발자에게보고되었고 수정되었지만 아직 수정 된 내용이없는 새로운 버전을 출시하지는 않았습니다. 다행히도 1.2.8이 곧 출시 될 예정이며이 문제가 발생하지 않을 것입니다. 기다릴 수 없다면 저장소에서 최신 코드를 가져 와서 빌드 할 수 있습니다.

더 구체적으로 문제는 아무 것도 ("no no archive members") 라이브러리 libreplace.a를 만들려고 시도하는 것이며, 이는 OS X 버전의 ar 프로그램에서 허용되지 않습니다. 도서관에는 무언가가 들어 있습니다. 왜 아무도 빈 라이브러리를 만들려고합니까? 이 경우 라이브러리에는 현재 사용중인 특정 OS 버전이 아직 제공하지 않은 경우에만 빌드해야하는 호환성 기능이 포함되어 있습니다. 귀하의 운영 체제는 이미 이러한 모든 기능을 제공하므로 호환 기능을 구축 할 필요가 없습니다. 개발자는 그러한 완전한 OS가 존재할 것으로 예상하지 않거나 빈 라이브러리가 허용되지 않는 시스템이 존재할 수도 있습니다. The fix은 OS X의 라이브러리에 빈 함수를 추가하여 빈 상태가 아닌지 확인했습니다.