[SERVER-12272] 2.4.9-rc0 does not compile with gcc-4.8.1 Created: 07/Jan/14  Updated: 10/Dec/14  Resolved: 07/Mar/14

Status: Closed
Project: Core Server
Component/s: Build
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor - P4
Reporter: Andrew Morrow (Inactive) Assignee: Andrew Morrow (Inactive)
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

gcc-4.8.1


Issue Links:
Related
related to SERVER-13724 Add SCons flag to override treating a... Closed
Operating System: ALL
Participants:

 Description   

When building 2.4.9-rc0 with gcc-4.8.1, the following errors occur:

src/third_party/boost/boost/date_time/date_parsing.hpp: In function 'date_type boost::date_time::parse_undelimited_date(const string&)':
src/third_party/boost/boost/date_time/date_parsing.hpp:162:45: warning: typedef 'year_type' locally defined but not used [-Wunused-local-typedefs]
       typedef typename date_type::year_type year_type;
                                             ^
src/third_party/boost/boost/concept/detail/general.hpp:71:20: warning: typedef 'boost_concept_check266' locally defined but not used [-Wunused-local-typedefs]
       BOOST_PP_CAT(boost_concept_check,__LINE__)

We probably need to add -Wno-unused-local-typedefs as suggested in the fixit.



 Comments   
Comment by Andrew Morrow (Inactive) [ 08/May/14 ]

A workaround for this issue has been backported to the 2.4 branch: https://github.com/mongodb/mongo/commit/899d16e9c6ff8388db6c9c42bbaa97f330fa5bfc

See SERVER-13724 for additional details on the new --disable-warnings-as-errors flag, which will be available in the next 2.4 release.

Comment by Neville Dipale [ 16/Mar/14 ]

Yes, I just noticed that I typed --cc=gc. Thanks, it's now building

Comment by Andrew Morrow (Inactive) [ 16/Mar/14 ]

You didn't provide your scons invocation, but my guess is that typed --cc=gc rather than --cc=gcc.

Comment by Neville Dipale [ 16/Mar/14 ]

Here's the full output that I get,

scons: Reading SConscript files ...
scons version: 2.3.0
python version: 2 7 5 'final' 0
Checking whether the C++ compiler works(cached) yes
Checking for C header file unistd.h... (cached) no
Checking whether clock_gettime is declared... (cached) no
Checking for C++ header file execinfo.h... (cached) yes
Checking whether backtrace is declared... (cached) no
Checking for C library pcap... (cached) no
Checking for C library wpcap... (cached) no
Checking if __malloc_hook is declared volatile... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
ar rc build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/libfail_point.a build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/fail_point.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/fail_point_registry.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/fail_point_service.o
ranlib build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/libfail_point.a
ar rc build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/libfoundation.a build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/assert_util.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/concurrency/mutexdebugger.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/debug_util.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/exception_filter_win32.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/file.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/log.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/platform_init.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/signal_handlers.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/text.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/time_support.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/timer.o
ranlib build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/libfoundation.a
generate_buildinfo(["build/buildinfo.cpp"], ['\n#include <string>\n#include <boost/version.hpp>\n\n#include "mongo/util/version.h"\n\nnamespace mongo {\n    const char * gitVersion() { return "%(git_version)s"; }\n    const char * compiledJSEngine() { return "%(js_engine)s"; }\n    const char * allocator() { return "%(allocator)s"; }\n    const char * loaderFlags() { return "%(loader_flags)s"; }\n    const char * compilerFlags() { return "%(compiler_flags)s"; }\n    std::string sysInfo() { return "%(sys_info)s BOOST_LIB_VERSION=" BOOST_LIB_VERSION ; }\n}  // namespace mongo\n'])
ar rc build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/libnotmongodormongos.a build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/client/connection_factory.o
ranlib build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/libnotmongodormongos.a
ar rc build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/libscripting.a build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/scripting/engine.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/scripting/utils.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/scripting/bench.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/scripting/engine_v8.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/scripting/v8_db.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/scripting/v8_utils.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/scripting/v8_profiler.o
ranlib build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/libscripting.a
ar rc build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/libstringutils.a build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/stringutils.o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/util/base64.o
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/platform/backtrace.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/mongo/platform/backtrace.cpp
ranlib build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/libstringutils.a
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost/libs/program_options/src/variables_map.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/boost/libs/program_options/src/variables_map.cpp
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost/libs/program_options/src/winmain.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/boost/libs/program_options/src/winmain.cpp
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost/libs/system/src/error_code.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/boost/libs/system/src/error_code.cpp
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost/libs/thread/src/pthread/once.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DBOOST_THREAD_BUILD_LIB -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 src/third_party/boost/libs/thread/src/pthread/once.cpp
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost/libs/thread/src/pthread/thread.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DBOOST_THREAD_BUILD_LIB -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 src/third_party/boost/libs/thread/src/pthread/thread.cpp
gc -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/base/dynamic_annotations.o -c -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/base/dynamic_annotations.c
sh: 1: gc: not found
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/base/spinlock_internal.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/base/spinlock_internal.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/base/logging.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/base/logging.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/base/atomicops-internals-x86.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/base/atomicops-internals-x86.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/base/sysinfo.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/base/sysinfo.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/base/spinlock.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/base/spinlock.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/tcmalloc.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/tcmalloc.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/malloc_hook.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/malloc_hook.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/span.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/span.cc
src/mongo/platform/backtrace.cpp: In function 'int mongo::pal::{anonymous}::addrtosymstr(void*, char*, int)':
src/mongo/platform/backtrace.cpp:71:9: error: 'Dl_info_t' was not declared in this scope
         Dl_info_t symbolInfo;
         ^
src/mongo/platform/backtrace.cpp:71:19: error: expected ';' before 'symbolInfo'
         Dl_info_t symbolInfo;
                   ^
src/mongo/platform/backtrace.cpp:72:30: error: 'symbolInfo' was not declared in this scope
         if (dladdr(address, &symbolInfo) == 0) {    // no info: "[address]"
                              ^
src/mongo/platform/backtrace.cpp:75:13: error: 'symbolInfo' was not declared in this scope
         if (symbolInfo.dli_sname == NULL) {
             ^
src/mongo/platform/backtrace.cpp:87:25: error: 'symbolInfo' was not declared in this scope
                         symbolInfo.dli_fname,
                         ^
src/mongo/platform/backtrace.cpp: In function 'int mongo::pal::backtrace_emulation(void**, int)':
src/mongo/platform/backtrace.cpp:106:57: error: 'walkcontext' was not declared in this scope
                 static_cast<void*>(&walkcontextCallback));
                                                         ^
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/maybe_threads.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/maybe_threads.cc
src/third_party/gperftools-2.0/src/base/sysinfo.cc: In function 'bool ReadIntFromFile(const char*, int*)':
src/third_party/gperftools-2.0/src/base/sysinfo.cc:253:37: warning: ignoring return value of 'ssize_t read(int, void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]
     read(fd, line, sizeof(line) - 1);
                                     ^
src/mongo/platform/backtrace.cpp: In function 'int mongo::pal::{anonymous}::addrtosymstr(void*, char*, int)':
src/mongo/platform/backtrace.cpp:92:5: error: control reaches end of non-void function [-Werror=return-type]
     }
     ^
src/mongo/platform/backtrace.cpp: In function 'void mongo::pal::backtrace_symbols_fd_emulation(void* const*, int, int)':
src/mongo/platform/backtrace.cpp:158:45: error: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result [-Werror=unused-result]
             write(fd, stringBuffer, len + 1);
                                             ^
cc1plus: all warnings being treated as errors
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/internal_logging.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/internal_logging.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/symbolize.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/symbolize.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/system-alloc.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/system-alloc.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/memfs_malloc.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/memfs_malloc.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/central_freelist.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/central_freelist.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/thread_cache.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/thread_cache.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/page_heap.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/page_heap.cc
./gcc48.fixup -o build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/common.o -c -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -fno-builtin-memcmp -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DMONGO_SSL -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src -Isrc/third_party/gperftools-2.0/src -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/libstemmer_c/include -Isrc/third_party/libstemmer_c/include -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl -Isrc -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo -Isrc/mongo -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/s2 -Isrc/third_party/s2 -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/v8/include -Isrc/third_party/v8/include src/third_party/gperftools-2.0/src/common.cc
src/third_party/gperftools-2.0/src/tcmalloc.cc: In function 'void PrintStats(int)':
src/third_party/gperftools-2.0/src/tcmalloc.cc:484:47: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]
   write(STDERR_FILENO, buffer, strlen(buffer));
                                               ^
src/third_party/gperftools-2.0/src/tcmalloc.cc: In function 'void {anonymous}::ReportLargeAlloc(Length, void*)':
src/third_party/gperftools-2.0/src/tcmalloc.cc:994:47: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]
   write(STDERR_FILENO, buffer, strlen(buffer));
                                               ^
scons: *** [build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/third_party/gperftools-2.0/src/base/dynamic_annotations.o] Error 127
src/third_party/gperftools-2.0/src/internal_logging.cc: In function 'void tcmalloc::WriteMessage(const char*, int)':
src/third_party/gperftools-2.0/src/internal_logging.cc:59:36: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]
   write(STDERR_FILENO, msg, length);
                                    ^
scons: *** [build/linux2/cc_gc/cxx_._gcc48.fixup/ssl/mongo/platform/backtrace.o] Error 1
src/third_party/gperftools-2.0/src/symbolize.cc: In member function 'int SymbolTable::Symbolize()':
src/third_party/gperftools-2.0/src/symbolize.cc:234:61: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]
       write(child_in[1], pprof_buffer, strlen(pprof_buffer));
                                                             ^
scons: building terminated because of errors.

Comment by Andrew Morrow (Inactive) [ 16/Mar/14 ]

Currently, we aren't planning to fix this in any 2.4 release (note that the ticket is marked 'wont fix'). Can you paste here an example of one of the errors you are getting now? Perhaps there is any easy resolution.

Comment by Neville Dipale [ 16/Mar/14 ]

Thanks, and I'm sincerely sorry for the sarcasm. I won't do it again. The part I couldn't figure out was what to do with the first bash script.

Thanks again, really appreciate it.

*EDIT:* It still throws errors when building, I'll just wait for 2.4.10.

Comment by Andrew Morrow (Inactive) [ 16/Mar/14 ]

Hi nevi_me

My instructions were not detailed enough:

  • The first snippet should be placed in a file in the root of the source tree called "gcc48.fixup"
  • Make the script executable (chmod u+x ./gcc48.fixup)
  • Set the C++ compiler to be the script file by passing --cxx=./gcc48.fixup to scons. So here is a worked example.

% touch ./gcc48.fixup
% vi ./gcc48.fixup
% cat ./gcc48.fixup
#!/bin/sh
g++ "$@" -Wno-unused-local-typedefs
% chmod u+x ./gcc48.fixup
% scons --cc=gcc --cxx=./gcc48.fixup -j30 all

Comment by Neville Dipale [ 16/Mar/14 ]

This is really helpful to people who don't understand the workings of gcc. Yes, we shouldn't be trying to compile from source if we aren't sure of how certain things work, but not everyone is a knowledgeable CS graduate or engineer. A bit more clarity would be appreciated.

Do you mind kindly providing a bit more detail on how to bypass the compilation errors? I can't get the above to work,
When trying the first snippet I get:

g++: fatal error: no input files
compilation terminated.

Then the next snippet complains about C++ not installed.

Comment by Andrew Morrow (Inactive) [ 07/Mar/14 ]

One workaround for this is to write a simple wrapper script around g++:

#!/bin/sh
g++ "$@" -Wno-unused-local-typedefs

This assumes that the g++ in your path is the g++-4.8+ version that you are working around. If not, use an explicit path.

And then pass this as the argument for --cxx when building:

scons --cc=gcc --cxx=./gcc48.fixup -j30 all

This again assumes that the gcc in your path is the one you want; if not override with --cc=<path-to-gcc>. You must specify both the C and C++ compiler, but you only need to wrap the C++ compiler.

Note that the argument order in the script is critical: if you pass the warning suppression before the quoted arguments it will not work, since the quoted arguments include -Wall which will re-enable the warning.

Comment by Githook User [ 04/Feb/14 ]

Author:

{u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@10gen.com'}

Message: Revert "SERVER-12272 Suppress new GCC 4.8 warning about unused local typedefs"

This reverts commit 7fa028e8fa7b961d69769172565791b1dd5caec4.

Older GCC doesn't silently ignore attempts to disable warnings it doesn't
know about, so -Wno-unused-local-typedefs breaks the build.
Branch: v2.4
https://github.com/mongodb/mongo/commit/b0971060b10d57588759b56fcaff380c7909f219

Comment by Eric Milkie [ 04/Feb/14 ]

"-Wno-unused-local-typedefs" is not recognized at the compiler-check time for the Linux and OS X 2.4 builders.
g++ on Linux builder is 4.1.2

Comment by Githook User [ 03/Feb/14 ]

Author:

{u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@10gen.com'}

Message: SERVER-12272 Suppress new GCC 4.8 warning about unused local typedefs
Branch: v2.4
https://github.com/mongodb/mongo/commit/7fa028e8fa7b961d69769172565791b1dd5caec4

Comment by Andrew Morrow (Inactive) [ 03/Feb/14 ]

I think this is trivial. As far as I know, GCC ignores unknown flags of the form -Wno-xxx, so we can just add -Wno-unused-local-typdefs unconditionally.

Comment by Eliot Horowitz (Inactive) [ 10/Jan/14 ]

We should see if there is a simple, clean and safe way to do this in 2.4.10.
If not, we should close and document.

Comment by Andrew Morrow (Inactive) [ 08/Jan/14 ]

I don't believe so. I think this is a new warning in gcc-4.8, which came along with upgrade to saucy. It does mean that you can't do a naive build of the 2.4 branch on saucy, which is too bad, but there are older versions of gcc available on that platform so you can work around with --cc and --cxx. Master is unaffected since we already suppressed this warning there since clang had the same issue, but we do it in a way that is not easily backported to 2.4.

Comment by Eliot Horowitz (Inactive) [ 08/Jan/14 ]

Is this a regression from 2.4.8?

Generated at Thu Feb 08 03:28:05 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.