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

MongoDB version 3.0 build from source fails due to gperftools 2.2 on PPC64

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.0.3
    • Component/s: Build
    • Labels:
      None
    • ALL
    • Hide

      1. Git clone Mongo DB source code
      2. Download dependencies as given on website that includes SCONS 2.3.4, Python 2.7.5
      3. cd to root of mongo folder
      4. execute command "scons mongod -j32 "

      Show
      1. Git clone Mongo DB source code 2. Download dependencies as given on website that includes SCONS 2.3.4, Python 2.7.5 3. cd to root of mongo folder 4. execute command "scons mongod -j32 "

      OS: RHEL
      Arch: PPC64

      I am trying to build MongoDB ver 3.0 from source on PPC64LE machine. The build fails with errors related to "sys_futex"

      Please find the log below.

      scons: Reading SConscript files ...
      scons version: 2.3.4
      python version: 2 7 5 'final' 0
      Checking whether the C++ compiler works... (cached) yes
      Checking whether the C compiler works... (cached) yes
      Checking if C++ compiler "g++" is GCC... (cached) yes
      Checking if C compiler "gcc" is GCC... (cached) yes
      Detected a PowerPC processor
      Checking if target OS linux is supported by the toolchain (cached) yes
      Checking if C compiler is GCC 4.8.2 or newer...(cached) yes
      Checking if C++ compiler is GCC 4.8.2 or newer...(cached) yes
      Checking if C compiler supports -Wno-unused-local-typedefs... (cached) yes
      Checking if C compiler supports -Wno-unused-function... (cached) yes
      Checking if C compiler supports -Wno-unused-private-field... (cached) no
      Checking if C compiler supports -Wno-deprecated-declarations... (cached) yes
      Checking if C compiler supports -Wno-tautological-constant-out-of-range-compare... (cached) no
      Checking if C compiler supports -Wno-unused-const-variable... (cached) no
      Checking if C compiler supports -Wno-unused-but-set-variable... (cached) yes
      Checking if C compiler supports -Wno-missing-braces... (cached) yes
      Checking if C compiler supports -Wno-inconsistent-missing-override... (cached) no
      Checking if C compiler supports -Wno-potentially-evaluated-expression... (cached) no
      Checking if we are using libstdc++... (cached) yes
      Checking if C++ compiler supports -std=c++11... (cached) yes
      Checking if C compiler supports -std=c99... (cached) yes
      Checking for C++11... (cached) yes
      Checking for libstdc++ 4.8.2 or better... (cached) yes
      Checking if we are on a POSIX system... (cached) yes
      Checking if the POSIX monotonic clock is supported... (cached) yes
      Checking off_t is 8 bytes... (cached) yes
      Checking if C compiler supports -fno-builtin-memcmp... (cached) yes
      Checking for __thread... (cached) yes
      Checking for C++11 is_trivially_copyable support... (cached) no
      Checking for C++14 std::make_unique support... (cached) no
      Checking for C library rt... (cached) yes
      Checking for C library dl... (cached) yes
      Checking for C++ header file execinfo.h... (cached) yes
      Checking whether backtrace is declared... (cached) yes
      Checking whether backtrace_symbols is declared... (cached) yes
      Checking whether backtrace_symbols_fd is declared... (cached) yes
      Checking for C library pcap... (cached) no
      Checking for C library wpcap... (cached) no
      Checking if std::atomic<int64_t> works... (cached) yes
      Checking if std::atomic<uint64_t> works... (cached) yes
      Checking if std::atomic<int32_t> works... (cached) yes
      Checking if std::atomic<uint32_t> works... (cached) yes
      Checking if __malloc_hook is declared volatile... (cached) yes
      scons: done reading SConscript files.
      scons: Building targets ...
      g++ -o build/PowerPC/normal/mongo/util/tcmalloc_server_status_section.o -c -Wnon-virtual-dtor -Woverloaded-virtual -std=c++11 -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -O2 -Wno-unused-local-typedefs -Wno-unused-function -Wno-deprecated-declarations -Wno-unused-but-set-variable -Wno-missing-braces -fno-builtin-memcmp -DPCRE_STATIC -DMONGO_HAVE_GPERFTOOLS_GET_THREAD_CACHE_SIZE -Isrc/third_party/s2 -Isrc/third_party/pcre-8.37 -Isrc/third_party/boost-1.56.0 -Ibuild/PowerPC/normal -Isrc -Isrc/third_party/gperftools-2.2/src src/mongo/util/tcmalloc_server_status_section.cpp
      g++ -o build/PowerPC/normal/third_party/gperftools-2.2/src/base/spinlock_internal.o -c -Wnon-virtual-dtor -Woverloaded-virtual -std=c++11 -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -O2 -Wno-unused-local-typedefs -Wno-unused-function -Wno-deprecated-declarations -Wno-unused-but-set-variable -Wno-missing-braces -fno-builtin-memcmp -DPCRE_STATIC -DMALLOC_HOOK_MAYBE_VOLATILE=volatile -DNO_TCMALLOC_SAMPLES -DNO_HEAP_CHECK -DNDEBUG -Ibuild/PowerPC/normal/third_party/gperftools-2.2/src -Isrc/third_party/gperftools-2.2/src -Isrc/third_party/gperftools-2.2/src -Ibuild/PowerPC/normal -Isrc src/third_party/gperftools-2.2/src/base/spinlock_internal.cc
      In file included from src/third_party/gperftools-2.2/src/base/spinlock_internal.cc:52:0:
      src/third_party/gperftools-2.2/src/base/spinlock_linux-inl.h: In constructor '{anonymous}::InitModule::InitModule()':
      src/third_party/gperftools-2.2/src/base/spinlock_linux-inl.h:59:49: error: 'sys_futex' was not declared in this scope
                         sys_futex(&x, FUTEX_WAKE, 1, 0) >= 0);
                                                       ^
      src/third_party/gperftools-2.2/src/base/spinlock_linux-inl.h: In function 'void base::internal::SpinLockDelay(volatile Atomic32*, int32, int)':
      src/third_party/gperftools-2.2/src/base/spinlock_linux-inl.h:88:71: error: 'sys_futex' was not declared in this scope
                       value, reinterpret_cast<struct kernel_timespec *>(&tm));
                                                                             ^
      src/third_party/gperftools-2.2/src/base/spinlock_linux-inl.h: In function 'void base::internal::SpinLockWake(volatile Atomic32*, bool)':
      src/third_party/gperftools-2.2/src/base/spinlock_linux-inl.h:99:67: error: 'sys_futex' was not declared in this scope
                     FUTEX_WAKE | futex_private_flag, all? INT_MAX : 1, 0);
                                                                         ^
      scons: *** [build/PowerPC/normal/third_party/gperftools-2.2/src/base/spinlock_internal.o] Error 1
      scons: building terminated because of errors.
      

      --------------------------------------------------------------
      Will appreciate your inputs on the above.

      Thanks in advance,
      Anup

            Assignee:
            ramon.fernandez@mongodb.com Ramon Fernandez Marina
            Reporter:
            anhal Anup Halarnkar
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: