[MacPorts] #64353: opencv3 has undocumented dependencies
MacPorts
noreply at macports.org
Mon Jan 10 17:20:09 UTC 2022
#64353: opencv3 has undocumented dependencies
-------------------------+----------------------
Reporter: mouse07410 | Owner: mascguy
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: opencv3 |
-------------------------+----------------------
Comment (by kencu):
Replying to [comment:36 mouse07410]:
> > In each case, base selected your first default compiler. . . .
> > I find it works exactly the way I would expect it to . . .
>
> I thought it should select the first compiler ''that satisfies all of
the port constraints''!
default_compilers is a bigger stick. It assumes you want to use that
compiler as the default, and it returns your compiler list before things
like openmp are considered:
https://github.com/macports/macports-
base/blob/ee6096ce3789742a7961b98bb87abf06b48d2d12/src/port1.0/portconfigure.tcl#L1247
\\
> Does not this ticket qualify as a reproducible example, using port
{{{opencv3}}}?
No.
1. you indicated that you felt clang-9.0 was a bit old as the first
macports-clang-N compiler to be used, and so Josh changed that, with
already quite some opposition expressed about that change based on the
newer compiler possibly breaking builds that currently work fine.
2. you wanted the fix to be an even newer macports-clang compiler. See
point 1.
3. I suggested two different ways you could change things to the way you
want them to be on your system. Either adjust
{{{_resources/port1.0/compilers/clang_compilers.tcl#L16}}} as you wish, or
set {{{default_compilers}}}. In your case, looks like the first option
suits you better as you want MacPorts to override your choices based on
settings in the Portfiles, but YMMV.
Everything is working 100% as expected to me.
\\
> In fact, only if {{{macports-clang-13}}} is the ''first'' in the
{{{default_compilers}}} list, it's picked. I think it's a reproducible
evidence of the failure of the algorithm logic.
>
> Or am I missing something?
Perhaps. I find it is reproducible evidence of the algorithm working.
{{{default_compilers}}} is picking the first default compiler you
specified. It does not do a lot of further analysis. Everything is
working 100% as expected to me.
As above, you might prefer:
To get what you want, which seems to be that you want 99.99% of the
standard compiler selection mechanism working as it is, but you just want
the order of macports-clang-N selection changing, you might be happier if
you adjusted that list on your system slightly. It lives here:
https://github.com/macports/macports-
ports/blob/f26cfe7b3e3961d120d8b6212c219b9a752cddeb/_resources/port1.0/compilers/clang_compilers.tcl#L16
and just add your macports-clang-13 to the top of your list instead of
lower down (as it is now), or any order of compilers you care to use.
--
Ticket URL: <https://trac.macports.org/ticket/64353#comment:37>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list