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

4.2.0 regression (vs 4.0.12): Build failure with various system packages

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.2.1, 4.3.1
    • Affects Version/s: 4.2.0
    • Component/s: Build
    • None
    • Fully Compatible
    • ALL
    • v4.2
    • Hide

      Have some or all of the mentioned system packages installed, and give scons the argument(s) telling it to use them instead of bringing in their source trees and building them as part of mongoDB.

      Show
      Have some or all of the mentioned system packages installed, and give scons the argument(s) telling it to use them instead of bringing in their source trees and building them as part of mongoDB.
    • Dev Tools 2019-08-26

      As of 4.0.12, it was possible to build mongoDB using system packages of libstemmer 0+337, pcre 8.43, wiredtiger 48bf8d (the commit specified in the mongodb git repo for this version), yaml-cpp 0.6.2, snappy 1.1.7, and zlib 1.2.11.  This was done by giving scons the arguments: --use-system-pcre --use-system-snappy --use-system-yaml --use-system-zlib --use-system-wiredtiger --use-system-stemmer.

      As of 4.2.0, each of these now fail with errors like that given below.  Is this an oversight, or is it intentional that 4.2.0 no longer works with these system packages?

      (For some time, system package versions of asio, icu, boost, and mongo-c haven't worked, and some of these have their own tickets open with answers of mongoDB having required custom patches in these.)

       

      scons: Reading SConscript files ...
      scons: warning: EnsureSConsVersion is ignored for development version
      File "/build/mongodb/src/mongodb-src-r4.2.0/SConstruct", line 31, in <module>
      scons: running with args /usr/bin/python /usr/bin/scons core --use-system-pcre --use-sasl-client --ssl --disable-warnings-as-errors --use-system-tcmalloc
      ...
      Checking for C function fallocate()... yes
      Checking for C function sync_file_range()... yes
      Checking for C header file x86intrin.h... yes
      Checking for C header file arm_neon.h... no
      KeyError: 'pcre':
       File "/build/mongodb/src/mongodb-src-r4.2.0/SConstruct", line 3901:
       variant_dir='$BUILD_DIR',
       File "/usr/lib/python3.7/site-packages/SCons/Script/SConscript.py", line 605:
       return _SConscript(self.fs, *files, **subst_kw)
       File "/usr/lib/python3.7/site-packages/SCons/Script/SConscript.py", line 286:
       exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
       File "/build/mongodb/src/mongodb-src-r4.2.0/src/SConscript", line 23:
       'safeint',
       File "/usr/lib/python3.7/site-packages/SCons/Environment.py", line 224:
       return self.method(*nargs, **kwargs)
       File "/build/mongodb/src/mongodb-src-r4.2.0/src/third_party/SConscript", line 191:
       mods = thirdPartyEnvironmentModifications[lib]
      

       

            Assignee:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Reporter:
            jamespharvey20@gmail.com James Harvey
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: