This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Testing a glibc build


On Tue, Jun 11, 2013 at 11:52 PM, Carlos O'Donell <carlos@redhat.com> wrote:
> 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.
>

Why is it incompatible? I still get the same error if I run a
recompile on hello.c. (compiling works).
--prefix and ${SYSROOT} is the same on both glibc installations.

--
chs,


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]