【问题标题】:Conflict headers from different OpenSSL version来自不同 OpenSSL 版本的冲突标头
【发布时间】:2017-07-11 12:17:18
【问题描述】:

我正在尝试从源代码在 Ubuntu 14.04 上安装 OpenSSL 1.0.2k。我已经有 1.0.1f 版本。在 ./config 我运行 make 并得到下一条消息:

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

【问题讨论】:

  • 我猜你没有透露一些有趣的信息。我无法在具有发行版副本和 Master 可用(并使用 OpenSSL_1_0_2-stable)的机器上复制。您是否在configmake 之前cd 进入openssl-1.0.2k 目录?路径中有空格吗?另请参阅 OpenSSL wiki 上的 Compilation and Installation
  • 是的,我在configmake 之前将cd 转换为openssl-1.0.2k。路径中没有空格。谢谢,我会一遍又一遍地阅读 OpenSSL wiki,直到我看不懂为止。
  • 消息 "#include 使用来自不同 OpenSSL 版本的标头!" 来自 util/selftest.pl。你的问题中缺少一些东西。请显示您正在使用的确切命令,并请回显您的 PATH 并将其添加到问题中。我想我们还需要看到./config的完整输出。
  • 这是我输入的所有命令,没有别的了。

标签: makefile openssl ubuntu-14.04


【解决方案1】:

对我来说,问题是通过将包从 PPA 更新到 OpenSSL-1.0.2g 来解决的:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-01
    • 2016-11-15
    • 2018-06-13
    • 2023-04-03
    • 2022-01-20
    • 2011-10-13
    • 2019-06-25
    • 2023-03-23
    相关资源
    最近更新 更多