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

Solaris build fails without explicit architecture setting

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Trivial - P5 Trivial - P5
    • None
    • Affects Version/s: 2.6.0, 2.7.0
    • Component/s: Build
    • Labels:
      None
    • Fully Compatible
    • ALL
    • BUILD 1

      When building without the "--64" flag, the detected architecture is not supported:

      -bash-4.2# scons --cxx=/opt/gcc-4.6.3/bin/g++ -j4 --release all dist
      scons: Reading SConscript files ...
      scons version: 2.3.0
      python version: 2 6 7 'final' 0
      Checking whether the C++ compiler worksyes
      Checking if C++ compiler "/opt/gcc-4.6.3/bin/g++" is GCC... yes
      Checking if target architecture is 32-bit x86...yes
      Checking if C compiler supports -Wno-unused-local-typedefs... no
      Checking if C compiler supports -Wno-unused-function... yes
      Checking if C compiler supports -Wno-unused-private-field... no
      Checking if C compiler supports -Wno-deprecated-declarations... yes
      Checking if C compiler supports -Wno-tautological-constant-out-of-range-compare... no
      Checking if C compiler supports -Wno-unused-const-variable... no
      Checking for __thread... yes
      Checking for C header file unistd.h... yes
      Checking for C library rt... yes
      Checking for C++ header file execinfo.h... yes
      Checking whether backtrace is declared... yes
      Checking whether backtrace_symbols is declared... yes
      Checking whether backtrace_symbols_fd is declared... yes
      Checking for C library pcap... no
      Checking for C library wpcap... no
      Checking for C library nsl... yes
      AssertionError: Unsupported architecture: i86pc:
        File "/root/mongo/SConstruct", line 1704:
          env.SConscript('src/SConscript', variant_dir='$BUILD_DIR', duplicate=False)
        File "/usr/lib/scons-2.3.0/SCons/Script/SConscript.py", line 546:
          return _SConscript(self.fs, *files, **subst_kw)
        File "/usr/lib/scons-2.3.0/SCons/Script/SConscript.py", line 260:
          exec _file_ in call_stack[-1].globals
        File "/root/mongo/src/SConscript", line 10:
          module_sconscripts)
        File "/usr/lib/scons-2.3.0/SCons/Script/SConscript.py", line 609:
          return method(*args, **kw)
        File "/usr/lib/scons-2.3.0/SCons/Script/SConscript.py", line 546:
          return _SConscript(self.fs, *files, **subst_kw)
        File "/usr/lib/scons-2.3.0/SCons/Script/SConscript.py", line 260:
          exec _file_ in call_stack[-1].globals
        File "/root/mongo/src/third_party/SConscript", line 60:
          env.SConscript('v8/SConscript')
        File "/usr/lib/scons-2.3.0/SCons/Script/SConscript.py", line 546:
          return _SConscript(self.fs, *files, **subst_kw)
        File "/usr/lib/scons-2.3.0/SCons/Script/SConscript.py", line 260:
          exec _file_ in call_stack[-1].globals
        File "/root/mongo/src/third_party/v8/SConscript", line 341:
          options = get_options()
        File "/root/mongo/src/third_party/v8/SConscript", line 295:
          assert False, "Unsupported architecture: " + processor
      

      This is because we use "uname" to detect the architecture, which in Solaris looks like this:

      -bash-4.2# uname -a
      SunOS ip-10-81-144-95.ec2.internal 5.11 omnios-d3950d8 i86pc i386 i86xpv
      

      In Linux for comparison:

      sverch@sverch-desktop:~$ uname -a
      Linux sverch-desktop 3.8.0-27-generic #40-Ubuntu SMP Tue Jul 9 00:17:05 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
      

      Example of Solaris command that does show architecture:

      -bash-4.2# isainfo -kv
      64-bit amd64 kernel modules
      

            Assignee:
            jonathan.reams@mongodb.com Jonathan Reams
            Reporter:
            sverch Shaun Verch
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: