MongoDB是否需要gcc 4.0.0或更高版本?

时间:2014-01-07 07:08:19

标签: mongodb gcc solaris dynamic-linking

我使用的是MongoDB Solaris软件包。当我使用ldd命令检查mongod时,输出为:

bash-3.2# ldd mongod
    libsocket.so.1 =>        /lib/64/libsocket.so.1
    libresolv.so.2 =>        /lib/64/libresolv.so.2
    librt.so.1 =>    /lib/64/librt.so.1
    libnsl.so.1 =>   /lib/64/libnsl.so.1
    libstdc++.so.6 =>        /usr/sfw/lib/amd64/libstdc++.so.6
    libm.so.2 =>     /lib/64/libm.so.2
    libgcc_s.so.1 =>         /usr/sfw/lib/amd64/libgcc_s.so.1
    libgcc_s.so.1 (GCC_4.0.0) =>     (version not found)
    libpthread.so.1 =>       /lib/64/libpthread.so.1
    libc.so.1 =>     /lib/64/libc.so.1
    libaio.so.1 =>   /lib/64/libaio.so.1
    libmd.so.1 =>    /lib/64/libmd.so.1
    libmp.so.2 =>    /lib/64/libmp.so.2
    libscf.so.1 =>   /lib/64/libscf.so.1
    libdoor.so.1 =>  /lib/64/libdoor.so.1
    libuutil.so.1 =>         /lib/64/libuutil.so.1
    libgen.so.1 =>   /lib/64/libgen.so.1  

从输出中,我注意到以下几行:

libgcc_s.so.1 =>         /usr/sfw/lib/amd64/libgcc_s.so.1
libgcc_s.so.1 (GCC_4.0.0) =>     (version not found)  

根据我的理解,我认为这意味着libgcc_s.so.1的版本必须是4.0.0或更高版本。 MongoDB是否要求gcc版本为4.0.0或更高版本?我无法在其网站上找到此要求。

1 个答案:

答案 0 :(得分:2)

从Github上的源代码中我们可以看到:

#if __GNUC__ < 4
#error gcc < 4 not supported
#endif

https://github.com/mongodb/mongo/blob/master/src/mongo/pch.cpp

我在官方文档中找不到这个,但文档确实说你需要GNU C ++工具链,我想这意味着什么是最新版本。