
이 글은 같은 문제를 겪고 있는 분들을 위한 질문/답변 게시물입니다.
이 문제는 표준 경로에 없는 별도의 툴체인(gcc, binutils, libtool)을 사용할 때만 발생합니다.
즉, 다음 which gcc
에 의해 나열되지 않은 위치를 제공합니다.
sudo env | grep -w "PATH="
이는 OpenSUSE 13.2에서 octave-4.2를 컴파일하는 데 필요했습니다(표준 gcc는 너무 오래되었습니다).
툴체인이 하나만 있고 이 툴체인이 표준 경로에 있는 표준 시스템에서는 sudo make install
잘 작동합니다.
오류는 다음과 같습니다 sudo make install
.
libtool: warning: relinking 'Magick++/lib/libGraphicsMagick++.la'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld:
Magick++/lib/.libs/Magick___lib_libGraphicsMagick___la-Image.o: unrecognized relocation (0x2a) in section `.text'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
libtool: error: error: relink 'Magick++/lib/libGraphicsMagick++.la' with the above command before installing it
답변1
그 이유는 다음과 같습니다.
요점은 툴체인의 위치가 앞에 추가되었기 때문에 configure
및 단계가 작동했다는 것입니다(예 : ).make
PATH
gcc
하지만sudo
변수를 전파하지 않습니다. 따라서 sudo make install
잘못된 툴체인( gcc
예: 이전 툴체인)을 사용하여 명령을 실행했습니다.
한 가지 해결책은 그냥 사용하는 것입니다su
su
# make install