Skip to content
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

openmpi: add v5.0.5, add optional deps, fix cross-compilation by using GnuToolchain #25162

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

valgur
Copy link
Contributor

@valgur valgur commented Sep 6, 2024

Summary

Changes to recipe: openmpi/[*]

Motivation

A follow-up to #18980.

  • Adds the latest version, a new major release, for OpenMPI.
  • Adds a missing non-optional libevent dependency. The project otherwise uses a vendored version of libevent if it is not provided or found on the system. This is fragile and silently using the system library is likely to break things in consuming packages, especially when built as as static.
  • Added optional support for libfabric, now that it has been migrated.
  • Added support for optional libcurl and jansson deps in v5.
  • Added ompi_info call in test_package, which provides a useful summary of the enabled features for validation and debugging.

Details

v5 also added support for libev as an alternative to libevent. I considered adding it as an option, but pmix errors out during ./configure when libevent is disabled.

Dropped --with-moab=no, since it's actually enabled by default and does not have external deps.

closes #23503


@valgur
Copy link
Contributor Author

valgur commented Sep 6, 2024

/cc @uilianries

@valgur valgur mentioned this pull request Sep 6, 2024
3 tasks
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 3 (1c90c8da29c3ae77dbd63444727bc32e6ca7ae60):

  • openmpi/5.0.5:
    CI failed to create some packages (All logs)

    Logs for packageID 921bb261bf15871a0df94f4227fdebf02071d448:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=7
    os=Linux
    [options]
    openmpi:shared=True
    
    [...]
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: `u' modifier ignored since `D' is the default (see `U')
    ar: `u' modifier ignored since `D' is the default (see `U')
    /home/conan/workspace/prod-v1/bsr/93016/affac/.conan/data/openmpi/5.0.5/_/_/build/921bb261bf15871a0df94f4227fdebf02071d448/src/ompi/runtime/ompi_rte.c: In function ‘ompi_pmix_print_id’:
    /home/conan/workspace/prod-v1/bsr/93016/affac/.conan/data/openmpi/5.0.5/_/_/build/921bb261bf15871a0df94f4227fdebf02071d448/src/ompi/runtime/ompi_rte.c:281:15: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 50 [-Wformat-truncation=]
                  "%s.%u", procid->nspace, procid->rank);
                   ^~
    In file included from /usr/include/stdio.h:862:0,
                     from /home/conan/workspace/prod-v1/bsr/93016/affac/.conan/data/openmpi/5.0.5/_/_/build/921bb261bf15871a0df94f4227fdebf02071d448/src/ompi/runtime/ompi_rte.c:25:
    /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output between 3 and 267 bytes into a destination of size 50
       return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            __bos (__s), __fmt, __va_arg_pack ());
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/bin/ld: /home/conan/workspace/prod-v1/bsr/93016/affac/.conan/data/libevent/2.1.12/_/_/package/a9fbbc0dd8357a133310528f68f4637cfdeb9c39/lib/libevent_pthreads.a(evthread_pthread.c.o): undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'
    /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    make[2]: *** [monitoring_test] Error 1
    make[2]: *** Waiting for unfinished jobs....
    /usr/bin/ld: /home/conan/workspace/prod-v1/bsr/93016/affac/.conan/data/libevent/2.1.12/_/_/package/a9fbbc0dd8357a133310528f68f4637cfdeb9c39/lib/libevent_pthreads.a(evthread_pthread.c.o): undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'
    /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    make[2]: *** [test_pvar_access] Error 1
    /usr/bin/ld: /home/conan/workspace/prod-v1/bsr/93016/affac/.conan/data/libevent/2.1.12/_/_/package/a9fbbc0dd8357a133310528f68f4637cfdeb9c39/lib/libevent_pthreads.a(evthread_pthread.c.o): undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'
    /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    make[2]: *** [test_overhead] Error 1
    make[1]: *** [all-recursive] Error 1
    make: *** [all-recursive] Error 1
    WARN: *** Conan 1 is legacy and on a deprecation path ***
    WARN: *** Please upgrade to Conan 2 ***
    WARN: openssl/3.3.1: requirement zlib/[>=1.2.11 <2] overridden by libevent/2.1.12 to zlib/1.3.1 
    openmpi/5.0.5: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    openmpi/5.0.5: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    openmpi/5.0.5: ERROR: Package '921bb261bf15871a0df94f4227fdebf02071d448' build failed
    openmpi/5.0.5: WARN: Build folder /home/conan/workspace/prod-v1/bsr/93016/affac/.conan/data/openmpi/5.0.5/_/_/build/921bb261bf15871a0df94f4227fdebf02071d448/build-release
    ERROR: openmpi/5.0.5: Error in build() method, line 210
    	autotools.make()
    	ConanException: Error 2 while executing make -j3
    
  • openmpi/4.1.0:
    Didn't run or was cancelled before finishing

  • openmpi/4.1.6:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline ❌

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

Failure in build 3 (1c90c8da29c3ae77dbd63444727bc32e6ca7ae60):

  • openmpi/5.0.5:
    CI failed to create some packages (All logs)

    Logs for packageID ff8a0494ee6b47522e840bdceda5861dbe2acfab:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=apple-clang
    compiler.cppstd=17
    compiler.libcxx=libc++
    compiler.version=13
    os=Macos
    [options]
    */*:shared=False
    
    [...]
      CC       pmix_ring_buffer.lo
      CCLD     libpmix_class.la
    Making all in util/keyval
      CC       keyval_lex.lo
      CCLD     libpmixutilkeyval.la
    Making all in util
      CC       pmix_alfg.lo
      CC       pmix_cmd_line.lo
      CC       pmix_error.lo
      CC       pmix_argv.lo
      CC       pmix_output.lo
      CC       pmix_environ.lo
      CC       pmix_printf.lo
      CC       pmix_fd.lo
      CC       pmix_timings.lo
      CC       pmix_os_dirpath.lo
      CC       pmix_os_path.lo
      CC       pmix_basename.lo
      CC       pmix_keyval_parse.lo
      CC       pmix_show_help.lo
      CC       pmix_path.lo
      CC       pmix_getid.lo
      CC       pmix_shmem.lo
      CC       pmix_vmem.lo
      CC       pmix_hash.lo
      CC       pmix_name_fns.lo
      CC       pmix_net.lo
      CC       pmix_if.lo
      CC       pmix_parse_options.lo
      CC       pmix_context_fns.lo
      CC       pmix_pty.lo
      CC       pmix_few.lo
      CC       pmix_string_copy.lo
      CC       pmix_getcwd.lo
      CCLD     libpmix_util.la
    /Applications/conan/xcode/13.0/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: .libs/libpmix_util.a(keyval_lex.o) cputype (16777228) does not match previous archive members cputype (16777223) (all members must match)
    /Applications/conan/xcode/13.0/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: .libs/libpmix_util.a(keyval_lex.o) cputype (16777228) does not match previous archive members cputype (16777223) (all members must match)
    /Applications/conan/xcode/13.0/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: for architecture: x86_64 file: .libs/libpmix_util.a(pmix_timings.o) has no symbols
    make[4]: *** [libpmix_util.la] Error 1
    make[3]: *** [all-recursive] Error 1
    make[2]: *** [all-recursive] Error 1
    make[1]: *** [all-recursive] Error 1
    make: *** [all-recursive] Error 1
    
    openmpi/5.0.5: ERROR: 
    Package 'ff8a0494ee6b47522e840bdceda5861dbe2acfab' build failed
    openmpi/5.0.5: WARN: Build folder /Users/jenkins/workspace/prod-v2/bsr@2/83607/ecebf/p/b/openmcf02f7a1ac435/b/build-release
    ERROR: openmpi/5.0.5: Error in build() method, line 210
    	autotools.make()
    	ConanException: Error 2 while executing
    
  • openmpi/4.1.0:
    Didn't run or was cancelled before finishing

  • openmpi/4.1.6:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

@valgur valgur changed the title openmpi: add v5.0.5, add required libevent dep and other optional deps openmpi: add v5.0.5, add optional deps, fix cross-compilation by using GnuToolchain Dec 8, 2024
@valgur valgur mentioned this pull request Dec 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[openmpi] <openmpi>/<5.0.3>: Has not been updated to conan2.0 format
2 participants