[SERVER-13529] Solaris build fails without explicit architecture setting Created: 09/Apr/14  Updated: 03/Feb/15  Resolved: 09/Jan/15

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

Type: Bug Priority: Trivial - P5
Reporter: Shaun Verch Assignee: Jonathan Reams
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: BUILD 1
Participants:

 Description   

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



 Comments   
Comment by Jonathan Reams [ 09/Jan/15 ]

This will be resolved by SERVER-16791

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