[SERVER-42813] 4.2.0 regression (vs 4.0.12): Build failure with --use-system-wiredtiger Created: 13/Aug/19 Updated: 27/Oct/23 Resolved: 08/Sep/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build |
| Affects Version/s: | 4.2.0 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | James Harvey | Assignee: | Brian Lane |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Operating System: | ALL |
| Steps To Reproduce: | Install wiredtiger commit 1a1197, configure mongoDB with "--use-system-wiredtiger", and attempt to build mongoDB. |
| Sprint: | Storage Engines 2019-08-26 |
| Participants: |
| Description |
|
I'm the maintainer of the mongoDB package in the Arch Linux AUR repository. We've always built wiredtiger as a separate package, and given the "--use-system-wiredtiger" build option for mongoDB. This works through 4.0.12. We always check the git repo of the tag of the mongoDB release, for the latest commit in "mongo/src/third_party/wiredtiger" which as of tag "r4.2.0" is "Import wiredtiger: 1a1197ef3c891458cd73290ad9b01c1e969f7e86..." We then package that wiredtiger commit. Wiredtiger 1a1197 properly builds, and only contains "libwiredtiger-3.2.0.so", "libwiredtiger.so", and "libwiredtiger_lz4.so". But, when attempting to build mongoDB 4.2.0 with the "--use-system-wiredtiger" option, it fails with this error:
I don't know if "libwiredtiger-3.2.0.so" has what it needs. "nm -D | grep checksum" only shows "__wt_checksum_sw". Maybe that's all it needs, and this part of the mongoDB build doesn't know to use the system library. Maybe a new configure option is needed for wiredtiger. We currently use:
"./configure --help" doesn't show me any new option that might be needed like "--enable-checksum". I see only: "--with-berkeleydb", "--with-helium", and "--enable-leveldb" were removed (so I'll remove the leveldb); and, "--enable-page-version-ts" was added.
Maybe wiredtiger's "make install" doesn't contain a new .so?
|
| Comments |
| Comment by Brian Lane [ 20/Aug/19 ] |
|
The best way forward now is to stop building a separate WiredTiger package and use the one that is part of the specific MongoDB version. There is a tight coupling between WiredTiger and MongoDB versions, and this is not surfaced in standalone WiredTiger release. This will guarantee that you will always build using the correct versions. We will keep this issue open to determine the future of the flag, and we may switch it internal-only in a future release. Let me know if you have any other questions or if you run into issues with the suggested approach. -Brian |
| Comment by James Harvey [ 16/Aug/19 ] |
|
I see "Fix Version/s" has been set to "4.3 Required". Wondering if that means it's unlikely for a patch to be made soon fixing this for 4.2. Holding off on releasing 4.2 for this issue, and if a fix won't be coming to stable until 4.4, I'd drop using a separate package for wiredtiger to release it, which will increase users' required space to build the package from about 180GB to 260GB (including running tests.) |
| Comment by Andrew Morrow (Inactive) [ 14/Aug/19 ] |
|
jamespharvey20@gmail.com - Escape the dashes with backslashes. |
| Comment by James Harvey [ 13/Aug/19 ] |
|
More strikethrough from "--". None of that is intended to be striked out. Not sure if there's a way to indicate inline code. |