Question

I am using MongoDB Solaris package. When I use ldd command to check the mongod, the output is:

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  

From the output, I notice the following lines:

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

Per my understanding, I think it means the version of libgcc_s.so.1 must be 4.0.0 or higher. Does MongoDB require the gcc version be 4.0.0 or higher? I can't find this requirement in its website.

Was it helpful?

Solution

Yes.

From the source code on Github, we can see:

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

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

I can't find this in the official docs though, but the docs do state that you need GNU C++ Toolchain, which I would imagine implies whatever is the most current release.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top