Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-19164

Enable /bigobj compiler option for Windows debug builds

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.1.5
    • Affects Version/s: None
    • Component/s: Build
    • Labels:
      None
    • Fully Compatible

      Without it, when building with --dbg=on --opt=off on Windows we get some object files, which exceed the maximum object size of the VC++ compiler.

      See this article for more information.

      E:\workspace\mongo>scons -j 12 --dbg=on --opt=off --ssl --dynamic-windows --win-version-min=ws08r2 CPPPATH="D:/workspace/libs/snmp/include D:/workspace/libs/sasl/include D:/workspace/libs/openssl/include" LIBPATH="D:/workspace/libs/snmp/lib D:/workspace/libs/sasl/lib D:/workspace/libs/openssl/lib" --mute build\debug\mongo\s\catalog\dist_lock_catalog_impl_test.exe
      scons: Reading SConscript files ...
      scons version: 2.3.4
      python version: 2 7 6 'final' 0
      Checking whether the C++ compiler works... (cached) yes
      Checking whether the C compiler works... (cached) yes
      Checking if C++ compiler "$CC" is MSVC... (cached) yes
      Checking if C compiler "cl" is MSVC... (cached) yes
      Detected a x86_64 processor
      Checking if target OS windows is supported by the toolchain (cached) yes
      adding module: subscription
      Checking if C compiler is Microsoft Visual Studio 2013 Update 4 or newer...(cached) yes
      Checking if C++ compiler is Microsoft Visual Studio 2013 Update 4 or newer...(cached) yes
      Checking if we are using libstdc++... (cached) no
      Checking for C++11... (cached) yes
      Checking Windows SDK is 8.1 or newer... (cached) yes
      Checking if we are on a POSIX system... (cached) no
      Checking for storage class thread_local (cached) no
      Checking for storage class __thread (cached) no
      Checking for storage class __declspec(thread) (cached) yes
      Checking for C++11 is_trivially_copyable support... (cached) yes
      Checking for C++14 std::make_unique support... (cached) yes
      Checking for C++ header file execinfo.h... (cached) no
      Checking for C library pcap... (cached) no
      Checking for C library wpcap... (cached) no
      Checking if std::atomic<int64_t> works... (cached) yes
      Checking if std::atomic<uint64_t> works... (cached) yes
      Checking if std::atomic<int32_t> works... (cached) yes
      Checking if std::atomic<uint32_t> works... (cached) yes
      configuring module: subscription
      Checking for C++ header file net-snmp/net-snmp-config.h... (cached) yes
      Checking for sasl_version_info(0, 0, 0, 0, 0, 0) in C library sasl2... (cached) yes
      Checking for C library gssapi_krb5... (cached) no
      Checking if OpenSSL is available...(cached) yes
      Checking whether FIPS_mode_set is declared... (cached) yes
      Checking if __malloc_hook is declared volatile... (cached) yes
      scons: done reading SConscript files.
      scons: Building targets ...
      Compiling build\debug\mongo\s\catalog\dist_lock_catalog_impl_test.obj
      dist_lock_catalog_impl_test.cpp
      E:\workspace\mongo\src\mongo\s\catalog\dist_lock_catalog_impl_test.cpp : fatal error C1128: number of sections exceeded object file format limit : compile with /bigobj
      scons: *** [build\debug\mongo\s\catalog\dist_lock_catalog_impl_test.obj] Error 1
      scons: building terminated because of errors.
      

            Assignee:
            jonathan.reams@mongodb.com Jonathan Reams
            Reporter:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: