Patchwork [1/1] perl-native_5.12.2.bb: Fix compliation on ubuntu 11.04-alpha

login
register
mail settings
Submitter Khem Raj
Date March 21, 2011, 6:23 p.m.
Message ID <c9c4958668d457bef286c0c1e4038db23fc099c2.1300731672.git.raj.khem@gmail.com>
Download mbox | patch
Permalink /patch/1659/
State New, archived
Headers show

Comments

Khem Raj - March 21, 2011, 6:23 p.m.
Ubuntu has moved eglibc to /usr/lib/${arch}-linux-gnu and
/lib/${arch}-linux-gnu so we need that to be added to glibpth in
Configure.

Currently we set LD=ld in environment for recipes inheriting native
class. This overrides the LD settings in the Makefiles of perl and
it tries to link by calling ld which does not work since its using
-l<x> on commandline and ubuntu linker seems not to look into
the new location for these libraries. Its better to use gcc for linking
here anyway

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../perl/files/Configure-multilib.patch            |   10 +++++++---
 meta/recipes-devtools/perl/perl-native_5.12.2.bb   |    4 +++-
 2 files changed, 10 insertions(+), 4 deletions(-)
Tom Rini - March 21, 2011, 9:40 p.m.
On 03/21/2011 11:23 AM, Khem Raj wrote:
> Ubuntu has moved eglibc to /usr/lib/${arch}-linux-gnu and
> /lib/${arch}-linux-gnu so we need that to be added to glibpth in
> Configure.
>
> Currently we set LD=ld in environment for recipes inheriting native
> class. This overrides the LD settings in the Makefiles of perl and
> it tries to link by calling ld which does not work since its using
> -l<x>  on commandline and ubuntu linker seems not to look into
> the new location for these libraries. Its better to use gcc for linking
> here anyway
>
> Signed-off-by: Khem Raj<raj.khem@gmail.com>
> ---
>   .../perl/files/Configure-multilib.patch            |   10 +++++++---
>   meta/recipes-devtools/perl/perl-native_5.12.2.bb   |    4 +++-
>   2 files changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/meta/recipes-devtools/perl/files/Configure-multilib.patch b/meta/recipes-devtools/perl/files/Configure-multilib.patch
> index d3948a9..b561b6a 100644
> --- a/meta/recipes-devtools/perl/files/Configure-multilib.patch
> +++ b/meta/recipes-devtools/perl/files/Configure-multilib.patch
> @@ -1,11 +1,15 @@
> ---- perl-5.8.7/Configure.orig	2006-01-30 10:50:04.000000000 +0000
> -+++ perl-5.8.7/Configure	2006-01-30 10:51:18.000000000 +0000
> -@@ -1240,7 +1240,7 @@
> +Index: perl-5.12.2/Configure
> +===================================================================
> +--- perl-5.12.2.orig/Configure
> ++++ perl-5.12.2/Configure
> +@@ -1316,8 +1316,9 @@ loclibpth="/usr/local/lib /opt/local/lib
>    loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
>
>    : general looking path for locating libraries
>   -glibpth="/lib /usr/lib $xlibpth"
>   +glibpth="/lib /usr/lib /lib64 /usr/lib64 $xlibpth"
>    glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
> ++test -f /usr/lib/`uname -m`-linux-gnu/libc.so&&  glibpth="/usr/lib/`uname -m`-linux-gnu $glibpth"
>    test -f /usr/shlib/libc.so&&  glibpth="/usr/shlib $glibpth"
>    test -f /shlib/libc.so&&  glibpth="/shlib $glibpth"
> + test -d /usr/lib64&&  glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
> diff --git a/meta/recipes-devtools/perl/perl-native_5.12.2.bb b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
> index 9af7b06..6776aed 100644
> --- a/meta/recipes-devtools/perl/perl-native_5.12.2.bb
> +++ b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
> @@ -4,7 +4,7 @@ SECTION = "libs"
>   LICENSE = "Artistic|GPL"
>   LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
>   		    file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
> -PR = "r7"
> +PR = "r8"
>
>   LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
>                       file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
> @@ -28,6 +28,8 @@ S = "${WORKDIR}/perl-${PV}"
>
>   inherit native
>
> +export LD="${CC}"

We have CCLD for when we want to use CC as our LD (and yes, this usually 
just ends up as CC, but lets be clear please).
Richard Purdie - March 23, 2011, 12:22 p.m.
On Mon, 2011-03-21 at 14:40 -0700, Tom Rini wrote:
> On 03/21/2011 11:23 AM, Khem Raj wrote:
> > Ubuntu has moved eglibc to /usr/lib/${arch}-linux-gnu and
> > /lib/${arch}-linux-gnu so we need that to be added to glibpth in
> > Configure.
> >
> > Currently we set LD=ld in environment for recipes inheriting native
> > class. This overrides the LD settings in the Makefiles of perl and
> > it tries to link by calling ld which does not work since its using
> > -l<x>  on commandline and ubuntu linker seems not to look into
> > the new location for these libraries. Its better to use gcc for linking
> > here anyway
> >
> > Signed-off-by: Khem Raj<raj.khem@gmail.com>
> > ---
> >   .../perl/files/Configure-multilib.patch            |   10 +++++++---
> >   meta/recipes-devtools/perl/perl-native_5.12.2.bb   |    4 +++-
> >   2 files changed, 10 insertions(+), 4 deletions(-)
> >
> > diff --git a/meta/recipes-devtools/perl/files/Configure-multilib.patch b/meta/recipes-devtools/perl/files/Configure-multilib.patch
> > index d3948a9..b561b6a 100644
> > --- a/meta/recipes-devtools/perl/files/Configure-multilib.patch
> > +++ b/meta/recipes-devtools/perl/files/Configure-multilib.patch
> > @@ -1,11 +1,15 @@
> > ---- perl-5.8.7/Configure.orig	2006-01-30 10:50:04.000000000 +0000
> > -+++ perl-5.8.7/Configure	2006-01-30 10:51:18.000000000 +0000
> > -@@ -1240,7 +1240,7 @@
> > +Index: perl-5.12.2/Configure
> > +===================================================================
> > +--- perl-5.12.2.orig/Configure
> > ++++ perl-5.12.2/Configure
> > @@ -28,6 +28,8 @@ S = "${WORKDIR}/perl-${PV}"
> >
> >   inherit native
> >
> > +export LD="${CC}"
> 
> We have CCLD for when we want to use CC as our LD (and yes, this usually 
> just ends up as CC, but lets be clear please).

Agreed, I've merged this patch but with the tweak from Tom.

Cheers,

Richard
Khem Raj - March 23, 2011, 3:20 p.m.
On Mon, Mar 21, 2011 at 2:40 PM, Tom Rini <tom_rini@mentor.com> wrote:
> On 03/21/2011 11:23 AM, Khem Raj wrote:
>>
>> Ubuntu has moved eglibc to /usr/lib/${arch}-linux-gnu and
>> /lib/${arch}-linux-gnu so we need that to be added to glibpth in
>> Configure.
>>
>> Currently we set LD=ld in environment for recipes inheriting native
>> class. This overrides the LD settings in the Makefiles of perl and
>> it tries to link by calling ld which does not work since its using
>> -l<x>  on commandline and ubuntu linker seems not to look into
>> the new location for these libraries. Its better to use gcc for linking
>> here anyway
>>
>> Signed-off-by: Khem Raj<raj.khem@gmail.com>
>> ---
>>  .../perl/files/Configure-multilib.patch            |   10 +++++++---
>>  meta/recipes-devtools/perl/perl-native_5.12.2.bb   |    4 +++-
>>  2 files changed, 10 insertions(+), 4 deletions(-)
>>
>> diff --git a/meta/recipes-devtools/perl/files/Configure-multilib.patch
>> b/meta/recipes-devtools/perl/files/Configure-multilib.patch
>> index d3948a9..b561b6a 100644
>> --- a/meta/recipes-devtools/perl/files/Configure-multilib.patch
>> +++ b/meta/recipes-devtools/perl/files/Configure-multilib.patch
>> @@ -1,11 +1,15 @@
>> ---- perl-5.8.7/Configure.orig  2006-01-30 10:50:04.000000000 +0000
>> -+++ perl-5.8.7/Configure       2006-01-30 10:51:18.000000000 +0000
>> -@@ -1240,7 +1240,7 @@
>> +Index: perl-5.12.2/Configure
>> +===================================================================
>> +--- perl-5.12.2.orig/Configure
>> ++++ perl-5.12.2/Configure
>> +@@ -1316,8 +1316,9 @@ loclibpth="/usr/local/lib /opt/local/lib
>>   loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
>>
>>   : general looking path for locating libraries
>>  -glibpth="/lib /usr/lib $xlibpth"
>>  +glibpth="/lib /usr/lib /lib64 /usr/lib64 $xlibpth"
>>   glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
>> ++test -f /usr/lib/`uname -m`-linux-gnu/libc.so&&
>>  glibpth="/usr/lib/`uname -m`-linux-gnu $glibpth"
>>   test -f /usr/shlib/libc.so&&  glibpth="/usr/shlib $glibpth"
>>   test -f /shlib/libc.so&&  glibpth="/shlib $glibpth"
>> + test -d /usr/lib64&&  glibpth="$glibpth /lib64 /usr/lib64
>> /usr/local/lib64"
>> diff --git a/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>> b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>> index 9af7b06..6776aed 100644
>> --- a/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>> +++ b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>> @@ -4,7 +4,7 @@ SECTION = "libs"
>>  LICENSE = "Artistic|GPL"
>>  LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
>>                    file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
>> -PR = "r7"
>> +PR = "r8"
>>
>>  LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
>>                      file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
>> @@ -28,6 +28,8 @@ S = "${WORKDIR}/perl-${PV}"
>>
>>  inherit native
>>
>> +export LD="${CC}"
>
> We have CCLD for when we want to use CC as our LD (and yes, this usually
> just ends up as CC, but lets be clear please).
>

yes that works too

> --
> Tom Rini
> Mentor Graphics Corporation
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Gary Thomas - April 29, 2011, 1:18 a.m.
On 03/21/2011 03:40 PM, Tom Rini wrote:
> On 03/21/2011 11:23 AM, Khem Raj wrote:
>> Ubuntu has moved eglibc to /usr/lib/${arch}-linux-gnu and
>> /lib/${arch}-linux-gnu so we need that to be added to glibpth in
>> Configure.
>>
>> Currently we set LD=ld in environment for recipes inheriting native
>> class. This overrides the LD settings in the Makefiles of perl and
>> it tries to link by calling ld which does not work since its using
>> -l<x> on commandline and ubuntu linker seems not to look into
>> the new location for these libraries. Its better to use gcc for linking
>> here anyway
>>
>> Signed-off-by: Khem Raj<raj.khem@gmail.com>
>> ---
>> .../perl/files/Configure-multilib.patch | 10 +++++++---
>> meta/recipes-devtools/perl/perl-native_5.12.2.bb | 4 +++-
>> 2 files changed, 10 insertions(+), 4 deletions(-)
>>
>> diff --git a/meta/recipes-devtools/perl/files/Configure-multilib.patch b/meta/recipes-devtools/perl/files/Configure-multilib.patch
>> index d3948a9..b561b6a 100644
>> --- a/meta/recipes-devtools/perl/files/Configure-multilib.patch
>> +++ b/meta/recipes-devtools/perl/files/Configure-multilib.patch
>> @@ -1,11 +1,15 @@
>> ---- perl-5.8.7/Configure.orig 2006-01-30 10:50:04.000000000 +0000
>> -+++ perl-5.8.7/Configure 2006-01-30 10:51:18.000000000 +0000
>> -@@ -1240,7 +1240,7 @@
>> +Index: perl-5.12.2/Configure
>> +===================================================================
>> +--- perl-5.12.2.orig/Configure
>> ++++ perl-5.12.2/Configure
>> +@@ -1316,8 +1316,9 @@ loclibpth="/usr/local/lib /opt/local/lib
>> loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
>>
>> : general looking path for locating libraries
>> -glibpth="/lib /usr/lib $xlibpth"
>> +glibpth="/lib /usr/lib /lib64 /usr/lib64 $xlibpth"
>> glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
>> ++test -f /usr/lib/`uname -m`-linux-gnu/libc.so&& glibpth="/usr/lib/`uname -m`-linux-gnu $glibpth"
>> test -f /usr/shlib/libc.so&& glibpth="/usr/shlib $glibpth"
>> test -f /shlib/libc.so&& glibpth="/shlib $glibpth"
>> + test -d /usr/lib64&& glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
>> diff --git a/meta/recipes-devtools/perl/perl-native_5.12.2.bb b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>> index 9af7b06..6776aed 100644
>> --- a/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>> +++ b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>> @@ -4,7 +4,7 @@ SECTION = "libs"
>> LICENSE = "Artistic|GPL"
>> LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
>> file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
>> -PR = "r7"
>> +PR = "r8"
>>
>> LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
>> file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
>> @@ -28,6 +28,8 @@ S = "${WORKDIR}/perl-${PV}"
>>
>> inherit native
>>
>> +export LD="${CC}"
>
> We have CCLD for when we want to use CC as our LD (and yes, this usually just ends up as CC, but lets be clear please).
>

This change is not working for me on Ubuntu 11.04 {released}.
The libraries are found in /lib/i386-linux-gnu and /usr/lib/i386-linux-gnu
At least on the machine where it fails, uname -m gives i686, so the test
   >> ++test -f /usr/lib/`uname -m`-linux-gnu/libc.so&& glibpth="/usr/lib/`uname -m`-linux-gnu $glibpth"
fails.

I hard coded the i386-linux-gnu paths and was able to build perl-native on Ubuntu 11.04
Khem Raj - April 29, 2011, 2:10 a.m.
On Thu, Apr 28, 2011 at 6:18 PM, Gary Thomas <gary@mlbassoc.com> wrote:
> On 03/21/2011 03:40 PM, Tom Rini wrote:
>>
>> On 03/21/2011 11:23 AM, Khem Raj wrote:
>>>
>>> Ubuntu has moved eglibc to /usr/lib/${arch}-linux-gnu and
>>> /lib/${arch}-linux-gnu so we need that to be added to glibpth in
>>> Configure.
>>>
>>> Currently we set LD=ld in environment for recipes inheriting native
>>> class. This overrides the LD settings in the Makefiles of perl and
>>> it tries to link by calling ld which does not work since its using
>>> -l<x> on commandline and ubuntu linker seems not to look into
>>> the new location for these libraries. Its better to use gcc for linking
>>> here anyway
>>>
>>> Signed-off-by: Khem Raj<raj.khem@gmail.com>
>>> ---
>>> .../perl/files/Configure-multilib.patch | 10 +++++++---
>>> meta/recipes-devtools/perl/perl-native_5.12.2.bb | 4 +++-
>>> 2 files changed, 10 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/meta/recipes-devtools/perl/files/Configure-multilib.patch
>>> b/meta/recipes-devtools/perl/files/Configure-multilib.patch
>>> index d3948a9..b561b6a 100644
>>> --- a/meta/recipes-devtools/perl/files/Configure-multilib.patch
>>> +++ b/meta/recipes-devtools/perl/files/Configure-multilib.patch
>>> @@ -1,11 +1,15 @@
>>> ---- perl-5.8.7/Configure.orig 2006-01-30 10:50:04.000000000 +0000
>>> -+++ perl-5.8.7/Configure 2006-01-30 10:51:18.000000000 +0000
>>> -@@ -1240,7 +1240,7 @@
>>> +Index: perl-5.12.2/Configure
>>> +===================================================================
>>> +--- perl-5.12.2.orig/Configure
>>> ++++ perl-5.12.2/Configure
>>> +@@ -1316,8 +1316,9 @@ loclibpth="/usr/local/lib /opt/local/lib
>>> loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
>>>
>>> : general looking path for locating libraries
>>> -glibpth="/lib /usr/lib $xlibpth"
>>> +glibpth="/lib /usr/lib /lib64 /usr/lib64 $xlibpth"
>>> glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
>>> ++test -f /usr/lib/`uname -m`-linux-gnu/libc.so&&
>>> glibpth="/usr/lib/`uname -m`-linux-gnu $glibpth"
>>> test -f /usr/shlib/libc.so&& glibpth="/usr/shlib $glibpth"
>>> test -f /shlib/libc.so&& glibpth="/shlib $glibpth"
>>> + test -d /usr/lib64&& glibpth="$glibpth /lib64 /usr/lib64
>>> /usr/local/lib64"
>>> diff --git a/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>>> b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>>> index 9af7b06..6776aed 100644
>>> --- a/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>>> +++ b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>>> @@ -4,7 +4,7 @@ SECTION = "libs"
>>> LICENSE = "Artistic|GPL"
>>> LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
>>> file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
>>> -PR = "r7"
>>> +PR = "r8"
>>>
>>> LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
>>> file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
>>> @@ -28,6 +28,8 @@ S = "${WORKDIR}/perl-${PV}"
>>>
>>> inherit native
>>>
>>> +export LD="${CC}"
>>
>> We have CCLD for when we want to use CC as our LD (and yes, this usually
>> just ends up as CC, but lets be clear please).
>>
>
> This change is not working for me on Ubuntu 11.04 {released}.
> The libraries are found in /lib/i386-linux-gnu and /usr/lib/i386-linux-gnu
> At least on the machine where it fails, uname -m gives i686, so the test
>  >> ++test -f /usr/lib/`uname -m`-linux-gnu/libc.so&&
> glibpth="/usr/lib/`uname -m`-linux-gnu $glibpth"
> fails.
>
> I hard coded the i386-linux-gnu paths and was able to build perl-native on
> Ubuntu 11.04

I used uname since I thought that was way to make it common for both x86_64
and x86 but it seems they made life harder than that. I did not have
32bit installation to verify

> --
> ------------------------------------------------------------
> Gary Thomas                 |  Consulting for the
> MLB Associates              |    Embedded world
> ------------------------------------------------------------
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Gary Thomas - April 29, 2011, 2:42 a.m.
On 04/28/2011 08:10 PM, Khem Raj wrote:
> On Thu, Apr 28, 2011 at 6:18 PM, Gary Thomas<gary@mlbassoc.com>  wrote:
>> On 03/21/2011 03:40 PM, Tom Rini wrote:
>>>
>>> On 03/21/2011 11:23 AM, Khem Raj wrote:
>>>>
>>>> Ubuntu has moved eglibc to /usr/lib/${arch}-linux-gnu and
>>>> /lib/${arch}-linux-gnu so we need that to be added to glibpth in
>>>> Configure.
>>>>
>>>> Currently we set LD=ld in environment for recipes inheriting native
>>>> class. This overrides the LD settings in the Makefiles of perl and
>>>> it tries to link by calling ld which does not work since its using
>>>> -l<x>  on commandline and ubuntu linker seems not to look into
>>>> the new location for these libraries. Its better to use gcc for linking
>>>> here anyway
>>>>
>>>> Signed-off-by: Khem Raj<raj.khem@gmail.com>
>>>> ---
>>>> .../perl/files/Configure-multilib.patch | 10 +++++++---
>>>> meta/recipes-devtools/perl/perl-native_5.12.2.bb | 4 +++-
>>>> 2 files changed, 10 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/meta/recipes-devtools/perl/files/Configure-multilib.patch
>>>> b/meta/recipes-devtools/perl/files/Configure-multilib.patch
>>>> index d3948a9..b561b6a 100644
>>>> --- a/meta/recipes-devtools/perl/files/Configure-multilib.patch
>>>> +++ b/meta/recipes-devtools/perl/files/Configure-multilib.patch
>>>> @@ -1,11 +1,15 @@
>>>> ---- perl-5.8.7/Configure.orig 2006-01-30 10:50:04.000000000 +0000
>>>> -+++ perl-5.8.7/Configure 2006-01-30 10:51:18.000000000 +0000
>>>> -@@ -1240,7 +1240,7 @@
>>>> +Index: perl-5.12.2/Configure
>>>> +===================================================================
>>>> +--- perl-5.12.2.orig/Configure
>>>> ++++ perl-5.12.2/Configure
>>>> +@@ -1316,8 +1316,9 @@ loclibpth="/usr/local/lib /opt/local/lib
>>>> loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
>>>>
>>>> : general looking path for locating libraries
>>>> -glibpth="/lib /usr/lib $xlibpth"
>>>> +glibpth="/lib /usr/lib /lib64 /usr/lib64 $xlibpth"
>>>> glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
>>>> ++test -f /usr/lib/`uname -m`-linux-gnu/libc.so&&
>>>> glibpth="/usr/lib/`uname -m`-linux-gnu $glibpth"
>>>> test -f /usr/shlib/libc.so&&  glibpth="/usr/shlib $glibpth"
>>>> test -f /shlib/libc.so&&  glibpth="/shlib $glibpth"
>>>> + test -d /usr/lib64&&  glibpth="$glibpth /lib64 /usr/lib64
>>>> /usr/local/lib64"
>>>> diff --git a/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>>>> b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>>>> index 9af7b06..6776aed 100644
>>>> --- a/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>>>> +++ b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
>>>> @@ -4,7 +4,7 @@ SECTION = "libs"
>>>> LICENSE = "Artistic|GPL"
>>>> LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
>>>> file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
>>>> -PR = "r7"
>>>> +PR = "r8"
>>>>
>>>> LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
>>>> file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
>>>> @@ -28,6 +28,8 @@ S = "${WORKDIR}/perl-${PV}"
>>>>
>>>> inherit native
>>>>
>>>> +export LD="${CC}"
>>>
>>> We have CCLD for when we want to use CC as our LD (and yes, this usually
>>> just ends up as CC, but lets be clear please).
>>>
>>
>> This change is not working for me on Ubuntu 11.04 {released}.
>> The libraries are found in /lib/i386-linux-gnu and /usr/lib/i386-linux-gnu
>> At least on the machine where it fails, uname -m gives i686, so the test
>>   >>  ++test -f /usr/lib/`uname -m`-linux-gnu/libc.so&&
>> glibpth="/usr/lib/`uname -m`-linux-gnu $glibpth"
>> fails.
>>
>> I hard coded the i386-linux-gnu paths and was able to build perl-native on
>> Ubuntu 11.04
>
> I used uname since I thought that was way to make it common for both x86_64
> and x86 but it seems they made life harder than that. I did not have
> 32bit installation to verify

Note: no criticism intended :-)

Perhaps some sort of wildcard could work?  Just replace `uname -m` with "*"?
I just tried this here and it seems to work on my x86 system.
   $ test -f /usr/lib/*-linux-gnu/libc.so && glibpth="/usr/lib/*-linux-gnu $glibpth"
   $ echo $glibpth
   /usr/lib/i386-linux-gnu

Patch

diff --git a/meta/recipes-devtools/perl/files/Configure-multilib.patch b/meta/recipes-devtools/perl/files/Configure-multilib.patch
index d3948a9..b561b6a 100644
--- a/meta/recipes-devtools/perl/files/Configure-multilib.patch
+++ b/meta/recipes-devtools/perl/files/Configure-multilib.patch
@@ -1,11 +1,15 @@ 
---- perl-5.8.7/Configure.orig	2006-01-30 10:50:04.000000000 +0000
-+++ perl-5.8.7/Configure	2006-01-30 10:51:18.000000000 +0000
-@@ -1240,7 +1240,7 @@
+Index: perl-5.12.2/Configure
+===================================================================
+--- perl-5.12.2.orig/Configure
++++ perl-5.12.2/Configure
+@@ -1316,8 +1316,9 @@ loclibpth="/usr/local/lib /opt/local/lib
  loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
  
  : general looking path for locating libraries
 -glibpth="/lib /usr/lib $xlibpth"
 +glibpth="/lib /usr/lib /lib64 /usr/lib64 $xlibpth"
  glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
++test -f /usr/lib/`uname -m`-linux-gnu/libc.so && glibpth="/usr/lib/`uname -m`-linux-gnu $glibpth"
  test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
  test -f /shlib/libc.so     && glibpth="/shlib $glibpth"
+ test -d /usr/lib64         && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
diff --git a/meta/recipes-devtools/perl/perl-native_5.12.2.bb b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
index 9af7b06..6776aed 100644
--- a/meta/recipes-devtools/perl/perl-native_5.12.2.bb
+++ b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
@@ -4,7 +4,7 @@  SECTION = "libs"
 LICENSE = "Artistic|GPL"
 LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
 		    file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
-PR = "r7"
+PR = "r8"
 
 LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
                     file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
@@ -28,6 +28,8 @@  S = "${WORKDIR}/perl-${PV}"
 
 inherit native
 
+export LD="${CC}"
+
 do_configure () {
 	./Configure \
 		-Dcc="${CC}" \