From ad00652f93416d4dfc4ce13c02640430dcf4b83b Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Tue, 20 Jun 2017 08:50:58 +0000 Subject: gnu-toolchain: Move `ldconfig` to first element of stage 3 Having integration commands in stage2.bst breaks cross compiling, because trying to check them out on the host will result in the integration commands attempting to run and failing due to the shell and all other binaries being built for a different architecture. This may not be the perfect solution but it works for now. --- elements/gnu-toolchain/fhs-dirs.bst | 5 +++++ elements/gnu-toolchain/stage2.bst | 9 --------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/elements/gnu-toolchain/fhs-dirs.bst b/elements/gnu-toolchain/fhs-dirs.bst index df715755..982ca051 100644 --- a/elements/gnu-toolchain/fhs-dirs.bst +++ b/elements/gnu-toolchain/fhs-dirs.bst @@ -24,3 +24,8 @@ config: - install -m 644 services "%{install-root}/etc/services" - install -m 644 protocols "%{install-root}/etc/protocols" - echo baserock > "%{install-root}/etc/hostname" + + # This is the first component that builds in the stage2.bst sysroot. + # We need to ldconfig manually here. It can't be done as an integration + # command in stage2 because that breaks when stage2 is cross-built. + - ldconfig || exit 0 diff --git a/elements/gnu-toolchain/stage2.bst b/elements/gnu-toolchain/stage2.bst index ccabaf58..70884374 100644 --- a/elements/gnu-toolchain/stage2.bst +++ b/elements/gnu-toolchain/stage2.bst @@ -11,12 +11,3 @@ depends: - gnu-toolchain/stage2-make.bst - gnu-toolchain/stage2-fake-bash.bst - gnu-toolchain/stage2-reset-specs.bst - -# Stage 2 is a minimal base used to build the -# base runtime, must ldconfig when building on stage2 -public: - bst: - integration-commands: - - | - # In this stage, it may be that ld.so.conf doesnt exist yet - ldconfig || exit 0 -- cgit v1.2.1