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

4.2.0 regression (vs 4.0.12): Build failure with --use-system-wiredtiger

    • Type: Icon: Bug Bug
    • Resolution: Gone away
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 4.2.0
    • Component/s: Build
    • None
    • ALL
    • Hide

      Install wiredtiger commit 1a1197, configure mongoDB with "--use-system-wiredtiger", and attempt to build mongoDB.

      Show
      Install wiredtiger commit 1a1197, configure mongoDB with "--use-system-wiredtiger", and attempt to build mongoDB.
    • Storage Engines 2019-08-26

      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:

      build/opt/mongo/mongo failed: Implicit dependency `src/third_party/wiredtiger/libwiredtiger_checksum.a' not found, needed by target `build/opt/mongo/mongo'.

      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 --prefix=/usr --enable-leveldb --enable-lz4 --enable-tcmalloc --enable-verbose --with-builtins=snappy,zlib

      "./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?

       

            Assignee:
            brian.lane@mongodb.com Brian Lane
            Reporter:
            jamespharvey20@gmail.com James Harvey
            Votes:
            0 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated:
              Resolved: