首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:字段“ctx”不完整类型EVP_CIPHER_CTX

错误:字段“ctx”不完整类型EVP_CIPHER_CTX
EN

Stack Overflow用户
提问于 2017-11-27 19:56:30
回答 4查看 21.6K关注 0票数 14

问题:我需要将tts引擎安装到运行Debian 8的Freeswitch中。Freeswitch已经启动并运行,但我需要从源代码构建它,以便它创建mod_cepstral模块。

当我运行make时,这是我得到的错误:

代码语言:javascript
复制
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

我一直在互联网上寻找解决方案,但我不是开发人员,这已经超出了我的想象。任何帮助都将不胜感激。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-12-28 20:56:10

在反星系团的支持下,我们确定Jessie (Debian 8)还没有完全兼容。我用Debian 7重建了服务器,现在运行良好。

票数 1
EN

Stack Overflow用户

发布于 2019-05-28 10:20:35

因为更新的OpenSSL不公开结构EVP_CIPHER_CTX

尝尝这个

代码语言:javascript
复制
EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
EVP_CIPHER_CTX_init(ctx);
//do sth here
//...
EVP_CIPHER_CTX_free(ctx);
票数 27
EN

Stack Overflow用户

发布于 2017-12-28 19:06:09

代码语言:javascript
复制
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

获取libsrtp的最新版本。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47518843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档