public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
* Crosstool-ng always starts from the top
@ 2010-03-30 22:52 Stuart Longland
  2010-03-31  6:10 ` Yann E. MORIN
  0 siblings, 1 reply; 3+ messages in thread
From: Stuart Longland @ 2010-03-30 22:52 UTC (permalink / raw)
  To: crossgcc

Hi all,
	Is there a way to convince crosstool-ng to pick up where it left off? 
I've got a situation where some misconfigured options caused crosstool 
to fail to build gcc (arm-cortex-eabi target; GCC was to be configured 
using --with-cpu=cortex-m3 -- this fails because the "CPU does not 
support ARM mode").

	The upshot is that I have to run `ct-ng menuconfig` again, and tweak 
the options for gcc and run it again.  This is fine, but when I run 
`ct-ng build`, it starts right from scratch again building GMP, MPFR, 
PPL, Cloog and binutils... which all should be identical to before, and 
shouldn't need rebuilding.

	Is there a reason why the builder can't just assume (or be convinced to 
assume) those components are already built and resume at the last 
component where the failure occurred?

Regards,
-- 
Stuart Longland (aka Redhatter, VK4MSL)      .'''.
Gentoo Linux/MIPS Cobalt and Docs Developer  '.'` :
. . . . . . . . . . . . . . . . . . . . . .   .'.'
http://dev.gentoo.org/~redhatter             :.'

I haven't lost my mind...
   ...it's backed up on a tape somewhere.

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Crosstool-ng always starts from the top
  2010-03-30 22:52 Crosstool-ng always starts from the top Stuart Longland
@ 2010-03-31  6:10 ` Yann E. MORIN
  2010-03-31  6:37   ` David Wuertele
  0 siblings, 1 reply; 3+ messages in thread
From: Yann E. MORIN @ 2010-03-31  6:10 UTC (permalink / raw)
  To: crossgcc; +Cc: Stuart Longland

Stuart, All,

On Wednesday 31 March 2010 00:52:00 Stuart Longland wrote:
> Is there a way to convince crosstool-ng to pick up where it left off? 

This is a limitation: crosstool-NG was not designed to be restartable.

However, it appeared that debugging crosstool-NG itself was cumbersome
when a single script was modified, so a /kind of/ stop-and-restart
feature was added, that works _iff_ the configuration has not changed.

That way, I was able to try to patch gcc or it's build script and restart
again without loosing too much time.

To sum-up:
 - no, it's not possible to restart where it left off, if the
   configuration has changed
 - yes you can stop-and-restart at any place iff the configuration
   has *not* changed.

> The upshot is that I have to run `ct-ng menuconfig` again, and tweak 
> the options for gcc and run it again.  This is fine, but when I run 
> `ct-ng build`, it starts right from scratch again building GMP, MPFR, 
> PPL, Cloog and binutils... which all should be identical to before, and 
> shouldn't need rebuilding.

That's right from a theorical point of view. 

> Is there a reason why the builder can't just assume (or be convinced to 
> assume) those components are already built and resume at the last 
> component where the failure occurred?

Well, most notably a design issue. The /issue/ is that crosstool-NG has
(so far) no way to tell what changed in the configuration, related to
what component(s), and what following copmponent(s) the change does
impact.

And fixing this will need a *huge* amount of work, which I am not yet ready
to invest. Except if someone comes with a patch that I can review! ;-)

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.  |
'------------------------------^-------^------------------^--------------------'



--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Crosstool-ng always starts from the top
  2010-03-31  6:10 ` Yann E. MORIN
@ 2010-03-31  6:37   ` David Wuertele
  0 siblings, 0 replies; 3+ messages in thread
From: David Wuertele @ 2010-03-31  6:37 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: crossgcc, Stuart Longland

Howdy folks,

If restartability is a requirement but mature software is not, can I
recommend Crossplex?
Crossplex is a library of macros for GNU make that let you embed your
own toolchain and root-filesystem builder in any makefile.  Crossplex
was designed from the ground up to be restartable.
It is still new and doesn't have the broad userbase or compatibility
that a great tool like crosstool-NG has, but it is scrappy and has big
dreams!
One of its main features is building multiple software configurations
in the same tree.  You can change your software configuration or add
new ones without starting from a clean build.
Anything that Crossplex can determine that can be reused between
configurations will get reused without recompilation.
There isn't much documentation yet, but I'm adding more almost daily.

  http://crossplex.org

Dave

PS I'm a big fan of crosstool and crosstool-NG.  I've learned a lot
from you guys and I hope my little contribution will be a hundredth as
useful as your awesome tools!

On Tue, Mar 30, 2010 at 11:10 PM, Yann E. MORIN
<yann.morin.1998@anciens.enib.fr> wrote:
> Stuart, All,
>
> On Wednesday 31 March 2010 00:52:00 Stuart Longland wrote:
>> Is there a way to convince crosstool-ng to pick up where it left off?
>
> This is a limitation: crosstool-NG was not designed to be restartable.
>
> However, it appeared that debugging crosstool-NG itself was cumbersome
> when a single script was modified, so a /kind of/ stop-and-restart
> feature was added, that works _iff_ the configuration has not changed.
>
> That way, I was able to try to patch gcc or it's build script and restart
> again without loosing too much time.
>
> To sum-up:
>  - no, it's not possible to restart where it left off, if the
>   configuration has changed
>  - yes you can stop-and-restart at any place iff the configuration
>   has *not* changed.
>
>> The upshot is that I have to run `ct-ng menuconfig` again, and tweak
>> the options for gcc and run it again.  This is fine, but when I run
>> `ct-ng build`, it starts right from scratch again building GMP, MPFR,
>> PPL, Cloog and binutils... which all should be identical to before, and
>> shouldn't need rebuilding.
>
> That's right from a theorical point of view.
>
>> Is there a reason why the builder can't just assume (or be convinced to
>> assume) those components are already built and resume at the last
>> component where the failure occurred?
>
> Well, most notably a design issue. The /issue/ is that crosstool-NG has
> (so far) no way to tell what changed in the configuration, related to
> what component(s), and what following copmponent(s) the change does
> impact.
>
> And fixing this will need a *huge* amount of work, which I am not yet ready
> to invest. Except if someone comes with a patch that I can review! ;-)
>
> 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.  |
> '------------------------------^-------^------------------^--------------------'
>
>
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>
>

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-03-31  6:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-30 22:52 Crosstool-ng always starts from the top Stuart Longland
2010-03-31  6:10 ` Yann E. MORIN
2010-03-31  6:37   ` David Wuertele

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).