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: Tue, 26 Jul 2011 16:01:27 -0400
User-agent: SquirrelMail/1.4.21

Hi Stuart.  The output of the helloworld build is attached.  I was able to
test on an Ubuntu 64-bit system and the LTIB works fine with the same
toolchain, so this might be a non-issue, or at least limited to Fedora? 
The toolchain is an RPM file downloaded from their site:

http://www.codesourcery.com/sgpp/lite/power/portal/subscription3132

So, it's the same toolchain for 32 and 64 bit hosts.  On a 64 bit host I
believe you need the 32 bit glibc libraries to execute the core programs
of the toolchain.  I will try loading the latest from Fedora on another 64
bit system as soon as I can to see if it's somehow related to my
installation.  The Ubuntu I tested with was:

address@hidden:~/Downloads Tue Jul 26 15:44:52]
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.04
DISTRIB_CODENAME=natty
DISTRIB_DESCRIPTION="Ubuntu 11.04"
address@hidden:~/Downloads Tue Jul 26 15:45:03]
$ uname -a
Linux ubuntu 2.6.38-10-generic #46-Ubuntu SMP Tue Jun 28 15:07:17 UTC 2011
x86_64 x86_64 x86_64 GNU/Linux
address@hidden:~/Downloads Tue Jul 26 15:45:10]
$ cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 20
model           : 1
model name      : AMD C-30 Processor


> Hi Aaron,
>
> Could you post the "gcc" -v output from the attempt to build helloworld?
>
> It may be worth asking on the gcc mailing list why there is a difference
> in behaviour between 32 and 64 bit hosts.
>
>     * Are you running exactly the same toolchain on both? (or is one
> built for 64 bit and one for 32 bit?)
>
> Regards, Stuart
>
> Regards, Stuart
>
> On 25/07/11 16:53, Aaron Wegner wrote:
>> 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
>>>>
>>
>

Attachment: helloworld_log.txt
Description: Text document


reply via email to

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