2013-12-07 8 views
2

Я пытаюсь построить MongoDB (r2.4.8) с --ssl опции на сервере Ubuntu (13,10)Ошибка при создании MongoDB на Ubuntu Server

я получаю эти ошибки:

scons --ssl --64 all 

src/third_party/boost/boost/date_time/posix_time/posix_time_io.hpp: In function 'std::basic_ostream<_CharT, _Traits>& boost::posix_time::operator<<(std::basic_ostream<_CharT, _Traits>&, const boost::posix_time::time_duration&)': 
src/third_party/boost/boost/date_time/posix_time/posix_time_io.hpp:183:51: error: typedef 'std_ptime_facet' locally defined but not used [-Werror=unused-local-typedefs] 
    typedef std::time_put<CharT>     std_ptime_facet; 
               ^
In file included from src/third_party/boost/boost/config.hpp:57:0, 
       from src/third_party/boost/boost/smart_ptr/shared_ptr.hpp:17, 
       from src/third_party/boost/boost/shared_ptr.hpp:17, 
       from src/mongo/pch.h:48, 
       from src/mongo/shell/dbshell.cpp:18: 
src/mongo/db/../bson/bsonobjbuilder.h: In member function 'void mongo::BSONArrayBuilder::fill(int)': 
src/third_party/boost/boost/static_assert.hpp:125:21: error: typedef 'boost_static_assert_typedef_836' locally defined but not used [-Werror=unused-local-typedefs] 
      BOOST_JOIN(boost_static_assert_typedef_, __LINE__) 
        ^
src/mongo/db/../bson/bsonobjbuilder.h:836:13: note: in expansion of macro 'BOOST_STATIC_ASSERT' 
      BOOST_STATIC_ASSERT(maxElems < (BSONObjMaxUserSize/10)); 
      ^
In file included from src/third_party/boost/boost/filesystem/v3/path_traits.hpp:23:0, 
       from src/third_party/boost/boost/filesystem/v3/path.hpp:25, 
       from src/third_party/boost/boost/filesystem/v3/operations.hpp:25, 
       from src/third_party/boost/boost/filesystem/operations.hpp:31, 
       from src/mongo/shell/dbshell.cpp:20: 
src/third_party/boost/boost/system/error_code.hpp: At global scope: 
src/third_party/boost/boost/system/error_code.hpp:214:36: error: 'boost::system::posix_category' defined but not used [-Werror=unused-variable] 
    static const error_category & posix_category = generic_category(); 
            ^
src/third_party/boost/boost/system/error_code.hpp:215:36: error: 'boost::system::errno_ecat' defined but not used [-Werror=unused-variable] 
    static const error_category & errno_ecat  = generic_category(); 
            ^
src/third_party/boost/boost/system/error_code.hpp:216:36: error: 'boost::system::native_ecat' defined but not used [-Werror=unused-variable] 
    static const error_category & native_ecat = system_category(); 
            ^
cc1plus: all warnings being treated as errors 
scons: *** [build/linux2/64/ssl/mongo/shell/dbshell.o] Error 1 
scons: building terminated because of errors. 

Это всего лишь несколько ошибок из списка ошибок ...

Что я делаю неправильно?

Благодаря

+0

Хммм работает на моем ноутбуке, является ли сервер ubuntu чем-то отличным от рабочего стола, когда дело доходит до создания mongodb? – DarkRoast

ответ

2

Это похоже на ошибку в boost при компиляции с GCC4.8. Недавно я обновился до 13.10 (рабочий стол) и начал иметь такую ​​же проблему. Конечно ...

[email protected]####:~$ g++ --version 
g++ (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1 

Googled вокруг немного и нашел это:

https://svn.boost.org/trac/boost/ticket/7242

Easy исправление компилировать с -Wno-unused-local-typedefs, который можно добавить в файл Scons.

+0

Будет ли это в файле SConstruct? Где в файле? –

1

Простейший способ:

sudo apt-get build-dep mongodb # or monodb-server 

Вы можете фактически тривиальным скомпилировать пакет DEBiAN из источника с помощью одного оператора:

apt-get source --compile mongodb 

Это говорит о том, что разработчики Debian есть цифры из быть требуемыми зависимостями. В 90% случаев это ускоряет поиск недостающих бит для меня

+0

Спасибо за ваш ответ. Я пробовал это: apt-get source -compile mongodb, и он работает. Но я все еще не могу получить scons -ssl -64 для работы на сервере ubuntu. Все равно получите ту же ошибку – DarkRoast

+0

выглядит так, как будто вы запускаете с -Werror (предупреждения как ошибки). Возможно, в вашей среде есть флаг (CPPFLAGS?) Или файл scons? Часто Debian исправляет проблемы сборки в своих пакетах. – sehe

+0

Я удалил -Werror из SConestruct и его здания ... Одна вещь, -Werror не там по причине? не будет ли сборка неустойчивой? – DarkRoast