2017-07-04 168 views
2

我正尝试在Ubuntu 14.04上从源代码安装OpenSSL 1.0.2k。我已经有1.0.1f版本。 ./config中后,我跑使,并得到一条消息:来自不同OpenSSL版本的冲突头文件

cryptlib.c:1019:5: error: conflicting types for 'CRYPTO_memcmp' 
int CRYPTO_memcmp(const volatile void *in_a, const volatile void *in_b, size_t len) 
^ 
In file included from cryptlib.h:72:0, 
      from cryptlib.c:117: 
/usr/include/openssl/crypto.h:582:5: note: previous declaration of 'CRYPTO_memcmp' was here 
int CRYPTO_memcmp(const void *a, const void *b, size_t len); 

化妆报告显示:

#include uses headers from different OpenSSL version! 

如何设置正确的标头编译器?我的路径是:

usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games 
+0

我猜你是不是揭示了一些有趣的信息。我无法在发行版本和Master都可用的计算机上复制(并使用“OpenSSL_1_0_2-stable”)。在'config'和'make'之前,你是否把'cd'放入'openssl-1.0.2k'目录?路径中是否有空白?另请参阅OpenSSL wiki上的[编译和安装](https://wiki.openssl.org/index.php/Compilation_and_Installation)。 – jww

+0

是的,我在'config'和'make'之前将'cd'写入'openssl-1.0.2k'。路径中没有空白。谢谢,我会一次又一次地读OpenSSL wiki,直到我不明白为止。 – Jago

+0

消息*“#include使用来自不同OpenSSL版本的头文件!”*来自['util/selftest.pl'](https://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/util/selftest特等)。你的问题有一些缺失。请显示您正在使用的确切命令,并请回显您的PATH并将其添加到问题中。我想我们也需要看到'。/ config'的完整输出。 – jww

回答

0

对我来说,这个问题是由包从PPA更新到的OpenSSL 1.0.2g解决:

sudo add-apt-repository ppa:0k53d-karl-f830m/openssl 
sudo apt-get update 
sudo apt-get install openssl