Testing a glibc build

Carlos O'Donell carlos@redhat.com
Tue Jun 11 21:52:00 GMT 2013


On 06/11/2013 04:51 PM, Christer Solskogen wrote:
> On 11.06.2013 22:26, Carlos O'Donell wrote:
> 
>> Please describe exactly what you are trying to do and what problem
>> you are seeing.
>>
> 
> Build and install glibc in a non-default directory (--prefix=/usr and DESTDIR=${SYSROOT} )
> set CC="gcc --sysroot=${SYSROOT} -Wl,-rpath=${SYSROOT}/lib -Wl,--dynamic-linker=${SYSROOT}/lib/ld-linux-x86-64.so.2"
> $CC hello.c -o hello
> readelf -l says:
>  [Requesting program interpreter: ${SYSROOT}/lib/ld-linux-x86-64.so.2]
> Running ./hello works fine
> 
> Build and install glibc again.
> ./hello will no longer run - This is the error:
> Inconsistency detected by ld.so: get-dynamic-info.h: 134: elf_get_dynamic_info: Assertion `info[15] == ((void *)0)' failed!
> A recompile does not fix it.
> 
> objdump -x show the correct RPATH as well.
> 

To put it another way... your first glibc has one ABI, the second glibc has another.

You compiled your first application against the first glibc.

Then you try to run your application against the second incompatible ABI glibc, which has prefix set to something else.

Cheers,
Carlos.



More information about the Libc-help mailing list