2013-06-21 29 views
1

當我運行scons的--ssl所有,它拋出一個錯誤:使用SCons MongoDB中

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 -DNETSNMP_NO_INLINE -Ibuild/linux2/release/ssl/third_party/libstemmer_c/include -Isrc/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: In member function 'void mongo::SSLManager::_setupFIPS()': src/mongo/util/net/ssl_manager.cpp:187: error: 'FIPS_mode_set' was not declared in this scope scons: * [build/linux2/release/ssl/mongo/util/net/ssl_manager.o] Error 1 scons: building terminated because of errors.

如何來解決這個問題。使用Ubuntu 12.04

回答

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的實際路徑包括和庫。

+0

如何檢查是否正在使用的scons的正確的OpenSSL頭OpenSSL的?並請指導我如何明確地設置 – user2439278

+0

我已經用示例更新了我的答案。我添加了--libpath以及可能需要的。 –

+0

@JamesWahlin - 你可以將這個信息(關於設置路徑)添加到MongoDB構建mongo的文檔(http://www.mongodb.org/about/tutorial/build-mongodb-on-linux/)嗎?我實際上在MongoDB JIRA b/c中提交了一個bug,「build on linux」教程有一個鏈接到「在github上編輯」,但是這個鏈接被破壞了。 https://jira.mongodb.org/browse/DOCS-2173 – codecraig

0

對於那些在Mac上與OSX有相同問題的人。這裏是你需要的東西包括:

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

假設您已經下載了BREW

brew install openssl