diff mbox

Using buildroot generated toolchain as external toolchain issues

Message ID 20150729153034.514e8764@free-electrons.com
State Not Applicable
Headers show

Commit Message

Thomas Petazzoni July 29, 2015, 1:30 p.m. UTC
Hello,

On Wed, 29 Jul 2015 08:22:57 -0500, Matthew Starr wrote:

> Could you send out the patch for the static libraries option.    This sounds
> like the solution that would be the least likely to cause issues if updating
> to a future version of buildroot.

Attached.

> If the static library option is used, how would I go about deploying the
> toolchain to the other instances of buildroot that I use?

Just tarball the toolchain (i.e, output/host/), put the tarball
somewhere, and tell your other Buildroot instances to use it as an
external toolchain.

Best regards,

Thomas

Comments

Matthew Starr July 29, 2015, 9:54 p.m. UTC | #1
Thomas,

> From: Thomas Petazzoni [mailto:thomas.petazzoni@free-electrons.com]
> Sent: Wednesday, July 29, 2015 8:31 AM
> 
> > Could you send out the patch for the static libraries option.    This sounds
> > like the solution that would be the least likely to cause issues if
> > updating to a future version of buildroot.
> 
> Attached.
> 
> > If the static library option is used, how would I go about deploying
> > the toolchain to the other instances of buildroot that I use?
> 
> Just tarball the toolchain (i.e, output/host/), put the tarball somewhere, and
> tell your other Buildroot instances to use it as an external toolchain.
> 

I applied the patch, built the toolchain, and pointed the other instances
of buildroot to use the toolchain tar file.  I still received the same error
as before I used the patch:

output/host/opt/ext-toolchain/bin/../libexec/gcc/arm-buildroot-linux-gnueabihf/4.9.2/cc1: error while loading shared libraries: libcloog-isl.so.4: cannot open shared object file: No such file or directory
Incorrect ABI setting: EABIhf selected, but toolchain is incompatible
package/pkg-generic.mk:146: recipe for target 'output/build/toolchain-external-undefined/.stamp_configured' failed

The toolchain files appear to be in the output/host/opt/ext-toolchain
directory and the libcloog-isl.so.4 file is located under
output/host/opt/ext-toolchain/lib/ directory.

I also played around with the options to build the libraries as static, shared,
or both.  No matter what that setting was it made no difference.  I am
guessing this only affects the target libraries and not host.

Are there any other configuration settings I need to get the patch to work?

Best regards,
 
Matthew Starr
Thomas Petazzoni July 29, 2015, 10:23 p.m. UTC | #2
Dear Matthew Starr,

On Wed, 29 Jul 2015 16:54:34 -0500, Matthew Starr wrote:

> output/host/opt/ext-toolchain/bin/../libexec/gcc/arm-buildroot-linux-gnueabihf/4.9.2/cc1: error while loading shared libraries: libcloog-isl.so.4: cannot open shared object file: No such file or directory
> Incorrect ABI setting: EABIhf selected, but toolchain is incompatible
> package/pkg-generic.mk:146: recipe for target 'output/build/toolchain-external-undefined/.stamp_configured' failed

That's because you have built gcc with graphite support, which requires
cloog. So either disable graphite support, or adjust cloog.mk to also
build the cloog library as a static library.

Best regards,

Thomas
diff mbox

Patch

From 57300a5b5e0bfb4fcdb60ee44d58a19c8c5708a6 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Fri, 24 Aug 2012 20:39:52 +0000
Subject: [PATCH] mpc, mpfr, gmp: build statically for the host

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/gmp/gmp.mk   |    2 ++
 package/mpc/mpc.mk   |    1 +
 package/mpfr/mpfr.mk |    2 ++
 3 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/package/gmp/gmp.mk b/package/gmp/gmp.mk
index f71a210..4b4c36d 100644
--- a/package/gmp/gmp.mk
+++ b/package/gmp/gmp.mk
@@ -12,5 +12,7 @@  GMP_LICENSE = LGPLv3+
 GMP_LICENSE_FILES = COPYING.LESSERv3
 GMP_DEPENDENCIES = host-m4
 
+HOST_GMP_CONF_OPTS += --enable-static --disable-shared
+
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))
diff --git a/package/mpc/mpc.mk b/package/mpc/mpc.mk
index bc26599..841c77f 100644
--- a/package/mpc/mpc.mk
+++ b/package/mpc/mpc.mk
@@ -10,6 +10,7 @@  MPC_LICENSE = LGPLv3+
 MPC_LICENSE_FILES = COPYING.LESSER
 MPC_INSTALL_STAGING = YES
 MPC_DEPENDENCIES = gmp mpfr
+HOST_MPC_CONF_OPTS += --disable-shared --enable-static
 
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))
diff --git a/package/mpfr/mpfr.mk b/package/mpfr/mpfr.mk
index ec16d1c..979c5c1 100644
--- a/package/mpfr/mpfr.mk
+++ b/package/mpfr/mpfr.mk
@@ -13,5 +13,7 @@  MPFR_INSTALL_STAGING = YES
 MPFR_DEPENDENCIES = gmp
 MPFR_MAKE_OPTS = RANLIB=$(TARGET_RANLIB)
 
+HOST_MPFR_CONF_OPTS += --enable-static --disable-shared
+
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))
-- 
1.7.2.5