1

当我运行 scons --ssl all 时,它会引发错误:

g++ -o build/linux2/release/ssl/mongo/util/net/ssl_manager.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMONGO_HAVE_HEADER_UNISTD_H -DMONGO_HAVE_EXECINFO_BACKTRACE -DNET_SNMP_NO_INLINE/-Ibuild/libsteer2/release /third_party/libstemmer_c/include -Ibuild/linux2/release/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/release/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/release/ssl /third_party/pcre-8.30 -Isrc/third_party/pcre-8。30 -Ibuild/linux2/release/ssl -Isrc -Ibuild/linux2/release/ssl/mongo -Isrc/mongo -Ibuild/linux2/release/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/release/ ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/release/ssl/third_party/v8/include -Isrc/third_party/v8/include src/mongo/util/net/ssl_manager.cpp

src/mongo/util/net/ssl_manager.cpp:在成员函数“void mongo::SSLManager::_setupFIPS()”中:src/mongo/util/net/ssl_manager.cpp:187:错误:未声明“FIPS_mode_set”在此范围内 scons:* [build/linux2/release/ssl/mongo/util/net/ssl_manager.o] 错误 1 ​​scons:构建因错误而终止。

如何解决这个问题。使用 Ubuntu 12.04

4

2 回答 2

1

要解决此错误,请确保您安装了定义 FIPS_mode_set 的 OpenSSL 版本。例如,某些 0.9.8 版本不支持。升级到 1.0.1 应该可以解决。

如果您已经在 1.0.1 上,请确保 scons 正在使用正确的 OpenSSL 标头和库。您可以通过将 include 和 lib 路径添加为命令行参数来显式设置,如下所示:

scons --ssl --cpppath /usr/local/openssl/1.0.1e/include --libpath /usr/local/openssl/1.0.1e/lib all

提供的路径是您的 OpenSSL 包含和库的实际路径。

于 2013-06-21T12:47:04.143 回答
0

对于那些在 Mac 上对 OSX 有同样问题的人。以下是您需要包括的内容:

scons --ssl --cpppath=/usr/local/opt/openssl/include --libpath=/usr/local/opt/openssl/lib all

假设你已经用 brew 下载了 openssl

brew install openssl
于 2016-08-26T15:12:08.143 回答