2017-11-15 14 views
3

elfutils 0.170 및 0.169를 다운로드했지만 암시 적 함수 선언으로 인해 gcc를 사용하여 컴파일 할 수 없습니다. 나는 -werror 또는 -Werror = implicit-function-declaration을 지정하는 elfutils makefile에서 어떤 위치도 찾을 수 없습니다. 이 컴파일 오류를 수정하는 방법은 무엇입니까?elfutils 컴파일 오류 암시 적 함수 선언

https://sourceware.org/elfutils/ftp/0.170/ 내 단계

1 :의 bzip2 -d elfutils-0.170.tar.bz2는 2 : 타르 -xvf elfutils-0.170.tar 3 : ./configure를
4 : 만들

그러면 아래의 오류가 나타납니다. elf_compress_gnu.c : 함수 'elf_compress_gnu': elf_compress_gnu.c : 114 : 28 : 오류 : 'htobe64'함수의 암시 적 선언 [-Werror = 암시 적 함수 선언] uint64_t be64_size = htobe64 (orig_size); ^ elf_compress_gnu.c : 163 : 15 : 오류 : 암시 적으로 'be64toh'함수의 암시 적 선언 [-Werror = 암시 적 함수 선언] gsize = be64toh (gsize); ^ CC1 : 경고가 모두 에러

답변

2

elfutils로 처리되는 잘못 표준만을 사용할 glibc에에서와 BSD의 서브 세트에 있지 htobe64을 사용한다.

당신은 GCC를 사용하기 때문에,이 문제를 해결하려면 울프 헤르만의 패치를 사용할 수 있습니다

그것은 GCC를 기반으로 htobe64의 구현을 추가 내장 함수, 그것은 너무 GCC가 컴파일러로 사용될 때 C 라이브러리가 제공하는 것과는 독립적으로 사용할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 하지만 libgnu를 패치하고 변경하고 싶지는 않습니다. elfutils-portabiliy가있었습니다. elfutils가이 문제를 해결할 수있는 패치를 제공했지만이 패치는 0.164 버전 이후 사라졌습니다. 이 컴파일 오류를 수정하는 방법은 무엇입니까? [email protected]로 이메일을 보낼 수 없습니다. elfutils에서 질문을하기 위해 어디에서 이메일을 보내야합니까? –

+0

Linux 나 지원되는 BSD 중 하나에서이 패치를 적용하거나 컴파일해야합니다. –

관련 문제