[SERVER-27833] Allow building on non-official architectures Created: 27/Jan/17 Updated: 31/May/17 Resolved: 01/Mar/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build, Portability |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Marek Skalický | Assignee: | Andrew Morrow (Inactive) |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Backwards Compatibility: | Fully Compatible |
| Participants: |
| Description |
|
Currently MongoDB is supported on x86_64, aarch64, ppc64le and s390x. Attached patches allows to build and run it on arm, x86 and ppc64be. I understand that MongoDB, Inc. do not want to support new architectures and I am not asking for it. IMPOV it would be useful be able to build code also on different platforms, even without official support and clarification that it should work. Some users might try to compile MongoDB on their HW and test it. It is handy to know quality of the code, possible future portability,... 32bit-support.patch - required for building on arm and x86 |
| Comments |
| Comment by Marek Skalický [ 02/Mar/17 ] |
System version of MozJS is(/could be) used -
I understand, thanks for the response. I wanted to make patches more visible for possible use by others. |
| Comment by Andrew Morrow (Inactive) [ 01/Mar/17 ] |
|
Hi mskalick - The problem with our enabling build system support is that without adding continuous integration and testing for those builds, we can't be sure that they will even compile as the code changes over time, let alone run correctly. These patches are also incomplete, in that they don't include things like support for the MozJS configurations needed to build. Furthermore, we don't know what else they may be missing without building them, which we are not equipped to do, easily. I understand that this may mean that you keep these patches "on the side" and apply them in local packaging scripts, which is fine if that is what you want to do. But our view is that adding direct build system support for these targets would imply some sort of tacit approval for running the product on those targets, which we can't give. As such, I'm closing this ticket as "Won't Fix". Please understand that we do want MongoDB to run on as many platforms as possible, and we have greatly expanded the scope over the past few years, but we can only certify so many with the finite time we have. |
| Comment by Marek Skalický [ 31/Jan/17 ] |
|
I am aware of 32bit mmapv1 limitation (and absence of wiredtiger) - on the other hand it is better than nothing and in the world of microservices it would be enough. The code is not tested on non-supported platforms, but everyone can test it by provides testsuites. |
| Comment by Ramon Fernandez Marina [ 27/Jan/17 ] |
|
Hi mskalick, thanks for the patches. Please note that for 32bit platforms the issue is not so much building the product but using and scaling it. For example, the WiredTiger storage engine will not run on 32bit, so users will only be able to run the MMAPv1 storage engine and will be subject to limitations. Support for ppc64be is a different matter, so I'm sending this to the Platforms team for evaluation. Even if MongoDB compiles after applying your patches, without extensive testing it is unclear to me whether it's desirable to let users build and use a product that has not been tested – specially a persistence layer. Regards, |