[MacPorts] #43917: ROOT6 : Update to first production release, 6.00.00

MacPorts noreply at macports.org
Sat Jun 7 01:35:40 PDT 2014


#43917: ROOT6 : Update to first production release, 6.00.00
-----------------------+---------------------------------
  Reporter:  jonesc@…  |      Owner:  mojca@…
      Type:  update    |     Status:  new
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:
Resolution:            |   Keywords:  haspatch maintainer
      Port:  root6     |
-----------------------+---------------------------------

Comment (by jeremyhu@…):

 Replying to [comment:65 jonesc@…]:
 >
 > > Yes, but the variants set configure.compiler, so the variants select
 the used compiler.  We should try to avoid doing that as much as possible
 as it's a nightmare to maintain.  If you intend to select the compiler
 used by root, that's fine, but don't set configure.compiler in that case.
 >
 > Sorry, I must be missing something. What other method is there of
 selecting the compiler to use other than setting configure.compiler ? I
 thought that was the correct way to do it...

 The preferred way is to use the blacklist mechanism.  configure.compiler
 overrides all of that.

 Replying to [comment:69 jonesc@…]:
 >
 > > But there are a bunch of issues that I don't quite understand:
 > >   * (something was probably awfully wrong on this old laptop – maybe
 low disk space, web browser using all resources, slow processor etc., but)
 ROOT spent 3 hours compiling `cling`: why doesn't it use that built-in
 clang/cling compiler? Why does it struggle with the system compiler then?
 Should we open a ticket for that?
 >
 > ROOT only uses the in-built clang library for its cling interpreter. For
 real compilation tasks, it still uses the compiler that was used to build
 it itself.

 Earlier, someone gave the impression that the compiler used to build root
 was not necessarily the same as the compiler that it uses.  So... that's
 not the case then?  That's quite unfortunate.

 > >   * Are you aware that currently ROOT would use, say, `macports-
 clang-3.4` (on anything else but 10.9) without declaring a runtime
 dependency on that compiler? You only declare a dependency if user asks
 for it via `+clang34`, but not when that compiler is automatically
 selected.
 >
 > Ah no, thus is a nuance I had to appreciated. Is there anyway to enforce
 this, i.e. so whatever compiler is picked, following the
 fallback/blacklist rules, is then declared as a *runtime* dependency, not
 just a build time one ?

 Not that I'm aware of.  This is not really a valid case and represents a
 bug in root itself.  The project (upstream) should make the distinction
 between the toolchain used to build it and the toolchain it uses.  Without
 such a distinction, cross compilation is utterly impossible.

 > >   * Assuming that ROOT gets compiled with `clang-3.5`. Would it have
 to be recompiled when `clang-3.5` gets an update?
 >
 > Like any other dependency, that would depend on the update. But, for
 minor revisions within the same clang X.Y series, I would hope they would
 be ABI compatible, and thus no rebuild is needed.

 Ok... yet another inconsistence.  If you care about ABI, you should have a
 depends_lib rather than a depends_run.  Are you executing something
 (depends_run), or linking something (depends_lib)?

-- 
Ticket URL: <https://trac.macports.org/ticket/43917#comment:70>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list