Primeiro, com um comando
$ echo _ZN5boost6detail13once_epoch_cvE|c++filt
boost::detail::once_epoch_cv
podemos ver que sua biblioteca de impulsionamento está sem o símbolo boost::detail::once_epoch_cv
. Na maioria dos casos, esses símbolos faltantes ocultos vêm de nomes de classes / namespace c ++ e podem ser facilmente convertidos com a ferramenta c++filt
(parte do pacote gcc / g ++).
Assim, você não tem o método once_epoch_cv
no namespace detail
de sua biblioteca de reforço. Pesquisando para que possamos encontrar aqui, pelo menos, o boost-1.47 continha este símbolo. Sua saída do ldd diz que você está usando uma nova versão de boost (1.49).
Eu acho que há esse tipo de incompatibilidade entre o seu real boost instalado e entre o qual o seu executável mongodb foi compilado. Minha sugestão era recompilar esse mongodb da fonte ou eliminar a causa dessa incompatibilidade (provavelmente o uso de alguns repositórios inofficial / incompatível).