crosstool and the absolute path in ${PREFIX}/${TARGET}/usr/lib/libc.so

Dan Kegel dank@kegel.com
Thu Aug 18 23:07:00 GMT 2005


Chuck Meade wrote:
>>>I see the logic in crosstool.sh where these absolute paths should be removed,
>>>but it is conditional on $USE_SYSROOT, which I am using.  My libc.so in my
>>>generated sysroot has the absolute /lib path in it.  Is there a reason that
>>>the sed logic in crosstool.sh is not used to clean up the /lib prefixes in
>>>libc.so when $USE_SYSROOT is set?
>>
>>I'm not sure.  I wrote that, and said in a comment
>>
>># But won't need to do this at all once we use --with-sysroot (available in gcc-3.3.3 and up)
>>
>>but I don't remember the issues.  It could be that
>>this never bothered me because I only use --with-sysroot on
>>x86_64, and my development systems lack a /lib64, making
>>any confusion harmless.
>>What symptoms are you running into?
> 
> This causes problems later when cross-compiling packages if you include
> <my sysroot>/usr/lib with the -L option in your LDFLAGS.  The linker complains
> that /lib/libc.so.6 is incompatible, which it is -- the ppc cross linker 
> is looking at the host's /lib directory.  

Looks like I was just plain wrong.

Go ahead and get rid of that test, e.g.

   #if test -z "$USE_SYSROOT"; then
       sed 's,/usr/lib/,,g;s,/usr/lib64/,,g;s,/lib/,,g;s,/lib64/,,g;/BUG in libc.scripts.output-format.sed/d' < ${SYSROOT}/$lib/${file}_orig > ${SYSROOT}/$lib/$file
   #else
   #    sed '/BUG in libc.scripts.output-format.sed/d' < ${SYSROOT}/$lib/${file}_orig > ${SYSROOT}/$lib/$file
   #fi

Does that fix it?

Thanks!
- Dan

-- 
Trying to get a job as a c++ developer?  See http://kegel.com/academy/getting-hired.html

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com



More information about the crossgcc mailing list