불행히도 gcc-4.1을 사용해야하고 debian wheezy를 사용하고 있습니다. gcc-4.1은 저장소에 없기 때문에 소스에서 gcc를 빌드하려고합니다.gcc-4.1 컴파일
하지만 컴파일 오류를 받고 있어요 :
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.a when searching for -lc
/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib/x86_64-linux-gnu/crti.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib/x86_64-linux-gnu/crtn.o' is incompatible with i386 output
그것은 ld
도서관의 잘못된 버전을 따기되어 보이는,하지만 난 내 /usr/lib32
및 /usr/lib/x86_64-linux-gnu/
및 포함 된 해당 파일 확인 :
/usr/lib32/libc.a
/usr/lib32/libc.so
/usr/lib32/crtn.o
/usr/lib32/crti.o
/usr/lib/x86_64-linux-gnu/libc.a
/usr/lib/x86_64-linux-gnu/libc.so
/usr/lib/x86_64-linux-gnu/crtn.o
/usr/lib/x86_64-linux-gnu/crti.o
을 그리고 ld
에 액세스 할 수 있어야합니다.
~$ echo $LIBRARY_PATH
/usr/lib/x86_64-linux-gnu:/usr/lib32/
그래서 문제가 어디인지 전혀 알지 못합니다.
감사합니다. 그러나 ./configure LDFLAGS = "- L/usr/lib32"'는 도움이되지 않았습니다. 수동으로 makefile을 고치려고했으나 실패했습니다. './configure --disable-multilib ... '을 추가하면 저에게 효과적입니다. – tom
실제 문제는 아마도 여러분의 오래된 GCC가 데비안/우분투 빌드에 필요한 "multiarch"지원을 가지고 있지 않을 것입니다 (multiarch는 multilib과 혼동되어서는 안됩니다). 마지막으로 들었습니다. 심지어 최신 GCC에도 기본 기능이 없었지만 지금은 조금 전입니다. 기본적으로 데비안/우분투는 비표준 장소에 파일을 저장하고 컴파일러는 파일을 찾을 수 없습니다. – ams