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
BTW - shouldn't this problem be very basic since every rpmbuild the find-requires script is called?
-----Original Message----- From: fedora-arm-bounces@redhat.com
[mailto:fedora-arm-bounces@redhat.com]
On Behalf Of Rabeeh Khoury Sent: Wednesday, October 03, 2007 2:06 AM To: fedora-arm@redhat.com Subject: [fedora-arm] Firefox dependency
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
fedora-arm mailing list fedora-arm@redhat.com https://www.redhat.com/mailman/listinfo/fedora-arm
On Wed, Oct 03, 2007 at 02:06:23AM +0200, Rabeeh Khoury wrote:
I had an issue when installing Firefox that it strangely required ld-linux.so.3(4000002:) and other strange dependencies.
I did a repoclosure run, and there's a couple more of these in devel:
package: cyrus-imapd - 2.3.9-6.fc8.armv5tel from devel unresolved deps: libc.so.6(4000002:) package: cyrus-imapd-perl - 2.3.9-6.fc8.armv5tel from devel unresolved deps: libc.so.6(4000002:) package: cyrus-imapd-utils - 2.3.9-6.fc8.armv5tel from devel unresolved deps: libc.so.6(4000002:) package: dbmail - 2.2.5-7.fc8.armv5tel from devel unresolved deps: libgcc_s.so.1(4000002:) libc.so.6(4000002:) package: dbmail-auth-ldap - 2.2.5-7.fc8.armv5tel from devel unresolved deps: libgcc_s.so.1(4000002:) package: dbmail-mysql - 2.2.5-7.fc8.armv5tel from devel unresolved deps: libgcc_s.so.1(4000002:) package: dbmail-pgsql - 2.2.5-7.fc8.armv5tel from devel unresolved deps: libgcc_s.so.1(4000002:) package: mod_q - 7.6-2.fc8.armv5tel from devel unresolved deps: libc.so.6(4000002:) package: perl-SDL - 2.1.3-6.fc8.armv5tel from devel unresolved deps: libgcc_s.so.1(4000002:) package: q - 7.6-2.fc8.armv5tel from devel unresolved deps: libpthread.so.0(4000002:) libgcc_s.so.1(4000002:) libc.so.6(4000002:) package: q-devel - 7.6-2.fc8.armv5tel from devel unresolved deps: libc.so.6(4000002:) package: xchat - 1:2.8.4-4.fc8.armv5tel from devel unresolved deps: libc.so.6(4000002:) package: xchat-tcl - 1:2.8.4-4.fc8.armv5tel from devel unresolved deps: libgcc_s.so.1(4000002:)
I'll try to get it fixed.