Opened 3 years ago

Closed 3 years ago

#62795 closed defect (fixed)

openmpi: declare lib dependency on target compiler

Reported by: mascguy (Christopher Nielsen) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: openmpi

Description (last modified by mascguy (Christopher Nielsen))

While the various openmpi-* subports declare a build dependency on the target compiler, they do not declare a lib dependency for it.

The implications are that:

  1. The target compiler will be installed for a source build, only to be uninstalled during a reclaim operation.
  2. For a binary install, the target compiler will never be installed. So when a user attempts to use the associated compiler wrappers, they will fail with "The Open MPI wrapper compiler was unable to find the specified compiler."

This doesn't provide a good user experience. Instead, we should add a lib dependency on the target compiler, to avoid this situation.

Of note, this is already being done for mpich-* subports. But apparently this was missed for openmpi.

Change History (5)

comment:1 Changed 3 years ago by mascguy (Christopher Nielsen)

This has been a problem before, and a ticket was created 7 years ago. But either a) it was never properly fixed for openmpi; or b) a regression occurred sometime since then.

issue:43350 - mpich and openmpi shouldn't have compilers as only build-time dependencies

comment:2 Changed 3 years ago by mascguy (Christopher Nielsen)

Interestingly enough, while this is being taken care of for mpich Clang subports, it's not for GCC versions.

mpich's port file states that the compilers PG takes care of things for GCC. While that may have been true in the past, it isn't the case anymore.

Unless we have a regression in the compilers PG...?

Last edited 3 years ago by mascguy (Christopher Nielsen) (previous) (diff)

comment:3 Changed 3 years ago by mascguy (Christopher Nielsen)

Description: modified (diff)

comment:4 Changed 3 years ago by mascguy (Christopher Nielsen)

Ticket covering the same thing in mpich:

issue:62803 - mpich: declare lib dependency on target compiler

I'll take care of fixing that.

comment:5 Changed 3 years ago by Christopher Nielsen <mascguy@…>

Resolution: fixed
Status: assignedclosed

In ed9c96aae95bb1e0a0551f5d315a2b2be3925773/macports-ports (master):

openmpi: update to 4.1.1; add new variants heterogeneous and mpi1

  • Enable use of published binaries for all compiler-specific subports
  • Add lib dependency for zlib, and corresponding configure flag
  • Ensure target compilers are added to depends_lib

Fixes: #62795
Fixes: #62788
Fixes: #62783
Fixes: #62214
Fixes: #62070
Fixes: #60597
Fixes: #59547

Note: See TracTickets for help on using tickets.