CentOS 에 minidlna 설치 중 오류 문제
도무지 이해가 안가는 부분이 있어서 질문 올려봅니다.
minidlna 1.1.4 버전 소스로 받아서 설치 중입니다.
OS 는 CentOS 7 이고요
각종 libav 로 시작하는 라이브러리들 모두 컴파일 해서 설치 된 상태인데
minidlna 소스에서 ./configure 만 하면 다음과 같은 오류가 나옵니다.
configure: error: Could not find libavformat - part of ffmpeg
configure 파일을 수정해서 해당 부분 패스하게 만들고 makefile 을 만든 상태에서 make 하면
다음과 같은 오류가 나구요.
/usr/bin/ld: /usr/local/lib/libavformat.a(http.o): undefined reference to symbol 'inflateInit2_'
/usr/bin/ld: note: 'inflateInit2_' is defined in DSO /lib64/libz.so.1 so try adding it to the linker command line
/lib64/libz.so.1: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[2]: *** [minidlnad] 오류 1
libavformat.a 의 소스 중 http.c 파일에 inflateInit2 함수를 사용하는 부분이 있더군요.
libavformat.a 의 Makefile 에서는 분명 -lz 옵션이 붙어 있는데도
libz.so 파일에서 inflateInit2_ 함수를 못찾는다 라고 나와버리는군요 ㅠㅠ
도무지 해결이 안되고 있습니다..
/lib64/libz.so.1:이 좀 이상한데여
보면
64비트 라이브러리를 링크시키려고 하는거 같은데
혹시 컴파일러가 32비트로 컴파일하는거라면 에러나는게 당연하데
한번 32비트컴파일러 인지 64비트 컴파일러인지
gcc -v
로 확인해보세여
그리고 링크 순서의 문제일수도 있습니다
-lpthread -lrt -lz
식으로 맨 마지막에 넣어두는것도..
즐린
댓글 달기