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