Page MenuHomePhabricator

build: split native_cctools
ClosedPublic

Authored by PiRK on Apr 25 2023, 10:36.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC8f624017f90e: build: split native_cctools
Summary

This splits our native cctools package into two additional packages: native_clang and native_libtapi. This is in an effort to not only make our mac toolchain more understandable, but also to reduce duplication.

Everything about the current build process should remain the same. For gitian, that is:

  • Download LLVM Clang 8.0.0 binary.
  • Build libtapi using downloaded Clang.
  • Build cctools using downloaded Clang and libtapi.
  • Build the rest of depends..

For Guix (FORCE_USE_SYSTEM_CLANG=1):

  • Build libtapi using using system Clang.
  • Build cctools using system Clang and libtapi.
  • Build the rest of depends..

This is a backport of core#21457

Depends on D13753

Test Plan

CI OSX builds

To test the FORCE_USE_SYSTEM_CLANG=1 branch:

contrib/guix/guix-build

Diff Detail

Repository
rABC Bitcoin ABC
Branch
pr20470
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 23441
Build 46501: Build Diff
Build 46500: arc lint + arc unit

Event Timeline

PiRK requested review of this revision.Apr 25 2023, 10:36
PiRK planned changes to this revision.Apr 25 2023, 10:37
PiRK edited the summary of this revision. (Show Details)

Fix the dependency prior to running tests

Tail of the build log:

 * [new tag]             phabricator/diff/39815 -> phabricator/diff/39815
 * [new tag]             phabricator/diff/39816 -> phabricator/diff/39816
 * [new tag]             phabricator/diff/39818 -> phabricator/diff/39818
 * [new tag]             phabricator/diff/39819 -> phabricator/diff/39819
 * [new tag]             phabricator/diff/39822 -> phabricator/diff/39822
 * [new tag]             phabricator/diff/39829 -> phabricator/diff/39829
 * [new tag]             phabricator/diff/39832 -> phabricator/diff/39832
 * [new tag]             phabricator/diff/39836 -> phabricator/diff/39836
 * [new tag]             phabricator/diff/39840 -> phabricator/diff/39840
 * [new tag]             phabricator/diff/39843 -> phabricator/diff/39843
 * [new tag]             phabricator/diff/39844 -> phabricator/diff/39844
 * [new tag]             phabricator/diff/39845 -> phabricator/diff/39845
 * [new tag]             phabricator/diff/39846 -> phabricator/diff/39846
 * [new tag]             phabricator/diff/39847 -> phabricator/diff/39847
 * [new tag]             phabricator/diff/39853 -> phabricator/diff/39853
 * [new tag]             phabricator/diff/39862 -> phabricator/diff/39862
 * [new tag]             phabricator/diff/39864 -> phabricator/diff/39864
 * [new tag]             phabricator/diff/39865 -> phabricator/diff/39865
 * [new tag]             phabricator/diff/39867 -> phabricator/diff/39867
 * [new tag]             phabricator/diff/39868 -> phabricator/diff/39868
 * [new tag]             phabricator/diff/39869 -> phabricator/diff/39869
 * [new tag]             phabricator/diff/39871 -> phabricator/diff/39871
 * [new tag]             phabricator/diff/39878 -> phabricator/diff/39878
 * [new tag]             phabricator/diff/39881 -> phabricator/diff/39881
 * [new tag]             phabricator/diff/39885 -> phabricator/diff/39885
 * [new tag]             phabricator/diff/39886 -> phabricator/diff/39886
 * [new tag]             phabricator/diff/39891 -> phabricator/diff/39891
 * [new tag]             phabricator/diff/39892 -> phabricator/diff/39892
 * [new tag]             phabricator/diff/39903 -> phabricator/diff/39903
 * [new tag]             phabricator/diff/39904 -> phabricator/diff/39904
 * [new tag]             phabricator/diff/39905 -> phabricator/diff/39905
 * [new tag]             phabricator/diff/39914 -> phabricator/diff/39914
 * [new tag]             phabricator/diff/39918 -> phabricator/diff/39918
 * [new tag]             phabricator/diff/39921 -> phabricator/diff/39921
 * [new tag]             phabricator/diff/39922 -> phabricator/diff/39922
 * [new tag]             phabricator/diff/8992  -> phabricator/diff/8992
 * [new tag]             phabricator/diff/8993  -> phabricator/diff/8993
 * [new branch]          master                 -> master
--- Building for bullseye amd64 ---
Stopping target if it is up
Error response from daemon: No such container: gitian-target
Error: No such container: gitian-target
Making a new image copy
Starting target
Checking if target is up.
Preparing build environment
Updating apt-get repository (log in var/install.log)
Installing additional packages (log in var/install.log)
Upgrading system, may take a while (log in var/install.log)
Creating package manifest
Creating build script (var/build-script)
Running build script (log in var/build.log)
./bin/gbuild:23:in `system!': failed to run on-target setarch x86_64 bash -x < var/build-script > var/build.log 2>&1 (RuntimeError)
	from ./bin/gbuild:185:in `build_one_configuration'
	from ./bin/gbuild:339:in `block (2 levels) in <main>'
	from ./bin/gbuild:334:in `each'
	from ./bin/gbuild:334:in `block in <main>'
	from ./bin/gbuild:332:in `each'
	from ./bin/gbuild:332:in `<main>'
Build gitian-osx failed with exit code 1

Tail of the build log:

 * [new tag]             phabricator/diff/39790 -> phabricator/diff/39790
 * [new tag]             phabricator/diff/39791 -> phabricator/diff/39791
 * [new tag]             phabricator/diff/39792 -> phabricator/diff/39792
 * [new tag]             phabricator/diff/39793 -> phabricator/diff/39793
 * [new tag]             phabricator/diff/39802 -> phabricator/diff/39802
 * [new tag]             phabricator/diff/39803 -> phabricator/diff/39803
 * [new tag]             phabricator/diff/39804 -> phabricator/diff/39804
 * [new tag]             phabricator/diff/39805 -> phabricator/diff/39805
 * [new tag]             phabricator/diff/39812 -> phabricator/diff/39812
 * [new tag]             phabricator/diff/39814 -> phabricator/diff/39814
 * [new tag]             phabricator/diff/39815 -> phabricator/diff/39815
 * [new tag]             phabricator/diff/39816 -> phabricator/diff/39816
 * [new tag]             phabricator/diff/39819 -> phabricator/diff/39819
 * [new tag]             phabricator/diff/39822 -> phabricator/diff/39822
 * [new tag]             phabricator/diff/39832 -> phabricator/diff/39832
 * [new tag]             phabricator/diff/39840 -> phabricator/diff/39840
 * [new tag]             phabricator/diff/39843 -> phabricator/diff/39843
 * [new tag]             phabricator/diff/39844 -> phabricator/diff/39844
 * [new tag]             phabricator/diff/39845 -> phabricator/diff/39845
 * [new tag]             phabricator/diff/39847 -> phabricator/diff/39847
 * [new tag]             phabricator/diff/39853 -> phabricator/diff/39853
 * [new tag]             phabricator/diff/39865 -> phabricator/diff/39865
 * [new tag]             phabricator/diff/39868 -> phabricator/diff/39868
 * [new tag]             phabricator/diff/39869 -> phabricator/diff/39869
 * [new tag]             phabricator/diff/39871 -> phabricator/diff/39871
 * [new tag]             phabricator/diff/39880 -> phabricator/diff/39880
 * [new tag]             phabricator/diff/39885 -> phabricator/diff/39885
 * [new tag]             phabricator/diff/39903 -> phabricator/diff/39903
 * [new tag]             phabricator/diff/39904 -> phabricator/diff/39904
 * [new tag]             phabricator/diff/39908 -> phabricator/diff/39908
 * [new tag]             phabricator/diff/39910 -> phabricator/diff/39910
 * [new tag]             phabricator/diff/39914 -> phabricator/diff/39914
 * [new tag]             phabricator/diff/39918 -> phabricator/diff/39918
 * [new tag]             phabricator/diff/39921 -> phabricator/diff/39921
 * [new tag]             phabricator/diff/39922 -> phabricator/diff/39922
 * [new tag]             phabricator/diff/8992  -> phabricator/diff/8992
 * [new tag]             phabricator/diff/8993  -> phabricator/diff/8993
 * [new branch]          master                 -> master
--- Building for bullseye amd64 ---
Stopping target if it is up
Error response from daemon: No such container: gitian-target
Error: No such container: gitian-target
Making a new image copy
Starting target
Checking if target is up.
Preparing build environment
Updating apt-get repository (log in var/install.log)
Installing additional packages (log in var/install.log)
Upgrading system, may take a while (log in var/install.log)
Creating package manifest
Creating build script (var/build-script)
Running build script (log in var/build.log)
./bin/gbuild:23:in `system!': failed to run on-target setarch x86_64 bash -x < var/build-script > var/build.log 2>&1 (RuntimeError)
	from ./bin/gbuild:185:in `build_one_configuration'
	from ./bin/gbuild:339:in `block (2 levels) in <main>'
	from ./bin/gbuild:334:in `each'
	from ./bin/gbuild:334:in `block in <main>'
	from ./bin/gbuild:332:in `each'
	from ./bin/gbuild:332:in `<main>'
Build gitian-osx failed with exit code 1

add missing line to native_clang

This revision is now accepted and ready to land.Apr 26 2023, 08:19
This revision was automatically updated to reflect the committed changes.