unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Hydra time out
@ 2014-06-04 21:22 Andreas Enge
  2014-06-04 21:34 ` GCC language front-ends Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Andreas Enge @ 2014-06-04 21:22 UTC (permalink / raw)
  To: guix-devel

gcc-objc++-4.8.2.mips64el-linux fails to be built because of:

building of `/gnu/store/avdn8phqm44v33p6k42pipybcgjs92mb-gcc-objc++-4.8.2.drv' timed out after 72000 seconds
@ build-failed /gnu/store/avdn8phqm44v33p6k42pipybcgjs92mb-gcc-objc++-4.8.2.drv - timeout

I think it simply takes more than 12 hours...

Do you think there might be a way of compiling all gcc languages in one go
instead of in several packages? Maybe enable all languages in gcc? Or would
this create too big a gcc package? Also, maybe we could drop one of the three
gcc versions.

And finally, why are there two gcc-4.8.2 packages, and where are they actually?
$ guix package -A gcc
gcc     4.7.3   out     gnu/packages/gcc.scm:95:4
gcc     4.8.2   out     gnu/packages/gcc.scm:95:4
gcc     4.9.0   out     gnu/packages/gcc.scm:95:4
gcc     4.8.2   out     gnu/packages/gcc.scm:95:4

Is there a way of printing not the line 95 in which the base gcc package is
defined from which all others inherit, but the line where the actual package
is defined?

Andreas

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

* GCC language front-ends
  2014-06-04 21:22 Hydra time out Andreas Enge
@ 2014-06-04 21:34 ` Ludovic Courtès
  2014-06-04 21:46   ` Andreas Enge
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2014-06-04 21:34 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1611 bytes --]

Andreas Enge <andreas@enge.fr> skribis:

> gcc-objc++-4.8.2.mips64el-linux fails to be built because of:
>
> building of `/gnu/store/avdn8phqm44v33p6k42pipybcgjs92mb-gcc-objc++-4.8.2.drv' timed out after 72000 seconds
> @ build-failed /gnu/store/avdn8phqm44v33p6k42pipybcgjs92mb-gcc-objc++-4.8.2.drv - timeout
>
> I think it simply takes more than 12 hours...

Ahah.  :-)

> Do you think there might be a way of compiling all gcc languages in one go
> instead of in several packages? Maybe enable all languages in gcc? Or would
> this create too big a gcc package?

That would be too big.  Plus, when you say “all”, do you really mean Ada
and Java for instance?  These make things definitely bigger.

> Also, maybe we could drop one of the three gcc versions.

The default package does C and C++.  We could imagine another one that
would in addition to Objective-C and FORTRAN, yes.  That would save
build time, at the expense of being somewhat confusing to the user IMO.

> And finally, why are there two gcc-4.8.2 packages, and where are they actually?
> $ guix package -A gcc
> gcc     4.7.3   out     gnu/packages/gcc.scm:95:4
> gcc     4.8.2   out     gnu/packages/gcc.scm:95:4
> gcc     4.9.0   out     gnu/packages/gcc.scm:95:4
> gcc     4.8.2   out     gnu/packages/gcc.scm:95:4

One of the GCC 4.8.2 is ‘gcc-final’ in base.scm.

> Is there a way of printing not the line 95 in which the base gcc package is
> defined from which all others inherit, but the line where the actual package
> is defined?

Yes, good idea.

I’ve just committed this patch:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 366 bytes --]

--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -971,6 +971,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
   ;; The final GCC.
   (package (inherit gcc-boot0)
     (name "gcc")
+    (location (source-properties->location (current-source-location)))
     (arguments
      `(#:guile ,%bootstrap-guile
        #:implicit-inputs? #f

[-- Attachment #3: Type: text/plain, Size: 21 bytes --]


Thanks,
Ludo’.

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

* Re: GCC language front-ends
  2014-06-04 21:34 ` GCC language front-ends Ludovic Courtès
@ 2014-06-04 21:46   ` Andreas Enge
  2014-06-05 13:00     ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Andreas Enge @ 2014-06-04 21:46 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Wed, Jun 04, 2014 at 11:34:33PM +0200, Ludovic Courtès wrote:
> That would be too big.  Plus, when you say “all”, do you really mean Ada
> and Java for instance?  These make things definitely bigger.

Okay.

> > Also, maybe we could drop one of the three gcc versions.
> The default package does C and C++.  We could imagine another one that
> would in addition to Objective-C and FORTRAN, yes.  That would save
> build time, at the expense of being somewhat confusing to the user IMO.

Sorry, here I meant the version numbers 4.7.3, 4.8.2 and 4.9.0. Maybe we could
drop 4.7.0?

> One of the GCC 4.8.2 is ‘gcc-final’ in base.scm.

So this is the one that is used for compiling all our packages? Could we
then not drop the gcc-4.8.2 from gcc.scm and let the user install gcc-final?
Or otherwise, give it a different NAME?

> > Is there a way of printing not the line 95 in which the base gcc package is
> > defined from which all others inherit, but the line where the actual package
> > is defined?
> Yes, good idea.
> I’ve just committed this patch:

Hm, I meant in all generality for all packages that are inherited. Would
this be easily possible?

Andreas

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

* Re: GCC language front-ends
  2014-06-04 21:46   ` Andreas Enge
@ 2014-06-05 13:00     ` Ludovic Courtès
  2014-06-05 15:42       ` Andreas Enge
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2014-06-05 13:00 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

Andreas Enge <andreas@enge.fr> skribis:

> On Wed, Jun 04, 2014 at 11:34:33PM +0200, Ludovic Courtès wrote:

[...]

>> > Also, maybe we could drop one of the three gcc versions.
>> The default package does C and C++.  We could imagine another one that
>> would in addition to Objective-C and FORTRAN, yes.  That would save
>> build time, at the expense of being somewhat confusing to the user IMO.
>
> Sorry, here I meant the version numbers 4.7.3, 4.8.2 and 4.9.0. Maybe we could
> drop 4.7.0?

Eventually yes, but for now I think it may still be useful to have 4.7
around (for instance, as a developer it’s sometimes useful to test with
older compilers.)

>> One of the GCC 4.8.2 is ‘gcc-final’ in base.scm.
>
> So this is the one that is used for compiling all our packages?

Yes.

> Could we then not drop the gcc-4.8.2 from gcc.scm and let the user
> install gcc-final?  Or otherwise, give it a different NAME?

It’s been discussed several times, but there’s no satisfactory solution
so far.  Changing the name seems like a bad idea, because it’s really
gcc.  Making either gcc-final or gcc-4.8 private isn’t an option because
they’re referred from elsewhere.

Maybe package objects should have an extra property that says whether
they should be hidden?

>> > Is there a way of printing not the line 95 in which the base gcc package is
>> > defined from which all others inherit, but the line where the actual package
>> > is defined?
>> Yes, good idea.
>> I’ve just committed this patch:
>
> Hm, I meant in all generality for all packages that are inherited. Would
> this be easily possible?

Hmm, define-record-type* could be augmented with an inheritable? flag,
and the ‘location’ field would be marked as non-inheritable, something
like that.

Ludo’.

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

* Re: GCC language front-ends
  2014-06-05 13:00     ` Ludovic Courtès
@ 2014-06-05 15:42       ` Andreas Enge
  2014-06-05 16:12         ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Andreas Enge @ 2014-06-05 15:42 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Thu, Jun 05, 2014 at 03:00:57PM +0200, Ludovic Courtès wrote:
> It’s been discussed several times, but there’s no satisfactory solution
> so far.  Changing the name seems like a bad idea, because it’s really
> gcc.  Making either gcc-final or gcc-4.8 private isn’t an option because
> they’re referred from elsewhere.

Sorry for my forgetfulness. So the references to gcc-4.8 could not be replaced
by references to gcc-final? Notice, for instance, that gcc-toolchain-4.8 does
not use gcc-4.8, but gcc-final already.

Andreas

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

* Re: GCC language front-ends
  2014-06-05 15:42       ` Andreas Enge
@ 2014-06-05 16:12         ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2014-06-05 16:12 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

Andreas Enge <andreas@enge.fr> skribis:

> On Thu, Jun 05, 2014 at 03:00:57PM +0200, Ludovic Courtès wrote:
>> It’s been discussed several times, but there’s no satisfactory solution
>> so far.  Changing the name seems like a bad idea, because it’s really
>> gcc.  Making either gcc-final or gcc-4.8 private isn’t an option because
>> they’re referred from elsewhere.
>
> Sorry for my forgetfulness. So the references to gcc-4.8 could not be replaced
> by references to gcc-final?

No.  It’s a bit tricky but the idea is: gcc-4.8 is the “abstract” recipe
for GCC, whereas gcc-final is a specialized recipe for use in the
bootstrap process.

The abstract recipe has useful properties:

  • it is a “normal”, self-contained package recipe, and thus easier to
    grasp;

  • it can be cross-compiled (whereas gcc-final cannot, because it is
    anchored in the bootstrap dependency DAG);

  • it can easily be derived (for gfortran, etc.);

  • it remains valid even when the default GCC version changes.

So we need that abstract gcc-4.8.

At the same time, for native compilation, we only ever want to use
gcc-final, because gcc-4.8 is just the same compiler built once more
with itself.

So ideally, ‘guix package’ would magically ignore the abstract gcc-4.8
(and coreutils, grep, etc.) and favor their -final variant.

I hope I’m being clear, but I’m not sure.  ;-)

Ludo’.

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

end of thread, other threads:[~2014-06-05 16:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-04 21:22 Hydra time out Andreas Enge
2014-06-04 21:34 ` GCC language front-ends Ludovic Courtès
2014-06-04 21:46   ` Andreas Enge
2014-06-05 13:00     ` Ludovic Courtès
2014-06-05 15:42       ` Andreas Enge
2014-06-05 16:12         ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).