[OE-core] dylan: meta-toolchain and u-boot : "cannot find -lgcc"

Eric Bénard eric at eukrea.com
Fri Apr 26 14:41:57 UTC 2013


Hi Mark,

Le Fri, 26 Apr 2013 08:51:58 -0500,
Mark Hatle <mark.hatle at windriver.com> a écrit :
> On 4/26/13 2:26 AM, Eric Bénard wrote:
> > this can be fixed by installing the sdk to it's standard path
> > (/usr/local/oecore-x86_64/ in the present case).
> >
> > Is that an expected behaviour (as the sdk is primarly designed to build
> > applications) or can that be fixed during the sdk relocation ?
> 
> When you use the SDK, you need to be sure to source the SDK environment setup. 
> Once you do that, pass to the compiler/linker the included CFLAGS and LDFLAGS as 
> specified in that environment file.

of course I did source it (and forget to put it in the email as that
was obvious to me, sorry).

> They should end up passing at some point a --sysroot=... and that will tell gcc 
> where the libraries and headers are for linking.  Without the --sysroot= option, 
> the compiler has no choice but to look for it's original compilation directory.
> 
true, that's why I provided the step to reproduce and said "as the
sdk is primarly designed to build applications" and that's certainly
why we get this problem : for linux & u-boot we can't use the LDFLAGS
as set by the environment script else we get :

for u-boot :
arm-oe-linux-gnueabi-ld.bfd: unrecognized option '-Wl,-O1'
so we need to pass LDFLAGS="" which then leads to :
arm-oe-linux-gnueabi-ld.bfd: cannot find -lgcc
if and only if the sdk was relocated.
(and I also get the error even if I add LDFLAGS="
--sysroot=/path_to/oecore-x86_64/sysroots/armv5te-oe-linux-gnueabi"
so this seems specific to -lgcc)

for linux :
arm-oe-linux-gnueabi-ld: unrecognized option '-Wl,-O1'
so here again we need to pass LDFLAGS="" which leads to a successful
build as the build is not using lgcc.

Eric




More information about the Openembedded-core mailing list