2009-11-03 2 views
1

배경데비안은 .la 파일에 대한 지원을 중단했습니다. 어떻게 지금 구축합니까?

나는 최근에 fuppes UPnP media server을 가로 질러 와서는 큰 것 같았다. 내 홈 서버에 설치하고 그것을 사용하여 내 XBox에 비디오를 스트리밍합니다. 그것은 정말로 잘 작동했고 나는 그것에 만족했습니다. 그런 다음 필자는 서버 배포본을 업그레이드하고 fuppes는 작동을 멈췄습니다. 이제는 다양한 라이브러리가 감가 상각 되었기 때문에 가장 구체적으로 debian has started dropping the .la libtool files from the majority of their packages이라는 것을 알았습니다.

문제점/질문

그래서 제 질문은, 지금 fuppes을 구축 어떻게 내가 libtool을위한 그 .la 파일이없는 것이?

/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 파일이 없으면 어떻게 컴파일합니까?

N.B. 이것은 모든 우분투 카르마 코알라

답변

1

난 당신이 32 비트 및 64 비트 모두 구축 할 때이 문제가 발생할 수 있기 때문에 데비안은 .la 파일을 삭제되었다고 생각합니다. libtool이 .la 파일을 찾으면 링크 명령에 라이브러리의 전체 경로를 넣는 습관이 있습니다.이 라이브러리는 잘못된 라이브러리 (64 비트가 아닌 32 비트 또는 그 반대)입니다. Solaris에서, 나는 그것이 /usr/lib/libintl.la

당신을 발견 모든 있기 때문에, 대신 /usr/lib/64/libintl.so의 /usr/lib/libintl.so 연결하고자 libtool이의 문제가 있었다 mumble_LIBADD 행에 -logg를 지정하여 .la 파일없이 링크 할 수 있어야합니다 (적절한 mfile.am 내에서 'mumble'을 빌드중인 패키지의 이름으로 대체하십시오).

mumble_LDFLAGS = -R은/usr/lib에 -L은/usr/lib에

그러나에 : 어떤 이유로 링커가 라이브러리를 찾을 수없는 경우, 다음과 같이 추가하여 경로를 지정할 수 있습니다 이 예에서는/usr/lib가 라이브러리의 기본 검색 경로에 있다고 생각합니다.

sed를 사용하는 특정 오류 메시지에 fuppes가 /usr/lib/libog.la를 찾기 위해 sed를 사용하는 이유는 모르지만 libtool의 적절한 변경 사항 (autoconf 또는 automake). 나는이 문제 (예 : --with-ogg 또는 뭔가)를 돕는 'configure'의 어딘가에 스위치가 있다고 의심합니다. 'configure --help'를 실행하고 힌트를 찾으십시오.

+2

네, 이것은 실제로 제가 발견 한 것입니다. 방금 돌아와서 직접 대답하는 것을 잊어 버렸습니다. 나는 사실 그것에 추가 할 것이 한 가지 더 있습니다. 우분투 karmic 코알라를 사용하고 있었고 그들은 데비안 뒤에 하나의 버전입니다. 나는 패키지의 데비안 버전에서이 문제가 수정되었다고 생각한다 (어쩌면 configure meeds도 삭제 될 것이다). 그래서 나는 다음 릴리스를 기다릴 것입니다. 포괄적 인 답변 주셔서 감사합니다. –

+2

예, 이것은 실제로 명료하게 수정되었습니다. 나는 지금 모든 사람들에게 확인을시키고 여기에 알려주고있다. –

1

당신은 .la 파일을 필요로하지 않아야에 있습니다. libogg.la 파일에 링크하려는 단계 - 명령 출력의 중요한 부분을 붙여 넣지 않았습니다. 내 추측은 libtool이고 내 생각 엔 업그레이드 후 autogen.sh를 재실행하거나 적절하게 구성하지 않고 소스 dir 또는 vcs 체크 아웃을 실행하고있는 것입니다.

는 한마디로, 당신은 더 당신을 도울 수있는 충분한 정보를 제공하지 않습니다 (당신이 업그레이드 한 후 그것을 빌드하려고 했는가?를 구축 했는가? 당신이 fuppes셨어요 어떻게?). 대부분의 경우 빌드 파일을 다시 생성하는 것을 잊었거나 다른 링커 단계에서 .la 파일을 가져 와서 다시 생성해야합니다 (예 : pkg-config 파일).