conda-forge / openmpi-feedstock

A conda-smithy repository for openmpi.
BSD 3-Clause "New" or "Revised" License
9 stars 25 forks source link

ARM OSX Migrator #69

Closed regro-cf-autotick-bot closed 3 years ago

regro-cf-autotick-bot commented 3 years ago

This feedstock is being rebuilt as part of the ARM OSX migration.

Feel free to merge the PR if CI is all green, but please don't close it without reaching out the the ARM OSX team first at @conda-forge/help-osx-arm64.

If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase code>@<space/conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. If you would like a local version of this bot, you might consider using rever. Rever is a tool for automating software releases and forms the backbone of the bot's conda-forge PRing capability. Rever is both conda (conda install -c conda-forge rever) and pip (pip install re-ver) installable. Finally, feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/autotick-bot/actions/runs/364778365, please use this URL for debugging

conda-forge-linter commented 3 years ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

erykoff commented 3 years ago

@isuruf I think that because the build script is called build-mpi.sh and not build.sh that the libtool migrator didn't get run. What's the proper way to kick that, or should we do it by hand?

leofang commented 3 years ago

Hi @jsquyres, a silly question: Does Open MPI support ARM? We are dealing with a PR issued by Conda-Forge's bot to add support for ARM-based MacOS, but I am not sure if it makes sense for Open MPI or not. Thanks.

jsquyres commented 3 years ago

Yes, Open MPI supports ARM.

We just got notified of a Libtool-based error with MacOS Big Sur (the latest / just released a few days ago). That'll probably take a little bit to fix.

isuruf commented 3 years ago

@jsquyres, thanks for the info. We have that patched in our libtool. Let's run autoreconf -vfi to get the changes from libtool.

erykoff commented 3 years ago

The good news is that this builds and passes tests on the arm64 DTK. I'll figure out what the config settings should be so they can be cached for the cross-build.

erykoff commented 3 years ago

Okay, so if the following is added to the build-mpi.sh then things should build correctly. I can make a new PR, or it might be easier for @isuruf to make a commit:

if [[ $CONDA_BUILD_CROSS_COMPILATION == "1"  && $target_platform == osx-arm64 ]]; then
    export ompi_cv_fortran_abstract=yes
    export ompi_cv_fortran_alignment_CHARACTER=1
    export ompi_cv_fortran_alignment_COMPLEX=4
    export ompi_cv_fortran_alignment_COMPLEXp16=8
    export ompi_cv_fortran_alignment_COMPLEXp8=4
    export ompi_cv_fortran_alignment_DOUBLE_COMPLEX=8
    export ompi_cv_fortran_alignment_DOUBLE_PRECISION=8
    export ompi_cv_fortran_alignment_INTEGER=4
    export ompi_cv_fortran_alignment_INTEGERp1=1
    export ompi_cv_fortran_alignment_INTEGERp2=2
    export ompi_cv_fortran_alignment_INTEGERp4=4
    export ompi_cv_fortran_alignment_INTEGERp8=8
    export ompi_cv_fortran_alignment_LOGICAL=4
    export ompi_cv_fortran_alignment_LOGICALp1=1
    export ompi_cv_fortran_alignment_LOGICALp2=2
    export ompi_cv_fortran_alignment_LOGICALp4=4
    export ompi_cv_fortran_alignment_LOGICALp8=8
    export ompi_cv_fortran_alignment_REAL=4
    export ompi_cv_fortran_alignment_REALp4=4
    export ompi_cv_fortran_alignment_REALp8=8
    export ompi_cv_fortran_alignment_type_test_mpi_handle_='    8'
    export ompi_cv_fortran_asynchronous=yes
    export ompi_cv_fortran_c_funloc=yes
    export ompi_cv_fortran_external_symbol='single underscore'
    export ompi_cv_fortran_f08_assumed_rank=yes
    export ompi_cv_fortran_handle_max=2147483647
    export ompi_cv_fortran_have_CHARACTER=yes
    export ompi_cv_fortran_have_COMPLEX=yes
    export ompi_cv_fortran_have_COMPLEXp16=yes
    export ompi_cv_fortran_have_COMPLEXp32=no
    export ompi_cv_fortran_have_COMPLEXp4=no
    export ompi_cv_fortran_have_COMPLEXp8=yes
    export ompi_cv_fortran_have_DOUBLE_COMPLEX=yes
    export ompi_cv_fortran_have_DOUBLE_PRECISION=yes
    export ompi_cv_fortran_have_INTEGER=yes
    export ompi_cv_fortran_have_INTEGERp16=yes
    export ompi_cv_fortran_have_INTEGERp1=yes
    export ompi_cv_fortran_have_INTEGERp2=yes
    export ompi_cv_fortran_have_INTEGERp4=yes
    export ompi_cv_fortran_have_INTEGERp8=yes
    export ompi_cv_fortran_have_LOGICAL=yes
    export ompi_cv_fortran_have_LOGICALp1=yes
    export ompi_cv_fortran_have_LOGICALp2=yes
    export ompi_cv_fortran_have_LOGICALp4=yes
    export ompi_cv_fortran_have_LOGICALp8=yes
    export ompi_cv_fortran_have_REAL=yes
    export ompi_cv_fortran_have_REALp16=no
    export ompi_cv_fortran_have_REALp2=no
    export ompi_cv_fortran_have_REALp4=yes
    export ompi_cv_fortran_have_REALp8=yes
    export ompi_cv_fortran_have_bind_c_sub=yes
    export ompi_cv_fortran_have_bind_c_type=yes
    export ompi_cv_fortran_have_bind_c_type_name=yes
    export ompi_cv_fortran_have_iso_c_binding=yes
    export ompi_cv_fortran_have_iso_fortran_env=yes
    export ompi_cv_fortran_have_storage_size=yes
    export ompi_cv_fortran_ignore_tkr_data='1:type(*), dimension(*):!GCC$ ATTRIBUTES NO_ARG_CHECK ::'
    export ompi_cv_fortran_interface=yes
    export ompi_cv_fortran_kind_value_0=0
    export ompi_cv_fortran_kind_value_C_DOUBLE=8
    export ompi_cv_fortran_kind_value_C_DOUBLE_COMPLEX=8
    export ompi_cv_fortran_kind_value_C_FLOAT=4
    export ompi_cv_fortran_kind_value_C_FLOAT_COMPLEX=4
    export ompi_cv_fortran_kind_value_C_INT16_T=2
    export ompi_cv_fortran_kind_value_C_INT32_T=4
    export ompi_cv_fortran_kind_value_C_INT64_T=8
    export ompi_cv_fortran_kind_value_C_INT=4
    export ompi_cv_fortran_kind_value_C_LONG_LONG=8
    export ompi_cv_fortran_kind_value_C_SHORT=2
    export ompi_cv_fortran_kind_value_C_SIGNED_CHAR=1
    export ompi_cv_fortran_logical_array_correct=yes
    export ompi_cv_fortran_max_array_rank=15
    export ompi_cv_fortran_module_include_flag=-I
    export ompi_cv_fortran_optional=yes
    export ompi_cv_fortran_private=yes
    export ompi_cv_fortran_procedure=yes
    export ompi_cv_fortran_protected=yes
    export ompi_cv_fortran_sizeof_CHARACTER=1
    export ompi_cv_fortran_sizeof_COMPLEX=8
    export ompi_cv_fortran_sizeof_COMPLEXp16=16
    export ompi_cv_fortran_sizeof_COMPLEXp8=8
    export ompi_cv_fortran_sizeof_DOUBLE_COMPLEX=16
    export ompi_cv_fortran_sizeof_DOUBLE_PRECISION=8
    export ompi_cv_fortran_sizeof_INTEGER=4
    export ompi_cv_fortran_sizeof_INTEGERp16=16
    export ompi_cv_fortran_sizeof_INTEGERp1=1
    export ompi_cv_fortran_sizeof_INTEGERp2=2
    export ompi_cv_fortran_sizeof_INTEGERp4=4
    export ompi_cv_fortran_sizeof_INTEGERp8=8
    export ompi_cv_fortran_sizeof_LOGICAL=4
    export ompi_cv_fortran_sizeof_LOGICALp1=1
    export ompi_cv_fortran_sizeof_LOGICALp2=2
    export ompi_cv_fortran_sizeof_LOGICALp4=4
    export ompi_cv_fortran_sizeof_LOGICALp8=8
    export ompi_cv_fortran_sizeof_REAL=4
    export ompi_cv_fortran_sizeof_REALp4=4
    export ompi_cv_fortran_sizeof_REALp8=8
    export ompi_cv_fortran_sizeof_type_test_mpi_handle_=4
    export ompi_cv_fortran_true_value=1
    export ompi_cv_fortran_use_only=yes
fi
isuruf commented 3 years ago

@conda-forge/openmpi, this is ready

leofang commented 3 years ago

Thanks @erykoff @isuruf @jsquyres @dalcinl for help!!!