Skip to content

Compile fail with --enable-heterogeneous #9697

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
jsquyres opened this issue Nov 23, 2021 · 2 comments · Fixed by #9699
Closed

Compile fail with --enable-heterogeneous #9697

jsquyres opened this issue Nov 23, 2021 · 2 comments · Fixed by #9699

Comments

@jsquyres
Copy link
Member

On master, we're getting a compile fail when --enable-heterogeneous is specified:

make[1]: Entering directory `/home/jsquyres/git/ompi/ompi/mca/coll'
  CC       base/coll_base_alltoall.lo
In file included from ../../../opal/mca/threads/thread_usage.h:32,
                 from ../../../opal/class/opal_object.h:126,
                 from ../../../opal/datatype/opal_datatype.h:44,
                 from ../../../opal/datatype/opal_convertor.h:35,
                 from ../../../ompi/datatype/ompi_datatype.h:40,
                 from base/coll_base_alltoall.c:31:
base/coll_base_alltoall.c: In function ‘mca_coll_base_alltoall_intra_basic_inplace’:
base/coll_base_alltoall.c:81:85: error: invalid use of undefined type ‘struct opal_convertor_master_t’
   81 |         if( OPAL_UNLIKELY(opal_local_arch != ompi_proc->super.proc_convertor->master->remote_arch))  {
      |                                                                                     ^~
../../../opal/include/opal/prefetch.h:44:63: note: in definition of macro ‘OPAL_UNLIKELY’
   44 | #        define OPAL_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
      |                                                               ^~~~~~~~~~
base/coll_base_alltoall.c:83:100: error: invalid use of undefined type ‘struct opal_convertor_master_t’
   83 |                                                             ompi_proc->super.proc_convertor->master->remote_sizes);
      |                                                                                                    ^~
make[1]: *** [base/coll_base_alltoall.lo] Error 1
make[1]: Leaving directory `/home/jsquyres/git/ompi/ompi/mca/coll'
make: *** [all-recursive] Error 1

I'm not sure what commit introduced the error.

bosilca added a commit to bosilca/ompi that referenced this issue Nov 23, 2021
An internal header file was missing, leading to an incomplete type.

Fixes open-mpi#9697.

Signed-off-by: George Bosilca <[email protected]>
jsquyres pushed a commit to jsquyres/ompi that referenced this issue Nov 23, 2021
An internal header file was missing, leading to an incomplete type.

Fixes open-mpi#9697.

Signed-off-by: George Bosilca <[email protected]>
(cherry picked from commit 927e9aa)
@thesamesam
Copy link
Contributor

Could the fix for this be backported to 4.1.x? We hit it in Gentoo with 4.1.2.

@jsquyres
Copy link
Member Author

jsquyres commented Jan 2, 2022

The heterogeneous functionality is broken; you should not be using it. Specifically: you should not include --enable-heterogeneous in v4.0.x or v4.1.x builds.

That being said, it looks like there was a mistake made in the v4.1.x README (perhaps an errant merge conflict resolution?).

Yoinks. I will file PRs to fix the README's on v4.0.x and v4.1.x. Thanks for brining this to our attention!

jsquyres added a commit to jsquyres/ompi that referenced this issue Jan 2, 2022
Somehow the "do not use the heterogeneous!" warning ended up in the
wrong section (as evidenced by
open-mpi#9697 (comment)).
Move it to the correct section, and also make it crystal clear that
the warning is about the heterogeneous functionality.

Signed-off-by: Jeff Squyres <[email protected]>
jsquyres added a commit to jsquyres/ompi that referenced this issue Jan 2, 2022
Somehow the "do not use the heterogeneous!" warning ended up in the
wrong section (as evidenced by
open-mpi#9697 (comment)).
Move it to the correct section, and also make it crystal clear that
the warning is about the heterogeneous functionality.

Signed-off-by: Jeff Squyres <[email protected]>
jsquyres pushed a commit to jsquyres/ompi that referenced this issue Jan 11, 2022
An internal header file was missing, leading to an incomplete type.

Fixes open-mpi#9697.

Signed-off-by: George Bosilca <[email protected]>
(cherry picked from commit 927e9aa)
jsquyres added a commit to jsquyres/ompi that referenced this issue Feb 4, 2022
Somehow the "do not use the heterogeneous!" warning ended up in the
wrong section (as evidenced by
open-mpi#9697 (comment)).
Move it to the correct section, and also make it crystal clear that
the warning is about the heterogeneous functionality.

Signed-off-by: Jeff Squyres <[email protected]>
awlauria pushed a commit to awlauria/ompi that referenced this issue Jun 27, 2022
An internal header file was missing, leading to an incomplete type.

Fixes open-mpi#9697.

Signed-off-by: George Bosilca <[email protected]>
(cherry picked from commit 927e9aa)
(cherry picked from commit 74bd935)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants