* [Buildroot] external toolchain question @ 2010-09-15 18:17 William Wagner 2010-09-15 18:40 ` Marcus Osdoba 2010-09-15 19:19 ` Thomas Petazzoni 0 siblings, 2 replies; 10+ messages in thread From: William Wagner @ 2010-09-15 18:17 UTC (permalink / raw) To: buildroot Hello, I'm trying to get a crosstool-ng toolchain working and running into a few problems. One thing I found with c++ support was that libstdc++ was being copied into target/usr/lib but it was located in staging/lib. It seems like this commit http://git.buildroot.net/buildroot/commit/?id=ecb7642cce36bc68d93f0eee677adc7da538228d explicitly moved it in the target. The comment appears to be for an external buildroot toolchain not a crosstools toochain. Is that why it works for some people? For my crosstools toolchain it seemed that moving it fixed my problem. As an aside what is the status of using a buildroot generated toolchain as an external toolchain? Any instructions anywhere on how to do it? Thanks Will -- ------------------------------------------------------------------------ Will Wagner will_wagner at carallon.com Development Manager Office Tel: +44 (0)20 7371 2032 Carallon Ltd, Studio G20, Shepherds Building, Rockley Rd, London W14 0DA ------------------------------------------------------------------------ ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] external toolchain question 2010-09-15 18:17 [Buildroot] external toolchain question William Wagner @ 2010-09-15 18:40 ` Marcus Osdoba 2010-09-15 18:50 ` Yann E. MORIN 2010-09-15 19:19 ` Thomas Petazzoni 1 sibling, 1 reply; 10+ messages in thread From: Marcus Osdoba @ 2010-09-15 18:40 UTC (permalink / raw) To: buildroot Am 15.09.2010 20:17, schrieb William Wagner: > Hello, > > I'm trying to get a crosstool-ng toolchain working and running into a > few problems. One thing I found with c++ support was that libstdc++ > was being copied into target/usr/lib but it was located in staging/lib. > > It seems like this commit > http://git.buildroot.net/buildroot/commit/?id=ecb7642cce36bc68d93f0eee677adc7da538228d > explicitly moved it in the target. The comment appears to be for an > external buildroot toolchain not a crosstools toochain. Is that why it > works for some people? For my crosstools toolchain it seemed that > moving it fixed my problem. > > As an aside what is the status of using a buildroot generated > toolchain as an external toolchain? Any instructions anywhere on how > to do it? > Hi Will, I asked a similar questions some time before. Grant answered to my question "preserve toolchain", that he didn't manage to recycle the buildroot generated toolchain for a second run in an easy way. So it seems, that you are forced to from scratch including the toolchain if you do not use a "complete" external toolchain (e.g. generated with crosstool-ng). Personally I didn't yet try out crosstool-ng because the current patchlevel of buildroot is a higher one (e.g. gcc 4.3.4 vs 4.3.5). Regards, Marcus ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] external toolchain question 2010-09-15 18:40 ` Marcus Osdoba @ 2010-09-15 18:50 ` Yann E. MORIN 2010-09-15 19:33 ` Marcus Osdoba 0 siblings, 1 reply; 10+ messages in thread From: Yann E. MORIN @ 2010-09-15 18:50 UTC (permalink / raw) To: buildroot Marcus, All, On Wednesday 15 September 2010 20:40:54 Marcus Osdoba wrote: > Personally I didn't yet try out crosstool-ng because the current > patchlevel of buildroot is a higher one (e.g. gcc 4.3.4 vs 4.3.5). Hmmm... crosstool-NG has gcc-4.4.3, and even 4.4.4 and 4.5.x in experimental status. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] external toolchain question 2010-09-15 18:50 ` Yann E. MORIN @ 2010-09-15 19:33 ` Marcus Osdoba 2010-09-15 20:46 ` Yann E. MORIN 0 siblings, 1 reply; 10+ messages in thread From: Marcus Osdoba @ 2010-09-15 19:33 UTC (permalink / raw) To: buildroot Am 15.09.2010 20:50, schrieb Yann E. MORIN: > Marcus, All, > > On Wednesday 15 September 2010 20:40:54 Marcus Osdoba wrote: >> Personally I didn't yet try out crosstool-ng because the current >> patchlevel of buildroot is a higher one (e.g. gcc 4.3.4 vs 4.3.5). > Hmmm... crosstool-NG has gcc-4.4.3, and even 4.4.4 and 4.5.x in > experimental status. > > Sorry, I didn't want to dispraise your work. Crosstool-ng is amazing! But I had a quick look into it and figured out: BR has 4.3.5 since June 2010 and 4.4.4 since May 2010. The crosstool-ng version 1.8.1 provides 4.3.4 and 4.4.3 as default. With experimental activated no 4.3.5 either. The eglibc points to 2.10 (2.11stable/2.12exp) and glibc to 2.9 (2.11.2stable/2.12exp). So my overall (subjective) impression was that br has currently a higher patchlevel. By the way, I completely agree with Peters opinion that crosstool-ng could provide "better" toolchains while br focusses on it's maintask. Crosstool-ng is designed to generate toolchains as a specialised tool - really great. I saw that integration of ct-ng in br (or more intuitive config wrapper) is quite a long time on the agenda. I think it would be very eligible to see it in br. What is the current status of this idea? Thanks for your great work. Regards, Marcus ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] external toolchain question 2010-09-15 19:33 ` Marcus Osdoba @ 2010-09-15 20:46 ` Yann E. MORIN 0 siblings, 0 replies; 10+ messages in thread From: Yann E. MORIN @ 2010-09-15 20:46 UTC (permalink / raw) To: buildroot Marcus, All, On Wednesday 15 September 2010 21:33:08 Marcus Osdoba wrote: > Sorry, I didn't want to dispraise your work. Crosstool-ng is amazing! No problem, I did take no offense! :-) > But I had a quick look into it and figured out: > BR has 4.3.5 since June 2010 and 4.4.4 since May 2010. > The crosstool-ng version 1.8.1 provides 4.3.4 and 4.4.3 as default. With > experimental activated no 4.3.5 either. Well, I focus on adding the latest versions, and easily give up on legacy stuff. The way forward is not 4.3, but 4.5. But, if you find 4.3.x is still usefull to you, then you can submit support for that and it'll make in! :-) And since you speak of dates... ;-) - gcc-4.4.4 is in since May the 16th, 2010 - gcc-4.5.0 is in since April the 15th, 2010 - gcc-4.5.1 is in since August the 1st, 2010 > The eglibc points to 2.10 (2.11stable/2.12exp) and glibc to 2.9 > (2.11.2stable/2.12exp). Well, glibc is... Special, to say the least. I'm not using it very often, so it lags behind... > So my overall (subjective) impression was that br has currently a higher > patchlevel. Not "patchlevel". I'd rather say "more and/or newer features". The fact is, the default in crosstool-NG is gcc-4.4.3, and gcc-4.4.4 in buildroot. That's not a big gap, and being closed shortly I hope. ;-) But if you look closely, crosstool-NG has support for Linux, Mingw32, and bare-metal. It has support for glibc, eglibc, uClibc, newlib. It is fairly easy to add new alternatives to any component. Toolchain-wise, buildroot has support for Linux and uClibc; that's inherent to its history. But it is also capable of building a whole lot of userland packages. Not the same goal, not the same feature set. :-) > By the way, I completely agree with Peters opinion that crosstool-ng > could provide "better" toolchains while br focusses on it's maintask. Yes, this is the ultimate, loooong term goal. > Crosstool-ng is designed to generate toolchains as a specialised tool - > really great. I saw that integration of ct-ng in br (or more intuitive > config wrapper) is quite a long time on the agenda. I think it would be > very eligible to see it in br. > What is the current status of this idea? That's a legitimate question. I'll post a summary on the list shortly. Thanks for asking! :-) Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] external toolchain question 2010-09-15 18:17 [Buildroot] external toolchain question William Wagner 2010-09-15 18:40 ` Marcus Osdoba @ 2010-09-15 19:19 ` Thomas Petazzoni 2010-09-16 8:03 ` William Wagner 1 sibling, 1 reply; 10+ messages in thread From: Thomas Petazzoni @ 2010-09-15 19:19 UTC (permalink / raw) To: buildroot On Wed, 15 Sep 2010 19:17:03 +0100 William Wagner <will_wagner@carallon.com> wrote: > I'm trying to get a crosstool-ng toolchain working and running into a > few problems. One thing I found with c++ support was that libstdc++ > was being copied into target/usr/lib but it was located in > staging/lib. What's inside staging/ is just a bare copy of the toolchain sysroot. As the toolchain sysroot organization depends on the toolchain, libstdc++ might be located in lib/ or usr/lib in staging. For the target, I thought that it'd be a good idea to have it under usr/lib regardless of whether it was in lib/ or usr/lib/ in the staging directory. This is because "essential" applications do not usually depend on libstdc++, so the natural location for libsdc++ is usr/lib. Is it causing any sort of problem for you ? > As an aside what is the status of using a buildroot generated > toolchain as an external toolchain? It should work, my testing environment includes : * CodeSourcery toolchains (ARM, PowerPC, MIPS, sh) * Buildroot external toolchains (x86, ARM, AVR32, mipsel, powerpc, sh) * Crosstool-NG external toolchains (ARM glibc, ARM uclibc, i586 uclibc, mips uclibc, powerpc uclibc) All those toolchains work, at least in the cases I've tested, of course. > Any instructions anywhere on how to do it? * Select architecture * In Build options, change the staging dir location to where you want the toolchain to be installed * Disable the Busybox package * Disable the ext2 filesystem generation That should be it. 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] 10+ messages in thread
* [Buildroot] external toolchain question 2010-09-15 19:19 ` Thomas Petazzoni @ 2010-09-16 8:03 ` William Wagner 2010-09-16 9:04 ` Thomas Petazzoni 0 siblings, 1 reply; 10+ messages in thread From: William Wagner @ 2010-09-16 8:03 UTC (permalink / raw) To: buildroot On 15/09/2010 20:19, Thomas Petazzoni wrote: > On Wed, 15 Sep 2010 19:17:03 +0100 > William Wagner<will_wagner@carallon.com> wrote: > >> I'm trying to get a crosstool-ng toolchain working and running into a >> few problems. One thing I found with c++ support was that libstdc++ >> was being copied into target/usr/lib but it was located in >> staging/lib. > What's inside staging/ is just a bare copy of the toolchain sysroot. As > the toolchain sysroot organization depends on the toolchain, libstdc++ > might be located in lib/ or usr/lib in staging. > > For the target, I thought that it'd be a good idea to have it under > usr/lib regardless of whether it was in lib/ or usr/lib/ in the staging > directory. This is because "essential" applications do not usually > depend on libstdc++, so the natural location for libsdc++ is usr/lib. > > Is it causing any sort of problem for you ? With libstdc++ in /usr/lib on target but /lib in staging I was getting an error in gdb when it tried to load libstdc++, moving the library fixed the problem. -- ------------------------------------------------------------------------ Will Wagner will_wagner at carallon.com Development Manager Office Tel: +44 (0)20 7371 2032 Carallon Ltd, Studio G20, Shepherds Building, Rockley Rd, London W14 0DA ------------------------------------------------------------------------ ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] external toolchain question 2010-09-16 8:03 ` William Wagner @ 2010-09-16 9:04 ` Thomas Petazzoni 2010-09-16 11:41 ` William Wagner 0 siblings, 1 reply; 10+ messages in thread From: Thomas Petazzoni @ 2010-09-16 9:04 UTC (permalink / raw) To: buildroot On Thu, 16 Sep 2010 09:03:11 +0100 William Wagner <will_wagner@carallon.com> wrote: > With libstdc++ in /usr/lib on target but /lib in staging I was > getting an error in gdb when it tried to load libstdc++, moving the > library fixed the problem. Hum, right, ok. The old behaviour was to find each library in staging/ and then copy it to the same location in target/. Unfortunately, it was causing problems with Buildroot toolchains, because in those, libstdc++ was neither in lib/ or in usr/lib, but in usr/<tuple>/lib. Therefore, I moved to a strategy that consists in having a fixed destination for the library on the target filesystem. This was implemented by ecb7642cce36bc68d93f0eee677adc7da538228d. However, later on, to fix other issues, also related to libstdc++, I modified the build procedure for Buildroot toolchains so that a <tuple>/lib -> lib/ is created, as other toolchain building systems are doing. This was implemented in 3c77bab2eeace3ee675bd745ca335fa3dd1630bb. The result is that libstdc++ is back into a usual location in Buildroot toolchains, so we could in fact more or less revert ecb7642cce36bc68d93f0eee677adc7da538228d and make sure that libraries are at the same location in both staging/ and target/. I'll cook a patch for this. 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] 10+ messages in thread
* [Buildroot] external toolchain question 2010-09-16 9:04 ` Thomas Petazzoni @ 2010-09-16 11:41 ` William Wagner 2010-09-16 12:14 ` Thomas Petazzoni 0 siblings, 1 reply; 10+ messages in thread From: William Wagner @ 2010-09-16 11:41 UTC (permalink / raw) To: buildroot On 16/09/2010 10:04, Thomas Petazzoni wrote: > On Thu, 16 Sep 2010 09:03:11 +0100 > William Wagner<will_wagner@carallon.com> wrote: > >> With libstdc++ in /usr/lib on target but /lib in staging I was >> getting an error in gdb when it tried to load libstdc++, moving the >> library fixed the problem. > Hum, right, ok. > > The old behaviour was to find each library in staging/ and then copy it > to the same location in target/. Unfortunately, it was causing problems > with Buildroot toolchains, because in those, libstdc++ was neither in > lib/ or in usr/lib, but in usr/<tuple>/lib. Therefore, I moved to a > strategy that consists in having a fixed destination for the library on > the target filesystem. This was implemented by > ecb7642cce36bc68d93f0eee677adc7da538228d. > > However, later on, to fix other issues, also related to libstdc++, I > modified the build procedure for Buildroot toolchains so that a > <tuple>/lib -> lib/ is created, as other toolchain building systems are > doing. This was implemented in > 3c77bab2eeace3ee675bd745ca335fa3dd1630bb. The result is that libstdc++ > is back into a usual location in Buildroot toolchains, so we could in > fact more or less revert ecb7642cce36bc68d93f0eee677adc7da538228d and > make sure that libraries are at the same location in both staging/ and > target/. I'll cook a patch for this. Have now also tried a code sourcery toolchain which puts libstdc++ in /usr/lib and if they don't match again get the error. We could change copy_toolchain_lib_root so that it puts the libraries in the corresponding location it finds them in rather than currently searching in three locations but always copying to the specified one. > Thanks for the report! > > Thomas -- ------------------------------------------------------------------------ Will Wagner will_wagner at carallon.com Development Manager Office Tel: +44 (0)20 7371 2032 Carallon Ltd, Studio G20, Shepherds Building, Rockley Rd, London W14 0DA ------------------------------------------------------------------------ ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] external toolchain question 2010-09-16 11:41 ` William Wagner @ 2010-09-16 12:14 ` Thomas Petazzoni 0 siblings, 0 replies; 10+ messages in thread From: Thomas Petazzoni @ 2010-09-16 12:14 UTC (permalink / raw) To: buildroot On Thu, 16 Sep 2010 12:41:09 +0100 William Wagner <will_wagner@carallon.com> wrote: > We could change copy_toolchain_lib_root so that it puts the libraries > in the corresponding location it finds them in rather than currently > searching in three locations but always copying to the specified one. Absolutely. That's what the code was doing prior to ecb7642cce36bc68d93f0eee677adc7da538228d. 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] 10+ messages in thread
end of thread, other threads:[~2010-09-16 12:14 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-09-15 18:17 [Buildroot] external toolchain question William Wagner 2010-09-15 18:40 ` Marcus Osdoba 2010-09-15 18:50 ` Yann E. MORIN 2010-09-15 19:33 ` Marcus Osdoba 2010-09-15 20:46 ` Yann E. MORIN 2010-09-15 19:19 ` Thomas Petazzoni 2010-09-16 8:03 ` William Wagner 2010-09-16 9:04 ` Thomas Petazzoni 2010-09-16 11:41 ` William Wagner 2010-09-16 12:14 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox