[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