Patchwork distutils.bbclass: override LDSHARED so we use the linker for this build and not the one used in sstate-cache

login
register
mail settings
Submitter Matthew McClintock
Date Feb. 8, 2012, 9:06 p.m.
Message ID <1328735214-1899-1-git-send-email-msm@freescale.com>
Download mbox | patch
Permalink /patch/21023/
State Accepted
Commit 3f6b859a29ba7f570b9dae3b5bb7ab4bd7b8cee4
Headers show

Comments

Matthew McClintock - Feb. 8, 2012, 9:06 p.m.
Without this fix, when packages are being built using distutils and
the python packages were deployed from sstate-cache is it possible
that the LD command will contain an invalid sysroot override.

We can fix this by always exported LDSHARED, which is the env var
that distutil looks for to override creating shared libraries.

Signed-off-by: Matthew McClintock <msm@freescale.com>
---
 meta/classes/distutils.bbclass |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
Joshua Lock - Feb. 10, 2012, 7:20 a.m.
On 08/02/12 13:06, Matthew McClintock wrote:
> Without this fix, when packages are being built using distutils and
> the python packages were deployed from sstate-cache is it possible
> that the LD command will contain an invalid sysroot override.
>
> We can fix this by always exported LDSHARED, which is the env var
> that distutil looks for to override creating shared libraries.

This patch appears to fix [YOCTO #1948] when applied to my Edison branch.

http://bugzilla.pokylinux.org/show_bug.cgi?id=1948

> Signed-off-by: Matthew McClintock<msm@freescale.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>

> ---
>   meta/classes/distutils.bbclass |    2 ++
>   1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass
> index 79b962a..18ae805 100644
> --- a/meta/classes/distutils.bbclass
> +++ b/meta/classes/distutils.bbclass
> @@ -72,3 +72,5 @@ distutils_do_install() {
>   }
>
>   EXPORT_FUNCTIONS do_compile do_install
> +
> +export LDSHARED="${CCLD} -shared"
Saul Wold - Feb. 10, 2012, 3:58 p.m.
On 02/08/2012 01:06 PM, Matthew McClintock wrote:
> Without this fix, when packages are being built using distutils and
> the python packages were deployed from sstate-cache is it possible
> that the LD command will contain an invalid sysroot override.
>
> We can fix this by always exported LDSHARED, which is the env var
> that distutil looks for to override creating shared libraries.
>
> Signed-off-by: Matthew McClintock<msm@freescale.com>
> ---
>   meta/classes/distutils.bbclass |    2 ++
>   1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass
> index 79b962a..18ae805 100644
> --- a/meta/classes/distutils.bbclass
> +++ b/meta/classes/distutils.bbclass
> @@ -72,3 +72,5 @@ distutils_do_install() {
>   }
>
>   EXPORT_FUNCTIONS do_compile do_install
> +
> +export LDSHARED="${CCLD} -shared"

Merged into OE-core

Thanks
	Sau!

Patch

diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass
index 79b962a..18ae805 100644
--- a/meta/classes/distutils.bbclass
+++ b/meta/classes/distutils.bbclass
@@ -72,3 +72,5 @@  distutils_do_install() {
 }
 
 EXPORT_FUNCTIONS do_compile do_install
+
+export LDSHARED="${CCLD} -shared"