Patchwork lsof: Fix cross 32 -> 64bit ranlib host contamination problem

login
register
mail settings
Submitter Jason Wessel
Date June 12, 2012, 9:42 p.m.
Message ID <1339537351-2918-1-git-send-email-jason.wessel@windriver.com>
Download mbox | patch
Permalink /patch/29757/
State Accepted
Commit 5c257ee55f9e0dd66fc1bbd6e9c08918e8820178
Headers show

Comments

Jason Wessel - June 12, 2012, 9:42 p.m.
When building on a 32bit host OS and building 64 bit binaries,
the cross ar and ranlib must be called, or you get an error
as follows:

   x86_64-wrs-linux-gcc    -m64 --sysroot=/opt/build/tmp/sysroots/qemux86-64 -o lsof dfile.o dmnt.o dnode.o dproc.o dsock.o dstore.o arg.o main.o misc.o node.o print.o proc.o store.o usage.o util.o -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -L./lib -llsof
   ./lib/liblsof.a: could not read symbols: Archive has no index; run ranlib to add one
   collect2: error: ld returned 1 exit status

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
---
 meta/recipes-extended/lsof/lsof_4.85.bb |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
Richard Purdie - June 13, 2012, 10:43 a.m.
On Tue, 2012-06-12 at 16:42 -0500, Jason Wessel wrote:
> When building on a 32bit host OS and building 64 bit binaries,
> the cross ar and ranlib must be called, or you get an error
> as follows:
> 
>    x86_64-wrs-linux-gcc    -m64 --sysroot=/opt/build/tmp/sysroots/qemux86-64 -o lsof dfile.o dmnt.o dnode.o dproc.o dsock.o dstore.o arg.o main.o misc.o node.o print.o proc.o store.o usage.o util.o -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -L./lib -llsof
>    ./lib/liblsof.a: could not read symbols: Archive has no index; run ranlib to add one
>    collect2: error: ld returned 1 exit status
> 
> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
> ---
>  meta/recipes-extended/lsof/lsof_4.85.bb |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)

Merged to master, thanks.

Richard

Patch

diff --git a/meta/recipes-extended/lsof/lsof_4.85.bb b/meta/recipes-extended/lsof/lsof_4.85.bb
index 8f25e24..5823725 100644
--- a/meta/recipes-extended/lsof/lsof_4.85.bb
+++ b/meta/recipes-extended/lsof/lsof_4.85.bb
@@ -3,7 +3,7 @@  DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \
 Its name stands for LiSt Open Files, and it does just that."
 SECTION = "devel"
 LICENSE = "BSD"
-PR = "r0"
+PR = "r1"
 
 SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2"
 
@@ -29,6 +29,8 @@  LSOF_OS_libc-glibc = "linux"
 export LSOF_INCLUDE = "${STAGING_INCDIR}"
 
 do_configure () {
+	export LSOF_AR="${AR} cr"
+	export LSOF_RANLIB="${RANLIB}"
 	yes | ./Configure ${LSOF_OS}
 }