[MacPorts] #64353: opencv3 has undocumented dependencies

MacPorts noreply at macports.org
Mon Jan 10 16:12:01 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 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''! Otherwise, there's no reason to give a list/set of
 compilers.

 So, could you please explain the logic of {{{default_compilers}}} compiler
 selection? As I said above, I expected it to work like this:
 - take the first entry and check it against the port requirements;
 - if it matches - use it, otherwise proceed to the next entry in the list.
 - if list exhausted and no acceptable compiler found - refuse to build the
 port.

 This ticket seems to show that in reality it does not work that way.

 >  Read {{{portconfigure.tcl}}} and it is all sitting there

 I will, thanks.

 > If you have some reproducible examples of how it does not work, I'm sure
 everyone would like to see them

 Does not this ticket qualify as a reproducible example, using port
 {{{opencv3}}}?

 When {{{clang}}} is listed first in the {{{default_compilers}}}, followed
 by {{{macports-clang-13}}}, I would expect the "selector" to:
 - pick {{{clang}}} - and find that it does not satisfy the {{{+openmp}}}
 port requirement;
 - proceed to the next entry {{{macports-clang-13}}}, find that it
 satisfies all the port requirements;
 - select {{{macports-clang-13}}} to build {{{opencv3}}} and display it as
 a build dependency.

 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?


 > Just to be clear here -- I have no say in who is a MacPorts committer.
 I'm just talking about the "Team" of people who answer questions on these
 trac tickets rather than present questions for others to sort out all the
 time.

 I think I'll find it challenging enough to answer questions at this point.
 Committing code is probably a bit above my grade yet.

-- 
Ticket URL: <https://trac.macports.org/ticket/64353#comment:36>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list