* [Buildroot] Can I use the toolchain build with buildroot, as an external toolchain ? @ 2012-03-22 9:54 Vellemans, Noel 2012-03-22 16:49 ` Grant Edwards 0 siblings, 1 reply; 8+ messages in thread From: Vellemans, Noel @ 2012-03-22 9:54 UTC (permalink / raw) To: buildroot Hi all, Thomas, gave me a hint on how to make 'full' compiles faster. <<Thomas Petazzoni>> >>Another way of speeding up the build is to use an external toolchain if you're not >>already using. You can also enable the ccache >>feature (be sure to have the latest ccache fixes, otherwise ccache is basically >>unused). Q: Can I use a toolchain that has been build with buildroot (before) as an external toolchain ? Q: Is this explained somewhere, on how to do this ? Thanks, Noel ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Can I use the toolchain build with buildroot, as an external toolchain ? 2012-03-22 9:54 [Buildroot] Can I use the toolchain build with buildroot, as an external toolchain ? Vellemans, Noel @ 2012-03-22 16:49 ` Grant Edwards 2012-03-22 16:55 ` Thomas Petazzoni 0 siblings, 1 reply; 8+ messages in thread From: Grant Edwards @ 2012-03-22 16:49 UTC (permalink / raw) To: buildroot On 2012-03-22, Vellemans, Noel <Noel.Vellemans@visionBMS.com> wrote: > Q: Can I use a toolchain that has been build with buildroot (before) > as an external toolchain ? Yes. I used to do that. After a few weeks, I gave up on it and built an external toolchain using crosstool-ng. > Q: Is this explained somewhere, on how to do this? No, because it's much simpler to just build an external toolchain using crosstool-ng, and then configure Buildroot use that. -- Grant Edwards grant.b.edwards Yow! I am NOT a nut.... at gmail.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Can I use the toolchain build with buildroot, as an external toolchain ? 2012-03-22 16:49 ` Grant Edwards @ 2012-03-22 16:55 ` Thomas Petazzoni 2012-03-22 17:55 ` Steve Calfee 0 siblings, 1 reply; 8+ messages in thread From: Thomas Petazzoni @ 2012-03-22 16:55 UTC (permalink / raw) To: buildroot Hello, Le Thu, 22 Mar 2012 16:49:31 +0000 (UTC), Grant Edwards <grant.b.edwards@gmail.com> a ?crit : > > Q: Can I use a toolchain that has been build with buildroot (before) > > as an external toolchain ? > > Yes. I used to do that. After a few weeks, I gave up on it and built > an external toolchain using crosstool-ng. > > > Q: Is this explained somewhere, on how to do this? > > No, because it's much simpler to just build an external toolchain > using crosstool-ng, and then configure Buildroot use that. Yes, I agree. If you want to do that anyway, here are the steps. From a pristine Buildroot configuration: * Select your architecture * Select your architecture variant * In Build options, set the host dir to /opt/your-toolchain-name where your-toolchain-name would typically be arm-linux-uclibcgnueabi or something like that (but it can also be anything else) * In Toolchain, use the Buildroot internal backend, and configure everything (gcc version, binutils version, etc.) * In Packages, disable Busybox (i.e no packages at all should be selected) * In target filesystems, disable the tarball (i.e no filesystems at all should be selected) Then, build with make. You have your toolchain in /opt/your-toolchain-name. You can erase your Buildroot build and configuration now. Now, you can do a second Buildroot to build your system itself, re-using the toolchain you have created. In the toolchain menu, select external toolchain, and then Custom external toolchain. In the toolchain path, set /opt/your-toolchain-name/usr/, and adjust the IPv6/RPC/locale/wide-char options to the ones you have used when building your toolchain. Don't worry if you're not sure here: Buildroot will check at the beginning of the build all those options and will abort if anything is incorrect. Regards, Thomas Petazzoni -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Can I use the toolchain build with buildroot, as an external toolchain ? 2012-03-22 16:55 ` Thomas Petazzoni @ 2012-03-22 17:55 ` Steve Calfee 2012-06-22 14:28 ` Aleksandar Zivkovic 0 siblings, 1 reply; 8+ messages in thread From: Steve Calfee @ 2012-03-22 17:55 UTC (permalink / raw) To: buildroot On 03/22/2012 09:55 AM, Thomas Petazzoni wrote: > Hello, > > > Yes, I agree. > > If you want to do that anyway, here are the steps. From a pristine > Buildroot configuration: > > * Select your architecture > * Select your architecture variant > * In Build options, set the host dir to /opt/your-toolchain-name where > your-toolchain-name would typically be arm-linux-uclibcgnueabi or > something like that (but it can also be anything else) > * In Toolchain, use the Buildroot internal backend, and configure > everything (gcc version, binutils version, etc.) > * In Packages, disable Busybox (i.e no packages at all should be > selected) > * In target filesystems, disable the tarball (i.e no filesystems at > all should be selected) > > Then, build with make. You have your toolchain > in /opt/your-toolchain-name. You can erase your Buildroot build and > configuration now. > > Now, you can do a second Buildroot to build your system itself, > re-using the toolchain you have created. > > In the toolchain menu, select external toolchain, and then Custom > external toolchain. In the toolchain path, > set /opt/your-toolchain-name/usr/, and adjust the > IPv6/RPC/locale/wide-char options to the ones you have used when > building your toolchain. Don't worry if you're not sure here: Buildroot > will check at the beginning of the build all those options and will > abort if anything is incorrect. > > Regards, > > Thomas Petazzoni I do it slightly differently. I go through most of your steps above, except I leave the toolchain in the default buildroot directory. (I think it is in output/host...). Then I check out another buildroot tree and select external toolchain in that tree to point to the other buildroot tree with just the compiler. This way if I forgot a needed toolchain option, I can go back to the original tools tree, make clean, configure to what I need and rebuild just the toolchain. Also I can easily upgrade to the latest buildroot tools when needed. You should always use an external toolchain, otherwise the development tree is just too painful to do a "make clean" in. But in my use case the external toolchain is an external buildroot toolchain. Regards, Steve ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Can I use the toolchain build with buildroot, as an external toolchain ? 2012-03-22 17:55 ` Steve Calfee @ 2012-06-22 14:28 ` Aleksandar Zivkovic 2012-06-23 8:45 ` Thomas Petazzoni 0 siblings, 1 reply; 8+ messages in thread From: Aleksandar Zivkovic @ 2012-06-22 14:28 UTC (permalink / raw) To: buildroot On 22/03/2012 18:55, Steve Calfee wrote: > On 03/22/2012 09:55 AM, Thomas Petazzoni wrote: >> Hello, >> >> >> Yes, I agree. >> >> If you want to do that anyway, here are the steps. From a pristine >> Buildroot configuration: >> >> * Select your architecture >> * Select your architecture variant >> * In Build options, set the host dir to /opt/your-toolchain-name where >> your-toolchain-name would typically be arm-linux-uclibcgnueabi or >> something like that (but it can also be anything else) >> * In Toolchain, use the Buildroot internal backend, and configure >> everything (gcc version, binutils version, etc.) >> * In Packages, disable Busybox (i.e no packages at all should be >> selected) >> * In target filesystems, disable the tarball (i.e no filesystems at >> all should be selected) >> >> Then, build with make. You have your toolchain >> in /opt/your-toolchain-name. You can erase your Buildroot build and >> configuration now. >> >> Now, you can do a second Buildroot to build your system itself, >> re-using the toolchain you have created. >> >> In the toolchain menu, select external toolchain, and then Custom >> external toolchain. In the toolchain path, >> set /opt/your-toolchain-name/usr/, and adjust the >> IPv6/RPC/locale/wide-char options to the ones you have used when >> building your toolchain. Don't worry if you're not sure here: Buildroot >> will check at the beginning of the build all those options and will >> abort if anything is incorrect. >> >> Regards, >> >> Thomas Petazzoni > > I do it slightly differently. I go through most of your steps above, > except I leave the toolchain in the default buildroot directory. (I > think it is in output/host...). Then I check out another buildroot tree > and select external toolchain in that tree to point to the other > buildroot tree with just the compiler. > > This way if I forgot a needed toolchain option, I can go back to the > original tools tree, make clean, configure to what I need and rebuild > just the toolchain. Also I can easily upgrade to the latest buildroot > tools when needed. > > You should always use an external toolchain, otherwise the development > tree is just too painful to do a "make clean" in. But in my use case the > external toolchain is an external buildroot toolchain. > > Regards, Steve Hi all, I'm also trying to speed-up my build by saving already built toolchain to different place and use it as external toolchain in second build. Most of the build goes well but I get stuck at webkit build where it complains that sysroot libraries are not on the place they are originally built. I would say this is question for webkit package but I noticed that at beginning Buildroot will make symbolic links from my ext-toolchain to its output/host/usr/bin directory with following command: Checking external toolchain settings Copy external toolchain libraries to target... Copy external toolchain sysroot to staging... mkdir -p /var/lib/hudson/jobs/DevBuildroot_2011-05_x86/workspace/buildroot-2011.05/output/host/usr/bin; cd /var/lib/hudson/jobs/DevBuildroot_2011-05_x86/workspace/buildroot-2011.05/output/host/usr/bin; \ for i in /var/lib/hudson/jobs/DevBuildroot_2011-05_x86/workspace/buildroot-2011.05/../host/usr/bin/i686-linux-*; do \ case "$i" in \ *cc|*cc-*|*++|*++-*|*cpp) \ base=${i##*/}; \ ln -sf ext-toolchain-wrapper $base; \ ;; \ *) \ ln -sf $i .; \ ;; \ esac; \ done ; I was wondering can this be solved without making symbolic links but with providing original ext-toolchain path during package configure procedure? Also not sure if this is true cause for webkit issue but it's worth trying this if not complicated. For reference here is log that I get before build stops: CXXLD Programs/jsc CCLD Programs/minidom CXXLD libwebkit-1.0.la libtool: link: warning: library `/var/lib/hudson/jobs/DevBuildroot_2011-05_x86/workspace/buildroot-2011.05/output/host/usr/i686-unknown-linux-gnu/sysroot/lib/libstdc++.la' was moved. libtool: link: warning: library `/var/lib/hudson/jobs/DevBuildroot_2011-05_x86/workspace/buildroot-2011.05/output/host/usr/i686-unknown-linux-gnu/sysroot/lib/libstdc++.la' was moved. libtool: link: warning: library `/var/lib/hudson/jobs/DevBuildroot_2011-05_x86/workspace/buildroot-2011.05/output/host/usr/i686-unknown-linux-gnu/sysroot/lib/libstdc++.la' was moved. libtool: link: warning: library `/var/lib/hudson/jobs/DevBuildroot_2011-05_x86/workspace/buildroot-2011.05/output/host/usr/i686-unknown-linux-gnu/sysroot/lib/libstdc++.la' was moved. libtool: link: warning: library `/var/lib/hudson/jobs/DevBuildroot_2011-05_x86/workspace/buildroot-2011.05/output/host/usr/i686-unknown-linux-gnu/sysroot/lib/libstdc++.la' was moved. libtool: link: warning: library `/var/lib/hudson/jobs/DevBuildroot_2011-05_x86/workspace/buildroot-2011.05/output/host/usr/i686-unknown-linux-gnu/sysroot/lib/libstdc++.la' was moved. Too many arguments make[2]: *** [libwebkit-1.0.la] Error 1 make[2]: Leaving directory `/var/lib/hudson/jobs/DevBuildroot_2011-05_x86/workspace/buildroot-2011.05/output/build/webkit-1.2.7' Regards, Aleksandar ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Can I use the toolchain build with buildroot, as an external toolchain ? 2012-06-22 14:28 ` Aleksandar Zivkovic @ 2012-06-23 8:45 ` Thomas Petazzoni 2012-06-25 14:16 ` Aleksandar Zivkovic 0 siblings, 1 reply; 8+ messages in thread From: Thomas Petazzoni @ 2012-06-23 8:45 UTC (permalink / raw) To: buildroot Le Fri, 22 Jun 2012 16:28:28 +0200, Aleksandar Zivkovic <Aleksandar.Zivkovic@rt-rk.com> a ?crit : > Too many arguments You're using Buildroot 2011.05, and the problem you're facing is a limitation in the external toolchain wrapper, which has been fixed since then. For reference, this problem has been fixed by e8c46b118b011c766511c44fa9232e074ad6bcbc. So either you need to upgrade your Buildroot version, or you need to backport this patch in 2011.05 (which should be relatively easy since this change has been made no long after the 2011.05 release). Best regards, Thomas -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Can I use the toolchain build with buildroot, as an external toolchain ? 2012-06-23 8:45 ` Thomas Petazzoni @ 2012-06-25 14:16 ` Aleksandar Zivkovic 2012-06-25 14:22 ` Thomas Petazzoni 0 siblings, 1 reply; 8+ messages in thread From: Aleksandar Zivkovic @ 2012-06-25 14:16 UTC (permalink / raw) To: buildroot On 23/06/2012 10:45, Thomas Petazzoni wrote: > Le Fri, 22 Jun 2012 16:28:28 +0200, > Aleksandar Zivkovic<Aleksandar.Zivkovic@rt-rk.com> a ?crit : > >> Too many arguments > > You're using Buildroot 2011.05, and the problem you're facing is a > limitation in the external toolchain wrapper, which has been fixed > since then. > > For reference, this problem has been fixed by > e8c46b118b011c766511c44fa9232e074ad6bcbc. So either you need to upgrade > your Buildroot version, or you need to backport this patch in 2011.05 > (which should be relatively easy since this change has been made no > long after the 2011.05 release). > > Best regards, > > > Thomas Dear Thomas, thank you for quick and precise answer! I have applied improvements done at my Buildroot 2011.05 and now am able to enjoy in 50 minutes faster build after toolchain is built once. Regards, Aleksandar ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Can I use the toolchain build with buildroot, as an external toolchain ? 2012-06-25 14:16 ` Aleksandar Zivkovic @ 2012-06-25 14:22 ` Thomas Petazzoni 0 siblings, 0 replies; 8+ messages in thread From: Thomas Petazzoni @ 2012-06-25 14:22 UTC (permalink / raw) To: buildroot Le Mon, 25 Jun 2012 16:16:29 +0200, Aleksandar Zivkovic <Aleksandar.Zivkovic@rt-rk.com> a ?crit : > thank you for quick and precise answer! I have applied improvements done > at my Buildroot 2011.05 and now am able to enjoy in 50 minutes faster > build after toolchain is built once. Excellent, thanks for the report! Thomas -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-06-25 14:22 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-03-22 9:54 [Buildroot] Can I use the toolchain build with buildroot, as an external toolchain ? Vellemans, Noel 2012-03-22 16:49 ` Grant Edwards 2012-03-22 16:55 ` Thomas Petazzoni 2012-03-22 17:55 ` Steve Calfee 2012-06-22 14:28 ` Aleksandar Zivkovic 2012-06-23 8:45 ` Thomas Petazzoni 2012-06-25 14:16 ` Aleksandar Zivkovic 2012-06-25 14:22 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox