On 04/28/2011 08:10 PM, Khem Raj wrote:
On Thu, Apr 28, 2011 at 6:18 PM, Gary Thomas<g...@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.k...@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
------------------------------------------------------------

_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to