* [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