[fedora-arm] Firefox dependency

Rabeeh Khoury rabeeh at marvell.com
Wed Oct 3 00:06:23 UTC 2007


Hi,

I had an issue when installing Firefox that it strangely required
ld-linux.so.3(4000002:) and other strange dependencies.

After digging inside I found that the problem seem to be an ARM specific
problem.
In the FireFox build there is a call for the RPM script find-requires
(part of the RPM package).
This script goes over all binaries and extracts the libraries (and other
things) from each binary using the 'objdump -p' command.

Doing so for an example binary provides the following output -

main:     file format elf32-littlearm

Program Header:
0x70000001 off    0x00000d5c vaddr 0x00008d5c paddr 0x00008d5c align
2**2
         filesz 0x00000018 memsz 0x00000018 flags r--

........
Version References:
  required from libgcc_s.so.1:
    0x0b792655 0x00 03 GCC_3.5
  required from libc.so.6:
    0x0d696914 0x00 02 GLIBC_2.4
private flags = 4000002: [Version4 EABI] [has entry point]

And the problem is actually in the "private flags" line where the script
mistakenly thinks its part of the dependency.

I fixed that temporarily in the find-requires file and I'm now
rebuilding firefox --> tomorrow I'll let you know if it finally fixed
this problem.
The patch for fixing find-requires is -

--- /usr/lib/rpm/redhat/find-requires.orig      2007-10-03
02:58:19.000000000 +0200
+++ /usr/lib/rpm/redhat/find-requires   2007-10-03 03:13:14.000000000
+0200
@@ -95,7 +95,7 @@
     [ -r $f ] || continue
     lib64=`if file -L $f 2>/dev/null | \
        grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
-    $OBJDUMP -p $f | awk 'BEGIN { START=0; LIBNAME="";
needed='$needed'; }
+    $OBJDUMP -p $f | grep -v "private flags =" | awk 'BEGIN { START=0;
LIBNAME=""; needed='$needed'; }
        /^$/ { START=0; }
        /^Dynamic Section:$/ { START=1; }
        (START==1) && /NEEDED/ {

Regards,
Rabeeh






More information about the arm mailing list