From: Gary Thomas <gary@mlbassoc.com>
To: Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 1/1] perl-native_5.12.2.bb: Fix compliation on ubuntu 11.04-alpha
Date: Thu, 28 Apr 2011 20:42:16 -0600 [thread overview]
Message-ID: <4DBA2588.6010900@mlbassoc.com> (raw)
In-Reply-To: <BANLkTim=Jqkp=0REY1OPyQcmJJkwWtr4pw@mail.gmail.com>
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
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
prev parent reply other threads:[~2011-04-29 2:44 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-21 18:23 [PATCH 0/1] Fix perl-native compilation on ubuntu 11.04 Khem Raj
2011-03-21 18:23 ` [PATCH 1/1] perl-native_5.12.2.bb: Fix compliation on ubuntu 11.04-alpha Khem Raj
2011-03-21 21:40 ` Tom Rini
2011-03-23 12:22 ` Richard Purdie
2011-03-23 15:20 ` Khem Raj
2011-04-29 1:18 ` Gary Thomas
2011-04-29 2:10 ` Khem Raj
2011-04-29 2:42 ` Gary Thomas [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DBA2588.6010900@mlbassoc.com \
--to=gary@mlbassoc.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.