On 11/13/2017 09:44 AM, Zhen LiWei wrote:
Thank you. The SDK installing host being different is actually not our
concern: we have some strict definition of what host distro we should
use when using the SDK.
And basically the native toolchain works rather fine. And I can (I
think) use it with some confidence.
The other goal of mine---using the x86_64_linux sysroot to develop x86
native programs---however, is difficult. For 1) Quite some patches
needed for autotools, pkg-config, etc…. 2) basic libraries like
openssl need to co-exist with the host-distro-native ones, so when
building binaries upon them I need to be very careful (ly manipulating
the pkg-config, xxx-config, and rpathes). 3) various in-house and
3rdparty binaries need to be built on this complex setup, which use
different config/build infrastructures.
So basically this is not how the native sysroot is intended to be used
(but in the BB env it is controled very well: every native package can
be built in it). So I need to continue to improve my procedure, or
just give it up and use a qemu image instead.
Liwei
From previous emails, I can see that your major concern is about SDK
and application development. And you want to keep SDK in sync across
different hosts.
eSDK and devtool in new Yocto releases are designed to solve such problems.
I'd suggest you take a look at these tools if you are interested.
P.S. From my experience, if you make custom scripts to wrapper yocto
projects, you should keep things as simple as possible. Otherwise, there
would be a lot of work when you want to use new yocto releases.
Best Regards,
Chen Qi
------------------------------------------------------------------------
*发件人:* ChenQi <[email protected]>
*发送时间:* Thursday, November 9, 2017 10:48:41 AM
*收件人:* Zhen LiWei; [email protected]
*主题:* Re: [yocto] use native (cross) toolchain instead of a populated
nativesdk (cross-canadian) toolchain
If I understand it correctly, you are talking about using native
components directly for SDK.
If you are using all the same machine with the same OS, you could use
native components directly, maybe with a little modification.
But in fact, the host where SDK is installed might be different from
the host where SDK is built.
Check the SDKMACHINE variable.
Best Regards,
Chen Qi
On 11/07/2017 11:09 PM, Zhen LiWei wrote:
Hi, I am working on a yocto 2.0 based distro and we usually
populate_sdk and use the toolchain included in SDK.
But we also like to check the SDK into a SVN repo, and checkout it
anywhere, and use it away right where it is checked out. And since
the nativesdk binaries are based on a different glibc than native,
and have the “dynamic loader” path hardcoded in them, I have to patch
the toolchain binaries’ .interp secion to point to a common place,
and update the loader into that common place automatically in some
way. Other than this, things work very good for us.
Then I was thinking: is it a good practice, to use the native/cross
toolchain directly from the tmp/sysroots/x86_64-native folder. I
tried and succeeded, by just moving the sysroot to where the
checked-out nativesdk toolchain was.
An extra bonus about this is that we got a more populated sysroot for
native platform too, for example a openssl dev package at the same
version as that on target, that we can actually use to make the
native platform a closer-to-target dev env for some “workbench” build.
However I’m still wondering: is there any thing negative about this
style? One thing known is that the SDK-using host need to be similar
to the SDK-building host, but that is not an issue for us. But
anything else, guys?
--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto