当我尝试将upgrade OpenSSL从版本1.0.2h集成到1.0.2j时,我得到了以下错误。
o_init.c:77:5: error: implicit declaration of function 'FIPS_crypto_set_id_callback' is
invalid in C99 [-Werror,-Wimplicit-function-declaration]
FIPS_crypto_set_id_callback(CRYPTO_thread_id);发布于 2016-10-12 07:13:23
该方法调用用"#ifndef OPENSSL_NO_DEPRECATED“包装,看起来像是从1.1.0分支移植过来的代码。
1.1.0的更改历史表明,他们一直在更改代码以改进OpenSSL应用程序接口级别的管理。您可以尝试在"configure“参数中添加"no-deprecated”,但我对此持怀疑态度,因为它看起来是一个1.1.0配置选项。或者修补源代码以删除新的3行代码,因为您的上一个版本无论如何都没有调用不推荐使用的方法。
--- a/crypto/o_init.c
+++ b/crypto/o_init.c
@@ -73,9 +73,6 @@
done = 1;
#ifdef OPENSSL_FIPS
FIPS_set_locking_callbacks(CRYPTO_lock, CRYPTO_add_lock);
-# ifndef OPENSSL_NO_DEPRECATED
- FIPS_crypto_set_id_callback(CRYPTO_thread_id);
-# endif
FIPS_set_error_callbacks(ERR_put_error, ERR_add_error_vdata);
FIPS_set_malloc_callbacks(CRYPTO_malloc, CRYPTO_free);
RAND_init_fips();https://stackoverflow.com/questions/39780369
复制相似问题