[SERVER-20714] Cannot build Intel DFP library on non-x86 architectures Created: 01/Oct/15  Updated: 04/Nov/15  Resolved: 29/Oct/15

Status: Closed
Project: Core Server
Component/s: Build
Affects Version/s: 3.1.8
Fix Version/s: 3.2.0-rc2

Type: Bug Priority: Minor - P4
Reporter: Bryan Chan Assignee: Jonathan Reams
Resolution: Done 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 A (10/09/15), Build B (10/30/15)
Participants:

 Description   

Building MongoDB on non-x86 architectures like ppc64 and s390x fails while configuring/building the Intel DFP library. The problem can be worked around by using these scons options:

--experimental-decimal-support=off --use-system-intel_decimal128

But it is not intuitive. Platform checks in SConscripts should disable the Intel library for non-x86 architectures.



 Comments   
Comment by Bryan Chan [ 29/Oct/15 ]

jonathan.reams Thanks, your fix works for me.

Comment by Jonathan Reams [ 29/Oct/15 ]

bryanpkc, can you try now? I pushed a fix to master last night and I've verified it on our sparc machines.

Comment by Githook User [ 28/Oct/15 ]

Author:

{u'username': u'jbreams', u'name': u'Jonathan Reams', u'email': u'jbreams@mongodb.com'}

Message: SERVER-20714 Only build the intel decimal library if decimal support is enabled
Branch: master
https://github.com/mongodb/mongo/commit/5d6d625bd2fad0c52af639ba04c2abbca6abc49e

Comment by Bryan Chan [ 23/Oct/15 ]

How do I re-open this ticket?

Comment by Bryan Chan [ 23/Oct/15 ]

Pulled the latest master into my tree, and I still see the same issue:

AssertionError: Unsupported architecture: s390x:
File "/localbox/bryanpkc/mongodb/mongo-s390/SConstruct", line 2515:
env.SConscript('src/SConscript', variant_dir='$BUILD_DIR', duplicate=False)
...
File "/localbox/bryanpkc/mongodb/mongo-s390/src/third_party/IntelRDFPMathLib20U1/SConscript", line 307:
assert False, "Unsupported architecture: " + processor

I am no SCons expert, but I think that has_option("experimental-decimal-support") in SERVER-20124 will always return true, since the option can only have values of "on" or "off" (defaulting to "off"), and both strings evaluate to true. The build starts working when I change that line to:

if has_option("experimental-decimal-support") and GetOption("experimental-decimal-support") == "on":

Comment by Jonathan Reams [ 20/Oct/15 ]

Bryan, I haven't heard back in a week, so I'm going to close this. If you have any further issues you can re-open this ticket.

Comment by Bryan Chan [ 13/Oct/15 ]

Sorry Jonathan, let me pull the latest master and report back.

Comment by Jonathan Reams [ 09/Oct/15 ]

bryanpkc, I haven't heard back from you on this in a while, is this still an issue?

Comment by Jonathan Reams [ 01/Oct/15 ]

bryanpkc, SCons shouldn't be building the intel decimal library unless experimental decimal support is explicitly enabled (see SERVER-20124). What's your scons command-line look like?

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