2017-11-27 2 views
0

문제점 : Cepstral (tts 엔진)을 Debian 8을 실행하는 Freeswitch에 설치해야합니다. Freeswitch가 이미 실행 중이지만 순서대로 소스에서 빌드해야했습니다. mod_cepstral 모듈. 오류 : 'ctx'필드에 불완전한 타입이 있습니다. EVP_CIPHER_CTX

내가 make이 실행

은 내가 오류입니다 :

In file included from ./crypto/include/prng.h:17:0, 
       from ./crypto/include/crypto_kernel.h:50, 
       from ./include/srtp.h:53, 
       from srtp/srtp.c:46: 
./crypto/include/aes_icm_ossl.h:66:20: error: field ‘ctx’ has incomplete type 
    EVP_CIPHER_CTX ctx; 
        ^~~ 
In file included from srtp/srtp.c:50:0: 
./crypto/include/aes_gcm_ossl.h:58:18: error: field ‘ctx’ has incomplete type 
    EVP_CIPHER_CTX ctx; 
        ^~~ 
Makefile:646: recipe for target 'srtp.lo' failed 
make[1]: *** [srtp.lo] Error 1 
make[1]: Leaving directory '/usr/src/freeswitch/libs/srtp' 
Makefile:3931: recipe for target 'libs/srtp/libsrtp.la' failed 
make: *** [libs/srtp/libsrtp.la] Error 2 

내가 솔루션에 대한 인터넷을 수색하고있다,하지만 난 개발자 아니다이 내 머리 위로 방법입니다. 어떤 도움을 주시면 감사하겠습니다.

답변

0

Cepstral의 지원과 이야기 한 후 Jessie (Debian 8)가 아직 완전히 호환되지 않는다고 결정했습니다. 데비안 7을 사용하여 서버를 재건했으며 현재 잘 작동합니다.

0

OpenSSL에 대한 의존성이 있지만 사용중인 OpenSSL의 버전이 호환되지 않습니다. 당신은 OpenSSL 1.1.0을 사용하고 있지만 libsrtp의 최신 버전을 다운로드

+0

그냥 1.1.0을 설치하고 테스트했지만 동일한 오류가 계속 발생했습니다. – Joe

+0

내 답변에서 말한대로 1.0.2 * 1.1.0이 아닌 1.0.2를 사용해야합니다. 위의 오류는 1.0.2를 예상하지만 1.1.0 헤더를 사용하는 응용 프로그램 간의 불일치로 인해 발생합니다. –

+0

예. 1.0.2를 설치했는데 (위의 주석은 오타였습니다) 여전히 실패했지만 확인한 후에 설치가 제대로 수행되지 않았다는 것을 깨달았습니다. 지금 다시 설치하여 다시 테스트하십시오. – Joe

-1
wget https://github.com/cisco/libsrtp/archive/v2.1.0.tar.gz 
tar xfv v2.1.0.tar.gz 
cd libsrtp-2.1.0 
./configure --prefix=/usr --enable-openssl 
make shared_library && sudo make install 

은 OpenSSL 1.0.2을 사용해야합니다.

+0

위의 코드가이 상황을 해결해야하는 이유를 설명하십시오. –

관련 문제