All of lore.kernel.org
 help / color / mirror / Atom feed
* meta-toolchain uclibc issue
@ 2012-06-01 15:01 John Toomey
  2012-06-01 18:07 ` Khem Raj
  0 siblings, 1 reply; 4+ messages in thread
From: John Toomey @ 2012-06-01 15:01 UTC (permalink / raw)
  To: yocto

Hello all,

I'm trying to use uClibc and meta-toolchain to compile software for my 
target system. After building and installing the toolchain I get the 
following error when trying to compile:

/toolchain$ $CC hello.c -o hello_after
/toolchain/poky/1.2/sysroots/x86_64-pokysdk-linux/usr/bin/i586-poky-linux-uclibc/../../libexec/i586-poky-linux-uclibc/gcc/i586-poky-linux-uclibc/4.6.4/ld: 
cannot find uclibc_nonshared.a
collect2: ld returned 1 exit status

but if I include the following Yocto tmp directory

/toolchain$ $CC -o hello hello.c -L 
.../tmp/work/i586-poky-linux-uclibc/uclibc-0.9.33-r6.0/package/usr/lib

everythoing works correctly. Does anyone know why this file isnt 
included in the toolchain package? Is this something im doing wrong or 
an issue with meta-toolchain?

Thanks,
John




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: meta-toolchain uclibc issue
  2012-06-01 15:01 meta-toolchain uclibc issue John Toomey
@ 2012-06-01 18:07 ` Khem Raj
  0 siblings, 0 replies; 4+ messages in thread
From: Khem Raj @ 2012-06-01 18:07 UTC (permalink / raw)
  To: John Toomey; +Cc: yocto

On Fri, Jun 1, 2012 at 8:01 AM, John Toomey <john.toomey@linux.intel.com> wrote:
> Hello all,
>
> I'm trying to use uClibc and meta-toolchain to compile software for my
> target system. After building and installing the toolchain I get the
> following error when trying to compile:
>
> /toolchain$ $CC hello.c -o hello_after
> /toolchain/poky/1.2/sysroots/x86_64-pokysdk-linux/usr/bin/i586-poky-linux-uclibc/../../libexec/i586-poky-linux-uclibc/gcc/i586-poky-linux-uclibc/4.6.4/ld:
> cannot find uclibc_nonshared.a
> collect2: ld returned 1 exit status
>
> but if I include the following Yocto tmp directory
>
> /toolchain$ $CC -o hello hello.c -L
> .../tmp/work/i586-poky-linux-uclibc/uclibc-0.9.33-r6.0/package/usr/lib
>
> everythoing works correctly. Does anyone know why this file isnt included in
> the toolchain package? Is this something im doing wrong or an issue with
> meta-toolchain?

if you are not on master then please cherry-pick below for OE-Core

commit d78ef792ac000637191defa049f197733481733a
Author: Mark Norman <mpnorman@gmail.com>
Date:   Wed Apr 25 20:14:20 2012 +0930

    uclibc SDK not including libpthread_nonshared.a

    Modified the uclibc PACKAGES list order to ensure the uclibc-dev package is
    processed before uclibc-staticdev to allow *_nonshared.a libraries to be
    packaged in the uclibc-dev package.  The *_nonshared.a libraries
are required
    by the SDK.


>
> Thanks,
> John
>
>
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: meta-toolchain uclibc issue
  2015-07-16 15:56 paul grant
@ 2015-08-13 16:41 ` Khem Raj
  0 siblings, 0 replies; 4+ messages in thread
From: Khem Raj @ 2015-08-13 16:41 UTC (permalink / raw)
  To: paul grant; +Cc: yocto

[-- Attachment #1: Type: text/plain, Size: 3406 bytes --]


> On Jul 16, 2015, at 8:56 AM, paul grant <home.paul.grant@gmail.com> wrote:
> 
> Hello All,
> 
> I'm trying to build a cross compiler toolchain for PowerPC (mpc8544).
> 
> I'm able to successfully bitbake the meta-toolchain target
> for glibc, when I check inside the sysroot directory of the sdk,
> I find the following directories:
> 
> ppce500v2-poky-linux-gnuspe
> x86_64-pokysdk-linux
> 
> The directory ppce500v2-poky-linux-gnuspe, contains root filesystem
> for target (ppc500v2).
> The directory x86_64-pokysdk-linux, contains the cross development tools,
> for my host, particularly gcc (powerpc-poky-linux-gnuspe-gcc)
> 
> If I execute:
> 
> powerpc-poky-linux-gnuspe-gcc -v
> 
> the target is set to: powerpc-poky-linux
> 
> which I interpret to mean a powerpc based target with glibc&linux
> 
> I want to build a uclibc toolchain:
> 
> to this I understand you need to add the following line to my local.conf:
> 
> TCLIBC = "uclibc"
> 
> After doing so, I am again able successfully build the target meta-toolchain.
> Again if I look inside the sysroot directory two directories have been created:
> 
> ppce500v2-poky-linux-uclibcspe
> x86_64-pokysdk-linux
> 
> ppce500v2-poky-linux-uclibcspe, this time the root filesystem is based on
> uclibc and this is refelected in the name.
> x86_64-pokysdk-linux, again a directory to hold the host tools has been created.
> The gcc tools are located in under directory ./usr/bin/powerpc-poky-linux-gnuspe
> as before,
> 
> If I execute:
> 
> powerpc-poky-linux-gnuspe-gcc -v
> 
> the target is set to: powerpc-poky-linux
> 
> However given that I've selected uclibc, I was expecting the gcc tools to be located
> under a directory: ./usr/bin/powerpc-poky-linux-uclibcspe
> to reflect the fact that the tools are targeting uclibc.

so where are they found instead ?

> 
> If I look inside the environment script created by the meta-toolchain target
> it shares this expectation as is reflected by the extract for CC envvar:
> 
> export CC="powerpc-poky-linux-uclibcspe-gcc  -m32 -mcpu=8548 -mabi=spe -mspe -mfloat-gprs=double --sysroot=$SDKTARGETSYSROOT"
> 
> If I search the files created by the target meta-toolchain, it has actually created
> an apprpriate gcc located deeply nested under the work diretcory, a gcc toolset
> of the correct form has been created, namely:
> 
> powerpc-poky-linux-uclibcspe-g++
> 
> Just to confirm when I run with the -v option it shows its target as:
> 
> powerpc-poky-linux-uclibcspe
> 
> Can someone clarify what's happening here?!?
> 
> 1. Are my expectations correct?
> 2. If so, why is the correct toolchain created, but not put in the correct place
> by the populate-sdk target?

-cpopulate_sdk would generate a self installer which will be a shell script inside your deploy area
you can install it on a machine and use it outside yocto/OE build env, for using internal toolchain
from native sysroot as you have been trying you don’t need to build sdk

and meta-toolchain is supposed to be replace with image specific SDKs, use -cpopulate_sdk <imagename> to generate SDKs


> 
> Thanks in advance for any help you can provide!
> 
> 
> 
> 
> 
> 
> 
> 
> 
> --
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* meta-toolchain uclibc issue
@ 2015-07-16 15:56 paul grant
  2015-08-13 16:41 ` Khem Raj
  0 siblings, 1 reply; 4+ messages in thread
From: paul grant @ 2015-07-16 15:56 UTC (permalink / raw)
  To: yocto

[-- Attachment #1: Type: text/plain, Size: 2547 bytes --]

Hello All,

I'm trying to build a cross compiler toolchain for PowerPC (mpc8544).

I'm able to successfully bitbake the meta-toolchain target
for glibc, when I check inside the sysroot directory of the sdk,
I find the following directories:

ppce500v2-poky-linux-gnuspe
x86_64-pokysdk-linux

The directory ppce500v2-poky-linux-gnuspe, contains root filesystem
for target (ppc500v2).
The directory x86_64-pokysdk-linux, contains the cross development tools,
for my host, particularly gcc (powerpc-poky-linux-gnuspe-gcc)

If I execute:

powerpc-poky-linux-gnuspe-gcc -v

the target is set to: powerpc-poky-linux

which I interpret to mean a powerpc based target with glibc&linux

I want to build a uclibc toolchain:

to this I understand you need to add the following line to my local.conf:

TCLIBC = "uclibc"

After doing so, I am again able successfully build the target
meta-toolchain.
Again if I look inside the sysroot directory two directories have been
created:

ppce500v2-poky-linux-uclibcspe
x86_64-pokysdk-linux

ppce500v2-poky-linux-uclibcspe, this time the root filesystem is based on
uclibc and this is refelected in the name.
x86_64-pokysdk-linux, again a directory to hold the host tools has been
created.
The gcc tools are located in under directory
./usr/bin/powerpc-poky-linux-gnuspe
as before,

If I execute:

powerpc-poky-linux-gnuspe-gcc -v

the target is set to: powerpc-poky-linux

However given that I've selected uclibc, I was expecting the gcc tools to
be located
under a directory: ./usr/bin/powerpc-poky-linux-uclibcspe
to reflect the fact that the tools are targeting uclibc.

If I look inside the environment script created by the meta-toolchain target
it shares this expectation as is reflected by the extract for CC envvar:

export CC="powerpc-poky-linux-uclibcspe-gcc  -m32 -mcpu=8548 -mabi=spe
-mspe -mfloat-gprs=double --sysroot=$SDKTARGETSYSROOT"

If I search the files created by the target meta-toolchain, it has actually
created
an apprpriate gcc located deeply nested under the work diretcory, a gcc
toolset
of the correct form has been created, namely:

powerpc-poky-linux-uclibcspe-g++

Just to confirm when I run with the -v option it shows its target as:

powerpc-poky-linux-uclibcspe

Can someone clarify what's happening here?!?

1. Are my expectations correct?
2. If so, why is the correct toolchain created, but not put in the correct
place
by the populate-sdk target?

Thanks in advance for any help you can provide!

[-- Attachment #2: Type: text/html, Size: 3572 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-08-13 16:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-01 15:01 meta-toolchain uclibc issue John Toomey
2012-06-01 18:07 ` Khem Raj
2015-07-16 15:56 paul grant
2015-08-13 16:41 ` Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.