Page MenuHomePhabricator

[CMAKE] Disable Jemalloc for the native OSX build
ClosedPublic

Authored by Fabien on Oct 1 2020, 13:34.

Details

Reviewers
deadalnix
Group Reviewers
Restricted Project
Commits
rABCab7890b344dd: [CMAKE] Disable Jemalloc for the native OSX build
Summary

The software is triggering a segfault when built against jemalloc on OSX
(not when cross compiling).
This seems to be an issue with Berkeley DB since the issue disappears
when built without the wallet (and the tests pass), but for safety I
prefer to disable it completely by default on native OSX.

Test Plan

On OSX:

ninja all check-all

Check the software starts IBD without segfaulting:

./src/bitcoind

Diff Detail

Repository
rABC Bitcoin ABC
Branch
cmake_osx_disable_jemalloc
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 13108
Build 26267: Build Difflint-circular-dependencies · build-without-wallet · build-diff · build-clang-tidy · build-clang
Build 26266: arc lint + arc unit

Event Timeline

Fabien requested review of this revision.Oct 1 2020, 13:34
This revision is now accepted and ready to land.Oct 1 2020, 14:10

Snippet of first build failure:

-- The C compiler identification is Clang 10.0.1
-- The CXX compiler identification is Clang 10.0.1
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python: /usr/bin/python3.7 (found suitable version "3.7.3", minimum required is "3.5") found components: Interpreter 
-- Found Git: /usr/bin/git (found version "2.20.1") 
CMake Error at src/CMakeLists.txt:41 (if):
  if given arguments:

    "Linux" "MATCHES" "Darwin" "and" "NOT" "CMAKE_CROSSCOMPILING"

  Unknown arguments specified


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-clang/CMakeFiles/CMakeOutput.log".
Build build-clang failed with exit code 1

Snippet of first build failure:

-- The C compiler identification is Clang 10.0.1
-- The CXX compiler identification is Clang 10.0.1
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python: /usr/bin/python3.7 (found suitable version "3.7.3", minimum required is "3.5") found components: Interpreter 
-- Found Git: /usr/bin/git (found version "2.20.1") 
CMake Error at src/CMakeLists.txt:41 (if):
  if given arguments:

    "Linux" "MATCHES" "Darwin" "and" "NOT" "CMAKE_CROSSCOMPILING"

  Unknown arguments specified


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-clang-tidy/CMakeFiles/CMakeOutput.log".
Build build-clang-tidy failed with exit code 1

Snippet of first build failure:

-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python: /usr/bin/python3.7 (found suitable version "3.7.3", minimum required is "3.5") found components: Interpreter 
-- Found Git: /usr/bin/git (found version "2.20.1") 
CMake Error at src/CMakeLists.txt:41 (if):
  if given arguments:

    "Linux" "MATCHES" "Darwin" "and" "NOT" "CMAKE_CROSSCOMPILING"

  Unknown arguments specified


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-diff/CMakeFiles/CMakeOutput.log".
Build build-diff failed with exit code 1

Snippet of first build failure:

-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python: /usr/bin/python3.7 (found suitable version "3.7.3", minimum required is "3.5") found components: Interpreter 
-- Found Git: /usr/bin/git (found version "2.20.1") 
CMake Error at src/CMakeLists.txt:41 (if):
  if given arguments:

    "Linux" "MATCHES" "Darwin" "and" "NOT" "CMAKE_CROSSCOMPILING"

  Unknown arguments specified


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-without-wallet/CMakeFiles/CMakeOutput.log".
Build build-without-wallet failed with exit code 1