[SERVER-18626] MongoDB version 3.0 build from source fails due to gperftools 2.2 on PPC64 Created: 22/May/15  Updated: 22/May/15  Resolved: 22/May/15

Status: Closed
Project: Core Server
Component/s: Build
Affects Version/s: 3.0.3
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Anup Halarnkar Assignee: Ramon Fernandez Marina
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-17563 GPerfTools does not build on PPC64 (P... Closed
Operating System: ALL
Steps To Reproduce:

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 "

Participants:

 Description   

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



 Comments   
Comment by Ramon Fernandez Marina [ 22/May/15 ]

As explained by Drew 3.0 on PPC64 is not a supported configuration at the moment, and it seems it would be a significant effort to support this configuration.

Since PPC64 is not on our roadmap at this time I'm afraid I can only suggest you consider x86_64, which is a fully supported platform. Sorry that I can't be of much help here.

Regards,
Ramón.

Comment by Anup Halarnkar [ 22/May/15 ]

I have also commented on the same along with Jorik. But the point is that no solution is yet available. So, I wanted to know if I could go any further because unless there are some MongoDB updates coming along, I will be stuck

Thanks Ramon

Comment by Ramon Fernandez Marina [ 22/May/15 ]

Please see SERVER-17563 where this issue was reported before.

Regards,
Ramón.

Generated at Thu Feb 08 03:48:17 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.