소스에서 vlc를 만들 수 없습니다: libssh 오류

소스에서 vlc를 만들 수 없습니다: libssh 오류

vlc-2.1.5다음 구성 명령을 사용하여 소스에서 설치를 시도했습니다 .

./configure --prefix=/usr/ --disable-vlc --disable-lua --disable-mad --disable-swscale --disable-postproc --disable-xcb --disable-alsa

오류 없이 구성이 완벽하게 실행됩니다. 하지만 시도하면 make이러한 오류가 발생합니다.

make[5]: Entering directory `/usr/src/vlc-2.1.5/modules/access'
CC       libaccess_sftp_plugin_la-sftp.lo
sftp.c: In function �Open�:
sftp.c:152:15: error: �LIBSSH2_ERROR_EAGAIN� undeclared (first use in this function)
sftp.c:152:15: note: each undeclared identifier is reported only once for each function it appears in
sftp.c:161:5: error: implicit declaration of function �libssh2_session_set_blocking� [-Werror=implicit-function-declaration]
sftp.c:164:5: error: unknown type name �LIBSSH2_KNOWNHOSTS
sftp.c:164:5: error: implicit declaration of function �libssh2_knownhost_init� [-Werror=implicit-function-declaration]
sftp.c:164:42: warning: initialization makes pointer from integer without a cast [enabled by default]
sftp.c:172:9: error: implicit declaration of function �libssh2_knownhost_readfile� [-Werror=implicit-function-declaration]
sftp.c:173:17: error: �LIBSSH2_KNOWNHOST_FILE_OPENSSH� undeclared (first use in this function)
sftp.c:178:5: error: implicit declaration of function �libssh2_session_hostkey� [-Werror=implicit-function-declaration]
sftp.c:178:31: warning: initialization makes pointer from integer without a cast [enabled by default]
sftp.c:180:5: error: implicit declaration of function �libssh2_knownhost_check� [-Werror=implicit-function-declaration]
sftp.c:182:42: error: �LIBSSH2_KNOWNHOST_TYPE_PLAIN� undeclared (first use in this function)
sftp.c:183:42: error: �LIBSSH2_KNOWNHOST_KEYENC_RAW� undeclared (first use in this function)
sftp.c:186:5: error: implicit declaration of function �libssh2_knownhost_free� [-Werror=implicit-function-declaration]
sftp.c:191:10: error: �LIBSSH2_KNOWNHOST_CHECK_FAILURE� undeclared (first use in this function)
sftp.c:192:10: error: �LIBSSH2_KNOWNHOST_CHECK_NOTFOUND� undeclared (first use in this function)
sftp.c:195:10: error: �LIBSSH2_KNOWNHOST_CHECK_MATCH� undeclared (first use in this function)
sftp.c:198:10: error: �LIBSSH2_KNOWNHOST_CHECK_MISMATCH� undeclared (first use in this function)
cc1: some warnings being treated as errors
make[5]: *** [libaccess_sftp_plugin_la-sftp.lo] Error 1
make[5]: Leaving directory `/usr/src/vlc-2.1.5/modules/access'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/usr/src/vlc-2.1.5/modules/access'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/usr/src/vlc-2.1.5/modules/access'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/vlc-2.1.5/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/vlc-2.1.5'
make: *** [all] Error 2

그런 다음 시도했습니다.이 링크, 하지만 같은 오류가 다시 발생합니다.

내 운영 체제 배포판은 Debian 7.5입니다. 오류가 사라지게 하려면 어떻게 해야 합니까?

답변1

이러한 정의되지 않은 기호( LIBSSH2_ERROR_EAGAIN, ...)는 모두 다음에 속합니다.libssh2. VLC를 컴파일하려면 이 라이브러리를 설치해야 합니다. 어떤 이유로 ./configure스크립트는 이에 대해 경고하지 않습니다.

웹사이트에서 다운로드 할 수도 libssh2있고, 패키지 관리자를 사용하는 것이 더 좋습니다. 예를 들어 apt-get...

$ sudo apt-get install libssh2-1 libssh2-1-dev

수동으로 컴파일하는 경우 설치해야 하는 추가 종속성이 발생할 수 있습니다. 스크립트는 configure이것을 말해야 합니다.

이제 또 다른 해결책은 단순히 VLC의 SFTP 지원을 비활성화하는 것입니다.

./configure --disable-sftp --prefix=/usr/ --disable-vlc --disable-lua --disable-mad --disable-swscale --disable-postproc --disable-xcb --disable-alsa

참고로 기능을 비활성화하는 것을 잊지 마세요.종속성 문제에 대한 실질적인 해결책은 아닙니다....결국에는 이를 처리해야 합니다(또는 이 경우 가장 적합한 솔루션인 패키지 관리자를 사용해야 합니다).

관련 정보