/opt/csw/gcc4/bin/g++ -o mongofiles -fPIC -pthread stdafx.o buildinfo.o db/jsobj.o db/json.o db/commands.o db/lasterror.o db/nonce.o db/queryutil.o shell/mongo.o util/background.o util/mmap.o util/sock.o util/util.o util/message.o util/assert_util.o util/httpclient.o util/md5main.o util/base64.o util/debug_util.o util/md5.o client/connpool.o client/dbclient.o client/model.o client/parallel.o scripting/engine.o util/mmap_posix.o util/processinfo_none.o scripting/engine_spidermonkey.o db/query.o db/update.o db/introspect.o db/btree.o db/clientcursor.o db/tests.o db/repl.o db/btreecursor.o db/cloner.o db/namespace.o db/matcher.o db/dbeval.o db/dbwebserver.o db/dbinfo.o db/dbhelpers.o db/instance.o db/pdfile.o db/cursor.o db/security_commands.o db/client.o db/security.o util/miniwebserver.o db/storage.o db/reccache.o db/queryoptimizer.o db/extsort.o db/mr.o s/d_util.o db/dbcommands.o db/dbcommands_admin.o s/d_logic.o client/gridfs.o tools/tool.o tools/files.o -L/opt/csw/lib -L/usr/local/lib -L/usr/lib -L/usr/sfw/lib -L/opt/csw/gcc/lib -lsocket -lresolv -lz -lstdc++ -lrt -lrt -lnsl -lnsl -lrt -lnsl /usr/local/lib/libboost_thread.a /usr/local/lib/libboost_filesystem.a /usr/local/lib/libboost_program_options.a /usr/local/lib/libboost_iostreams.a /usr/local/lib/libboost_system.a /usr/local/lib/libpcrecpp.a /usr/local/lib/libpcre.a /opt/csw/lib/libpcap.a /usr/local/lib/libjs.a
/opt/csw/gcc4/bin/g++ -o tools/sniffer.o -c -Wnon-virtual-dtor -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -O3 -D_SCONS -D_linux_ -D_sunos_ -DNOEXECINFO -DXP_UNIX -I. -I/opt/csw/include -I/usr/local/include -I/usr/include -I/usr/sfw/include -I/opt/csw/gcc/include tools/sniffer.cpp
tools/sniffer.cpp:80: error: 'u_int32_t' does not name a type
I had to add
#include <sys/types.h>
#if defined(sun) && (defined(_svr4) || defined(_SVR4))
typedef uint64_t u_int64_t;
typedef uint32_t u_int32_t;
typedef uint16_t u_int16_t;
typedef uint8_t u_int8_t;
#endif