[yocto] libgcc_s not present in Yocto image
Nathan Sowatskey
nathan at nathan.to
Fri Feb 5 10:06:23 PST 2016
Thanks guys :-) Suggestions played out below.
find /lib -name libgcc_s.so.1
/lib/libgcc_s.so.1
So, that *is* there. Doh!
file /usr/bin/testprog
/usr/bin/testprog: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=26317096ed83d21bc6808f0d2d47b12de1ab31ce, not stripped
objdump -p /usr/bin/testprog
/usr/bin/testprog: file format elf64-x86-64
Program Header:
PHDR off 0x0000000000000040 vaddr 0x0000000000400040 paddr 0x0000000000400040 align 2**3
filesz 0x00000000000001f8 memsz 0x00000000000001f8 flags r-x
INTERP off 0x0000000000000238 vaddr 0x0000000000400238 paddr 0x0000000000400238 align 2**0
filesz 0x000000000000001c memsz 0x000000000000001c flags r--
LOAD off 0x0000000000000000 vaddr 0x0000000000400000 paddr 0x0000000000400000 align 2**21
filesz 0x0000000000009e40 memsz 0x0000000000009e40 flags r-x
LOAD off 0x000000000000ad50 vaddr 0x000000000060ad50 paddr 0x000000000060ad50 align 2**21
filesz 0x00000000000005e0 memsz 0x00000000000005e8 flags rw-
DYNAMIC off 0x000000000000ad78 vaddr 0x000000000060ad78 paddr 0x000000000060ad78 align 2**3
filesz 0x0000000000000240 memsz 0x0000000000000240 flags rw-
NOTE off 0x0000000000000254 vaddr 0x0000000000400254 paddr 0x0000000000400254 align 2**2
filesz 0x0000000000000044 memsz 0x0000000000000044 flags r--
EH_FRAME off 0x0000000000008468 vaddr 0x0000000000408468 paddr 0x0000000000408468 align 2**2
filesz 0x00000000000004c4 memsz 0x00000000000004c4 flags r--
STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**4
filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
RELRO off 0x000000000000ad50 vaddr 0x000000000060ad50 paddr 0x000000000060ad50 align 2**0
filesz 0x00000000000002b0 memsz 0x00000000000002b0 flags r--
Dynamic Section:
NEEDED libsnmp.so.30
NEEDED libQt5Network.so.5
NEEDED libQt5SerialPort.so.5
NEEDED libQt5Core.so.5
NEEDED libstdc++.so.6
NEEDED libgcc_s.so.1
NEEDED libpthread.so.0
NEEDED libc.so.6
INIT 0x00000000004054b0
FINI 0x00000000004083c4
INIT_ARRAY 0x000000000060ad50
INIT_ARRAYSZ 0x0000000000000010
FINI_ARRAY 0x000000000060ad60
FINI_ARRAYSZ 0x0000000000000008
GNU_HASH 0x0000000000400298
STRTAB 0x0000000000402460
SYMTAB 0x00000000004008b8
STRSZ 0x00000000000023a6
SYMENT 0x0000000000000018
DEBUG 0x0000000000000000
PLTGOT 0x000000000060b000
PLTRELSZ 0x00000000000008d0
PLTREL 0x0000000000000007
JMPREL 0x0000000000404be0
RELA 0x0000000000404b08
RELASZ 0x00000000000000d8
RELAENT 0x0000000000000018
VERNEED 0x0000000000404a58
VERNEEDNUM 0x0000000000000004
VERSYM 0x0000000000404806
Version References:
required from libgcc_s.so.1:
0x0b792650 0x00 08 GCC_3.0
required from libpthread.so.0:
0x09691a75 0x00 05 GLIBC_2.2.5
required from libc.so.6:
0x09691a75 0x00 07 GLIBC_2.2.5
0x0d696914 0x00 06 GLIBC_2.4
0x06969194 0x00 03 GLIBC_2.14
required from libstdc++.so.6:
0x08922974 0x00 04 GLIBCXX_3.4
0x056bafd3 0x00 02 CXXABI_1.3
> On 5 Feb 2016, at 19:00, Fred Ollinger <Fred.Ollinger at seescan.com> wrote:
>
> What are results of:
>
> $ file testprog
>
> Frederick
> ________________________________________
> From: Nathan Sowatskey <nathan at nathan.to>
> Sent: Friday, February 5, 2016 9:47 AM
> To: Burton, Ross
> Cc: yocto at yoctoproject.org; Fred Ollinger
> Subject: Re: [yocto] libgcc_s not present in Yocto image
>
> Hi Ross
>
> Many thanks for following up. Fred also offered some helpful suggestions in a different thread.
>
> The program in question was supplied to me by a third party for testing, so I shall obscure the name here and call it testprog.
>
> It was installed by:
>
> dpkg -i ./testprog.deb
>
>
> Where the .deb file was supplied to me. I don’t know what that was built on though.
>
> Then:
>
> which testprog
> /usr/bin/testprog
> /usr/bin/testprog
> -sh: /usr/bin/testprog: No such file or directory
>
> Then I:
>
> readelf -a /usr/bin/testprog | grep Shared
> 0x0000000000000001 (NEEDED) Shared library: [libsnmp.so.30]
> 0x0000000000000001 (NEEDED) Shared library: [libQt5Network.so.5]
> 0x0000000000000001 (NEEDED) Shared library: [libQt5SerialPort.so.5]
> 0x0000000000000001 (NEEDED) Shared library: [libQt5Core.so.5]
> 0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6]
> 0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
> 0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0]
> 0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
>
> Followed by:
>
> find /usr/lib -name libQt5Network.so.5
> /usr/lib/libQt5Network.so.5
>
> So, I have that lib.
>
> find /usr/lib -name libgcc_s.so.1
> root at qemux86-64:~#
>
> I don’t have that lib.
>
> With ldd I get:
>
> ldd /usr/bin/testprog
> /usr/bin/ldd: line 117: /usr/bin/testprog: No such file or directory
>
> So, that’s where I am at this stage.
>
> Regards
>
> Nathan
>
>> On 5 Feb 2016, at 16:50, Burton, Ross <ross.burton at intel.com> wrote:
>>
>>
>> On 5 February 2016 at 15:24, Nathan Sowatskey <nathan at nathan.to> wrote:
>> I suspect that my test program, which was supplied to me as a .deb package, was compiled on Ubuntu, and so links to libgcc_s.so.1. I can’t see any obvious way to get libgcc_s.so.1 on Yocto. I already have:
>>
>> libgcc contains /lib/libgcc_s.so.1, so it should be installed in your image already:
>>
>> How are you determining that it isn't in your image, and that your application doesn't work?
>>
>> Ross
>
More information about the yocto
mailing list