Debian은 .la 파일에 대한 지원을 삭제했습니다. 지금 어떻게 구축합니까?

StackOverflow https://stackoverflow.com/questions/1664921

  •  13-09-2019
  •  | 
  •  

문제

배경

나는 최근에왔다 Fuppes UPNP 미디어 서버 그리고 그것은 대단해 보였다. 홈 서버에 설치하여 비디오를 Xbox로 스트리밍하기 시작했습니다. 정말 잘 작동했고 나는 그것에 만족했습니다. 그런 다음 서버 배포를 업그레이드했으며 Fuppes는 작동을 멈췄습니다. 나는 이제 다양한 라이브러리가 감가 상각 되었기 때문이라는 것을 알고 있습니다. 데비안은 대부분의 패키지에서 .la libtool 파일을 삭제하기 시작했습니다..

문제 / 질문

그래서 내 질문은, libtool 용 .LA 파일이 없으므로 어떻게 fuppes를 구축합니까? 보다 구체적으로 이것은 정확한 오류 메시지입니다.

/bin/sed: can't read /usr/lib/libogg.la: No such file or directory
libtool: link: `/usr/lib/libogg.la' is not a valid libtool archive

더 이상 /usr/lib/libogg.la 파일이 없습니다. 이것은 터미널에서 그것을 증명합니다.

# dpkg -L libogg-dev | grep "a$"
/usr/lib/libogg.a
#

나는 단지 올바른 방향으로 향해야합니다. 나는 libtool-automake 문서를 읽었지만 더 이상 libogg.la가 없으므로 지금 컴파일하는 방법을 알려주는 정보가 여전히 누락되었습니다. 요컨대 .LA 파일이없는 경우 어떻게 컴파일합니까?

NB 이것은 모두 Ubuntu Karmic Koala에 있습니다

도움이 되었습니까?

해결책

Debian은 32 비트와 64 비트 모두에 구축 할 때 문제를 일으킬 수 있기 때문에 .LA 파일을 삭제했다고 생각합니다. libtool이 .la 파일을 찾으면 링크 명령에 라이브러리로 전체 경로를 두는 불쾌한 습관이 있으며 때로는 잘못된 라이브러리 (64 비트 대신 32 비트 또는 그 반대로)입니다. Solaris에서는 /usr/lib/64/libintl.so 대신 /usr/lib/libintl.so를 링크하고 싶어하는 libtool의 문제가있었습니다.

적절한 makefile.am 내에서 mumble_libadd 줄에 -logg를 지정하여 .la 파일없이 링크 할 수 있어야합니다. 어떤 이유로 링커가 라이브러리를 찾을 수없는 경우 다음과 같은 것을 추가하여 경로를 지정할 수 있습니다.

mumble_ldflags = -r/usr/lib -l/usr/lib

그러나이 예에서는 /usr /lib가 라이브러리의 기본 검색 경로에 있다고 믿어야합니다.

SED와의 특정 오류 메시지에 대해 Fuppes가 SED를 사용하여 /usr/lib/libogg.la를 찾는 이유는 모르겠지만, 이는 Libtool (Autoconf 또는 Automake와 같이)의 적절한 변경으로 인해 고칠 수 있습니다. 이 문제에 도움이되는 'Configure'에 어딘가에 스위치가 있다고 생각합니다 (-with-OGG 또는 Something). 'configure -help'를 실행하고 거기에서 힌트를 찾으십시오.

다른 팁

.la 파일이 필요하지 않아야합니다. 명령 출력의 중요한 부분을 붙여 넣지 않았습니다. Libogg.la 파일에 링크하려는 단계는 무엇입니까? 내 추측은 libtool이고, 내 생각에, 업그레이드 후 실행 중이라는 것입니다.

요컨대, 당신은 더 도움이 될만한 정보를 충분히 제공하지 않습니다 (어떻게 fuppes를 얻었습니까? 어떻게 만들었습니까? 어떻게 만들었습니까? 업그레이드 후 어떻게 만들려고 했습니까?) 아마도 빌드 파일을 재생하는 것을 잊어 버렸거나 다른 링커 단계가 .LA 파일을 가져오고 있으며 재생해야합니다 (예 : PKG-Config 파일).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top