ltib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ltib] Sourcery G++ Lite 2010.09-55 for Power GNU/Linux toolchain


From: Aaron Wegner
Subject: Re: [Ltib] Sourcery G++ Lite 2010.09-55 for Power GNU/Linux toolchain
Date: Mon, 25 Jul 2011 11:53:13 -0400
User-agent: SquirrelMail/1.4.21

Hi Stuart.  I added your debug line to the spoof_wrapper file and it
prints out "rootfs stating area: /home/aaron/ltib/rootfs" as expected.
The new toolchain is definitely not liking the -B flag for some reason.
My attempt to build vim is below.  The helloworld package reports the
exact same error: it can't link executables.  Works fine in Fedora 32 bit,
just not in a 64 bit version.

----

address@hidden ~/ltib/rpm/BUILD/vim62 Mon Jul 25 11:31:36]
$ cat src/auto/config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:616: checking whether make sets ${MAKE}
configure:646: checking for gcc
configure:759: checking whether the C compiler (gcc  ) works
configure:775: gcc -o conftest    conftest.c  1>&5
rootfs stating area: /home/aaron/ltib/rootfs
/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/lib/gcc/powerpc-linux-gnu/4.5.1/../../../../powerpc-linux-gnu/bin/ld:
skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/lib/gcc/powerpc-linux-gnu/4.5.1/../../../../powerpc-linux-gnu/bin/ld:
cannot find /lib/libc.so.6
/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/lib/gcc/powerpc-linux-gnu/4.5.1/../../../../powerpc-linux-gnu/bin/ld:
cannot find /usr/lib/libc_nonshared.a
/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/lib/gcc/powerpc-linux-gnu/4.5.1/../../../../powerpc-linux-gnu/bin/ld:
cannot find /lib/ld.so.1
collect2: ld returned 1 exit status
configure: failed program was:

#line 770 "configure"
#include "confdefs.h"

main(){return(0);}

----

Editing /opt/ltib/usr/spoof/spoof_wrapper in the following way fixes
things and I am able to link.

#    @srch  = ('-B', "$ENV{DEV_IMAGE}/usr/lib//",
    @srch  = ("-Wl,-L$ENV{DEV_IMAGE}/usr/lib//", # fixes 64-bit Fedora

Don't know if anyone else has seen this with the LTIB and a 64-bit
GNU/Linux distro.


Thanks again,

Aaron


> Hi Aaron,
>
> It's a while since I looked at this, but the -B switch, does pretty much
> the same thing are your direct version.  The odd looking trailing // is
> necessary as otherwise (much) older toolchains will fail (it's a bug in
> the toolchains).
>
> Once possibility is that for some reason the environment variable:
> DEV_IMAGE does not get set properly, which would explain accessing
> /usr/lib.  Alternately maybe the the path is not found using -B.
>
> Unfortunately I don't have time to look into this at the moment.  Could
> you try the following:
>
> Put the code back as it was, but add:
>       print "rootfs stating area: $ENV{DEV_IMAGE}\n";
> near the top of the spoof_wrapper file.
>
> If that looks okay, can you try building the helloworld test rpm with -v
> added to the compiler line, along the lines of:
>
> ./ltib -p helloworld -m prep
>
> Edit rpm/BUILD/helloworld-1.1/Makefile and change the line:
>
> CFLAGS   = -Wall
> to:
> CFLAGS   = -Wall -v
>
> and then run:
> ./ltib -p helloworld 2>&1 | tee helloworld_log.txt
>
> If you look at the file you may be able to see whether the right paths
> are being found for the linking.
>
> Regards, Stuart
>
>
> On 14/07/11 22:50, Aaron Wegner wrote:
>> I downloaded the latest CodeSourcery G++ Lite toolchain from their site
>> and popped it into the LPP.
>>
>> /opt/ltib/pkgs/freescale-powerpc-linux-gnu-2010.09-55.i686.rpm
>>
>> This RPM works fine with my 32-bit Fedora 12 development workstation.
>> In
>> my defconfig.dev I have:
>>
>> CONFIG_TOOLCHAIN="freescale-powerpc-linux-gnu-2010.09-55.i686.rpm"
>> CONFIG_TOOLCHAIN_PATH="/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu"
>> CONFIG_TOOLCHAIN_PREFIX="powerpc-linux-gnu-"
>> CONFIG_TOOLCHAIN_CFLAGS="-msoft-float -mcpu=860"
>>
>> However, when I try the same on my 64-bit Fedora 15 development
>> workstation I find that I'm not able to link.  It bails with linker
>> errors
>> such as:
>>
>> ----
>> /opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/lib/gcc/powerpc-linux-gnu/4.5.1/../../../../powerpc-linux-gnu/bin/ld:
>> skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
>> /opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/lib/gcc/powerpc-linux-gnu/4.5.1/../../../../powerpc-linux-gnu/bin/ld:
>> cannot find /lib/libc.so.6
>> /opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/lib/gcc/powerpc-linux-gnu/4.5.1/../../../../powerpc-linux-gnu/bin/ld:
>> cannot find /usr/lib/libc_nonshared.a
>> /opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/lib/gcc/powerpc-linux-gnu/4.5.1/../../../../powerpc-linux-gnu/bin/ld:
>> cannot find /lib/ld.so.1
>> collect2: ld returned 1 exit status
>> ----
>>
>> I poked around a little and found that if I edit the gcc spoof source
>> found in
>>
>> /opt/ltib/usr/spoof/gcc
>>
>> and put in the following hack around line 46
>>
>> #    @srch  = ('-B', "$ENV{DEV_IMAGE}/usr/lib//",
>>     @srch  = ("-Wl,-L/home/aaron/ltib/rootfs/usr/lib//",
>>
>> that all my programs compile and link like normal.  Is this a product of
>> the toolchain?  Is there a workaround that is an easy fix, or is this a
>> more difficult issue?
>>
>>
>> Thanks,
>>
>> Aaron
>>
>>
>> _______________________________________________
>> LTIB home page: http://ltib.org
>>
>> Ltib mailing list
>> address@hidden
>> https://lists.nongnu.org/mailman/listinfo/ltib
>>
>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]