Skip to content

Abstraction violation: sshmem/ucx and atomic/ucx include oshmem/mca/spml/ucx/spml_ucx.h #3224

@jsquyres

Description

@jsquyres

The sshmem/ucx and atomic/ucx components are directly including the spml_ucx.h header file from the spml/ucx component, and directly using symbols from the spml/ucx_component.

This is an abstraction violation and is not allowed in the MCA architecture. It works if you --disable-dlopen (and slurp all components up into liboshmem), but it does not work if the components are all individual DSOs that are dlopened individually.

The atomic/ucx behavior exists on master, v3.x, v2.x, and v2.0.x.

The sshmem/ucx behavior exists on master and v3.x.

(I didn't bother checking back as far as v1.10)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions