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

ARM OSX Migrator #37

Merged

Conversation

regro-cf-autotick-bot
Copy link
Contributor

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 @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/1445397569, please use this URL for debugging

@conda-forge-linter
Copy link

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.

I do have some suggestions for making it better though...

For recipe:

  • Old-style Python selectors (py27, py34, py35, py36) are deprecated. Instead, consider using the int py. For example: # [py>=36]. See lines [32]

@conda-forge-linter
Copy link

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.

@mattwthompson
Copy link
Member

@conda-forge-admin please rerender

@sroet
Copy link
Contributor

sroet commented Nov 12, 2021

Hmm, this seems the point where we call in the help from [at]conda-forge/help-osx-arm64 (don't want to ping too early)? Or do you have any other ideas to try before that?

@mattwthompson
Copy link
Member

I've spent the past few minutes trying to figure out to inject --std=c++11 into the build process. Any guesses?

https://github.com/mdtraj/mdtraj/pull/1684/files

@sroet
Copy link
Contributor

sroet commented Nov 12, 2021

looking at the failing line (1178 for the 3.8 build):
https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=410336&view=logs&j=15f8dc28-9f6f-5e3a-5b3c-2b169071e5be&t=63fa899e-c160-5185-75c4-c5fd30c90374&l=1178

  arm64-apple-darwin20.0.0-clang -fno-strict-aliasing -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O3 -Wall -Wstrict-prototypes -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O3 -pipe -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/mdtraj_1636742682941/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl=/usr/local/src/conda-prefix -flto -Wl,-export_dynamic -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem /Users/runner/miniforge3/conda-bld/mdtraj_1636742682941/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/mdtraj_1636742682941/work=/usr/local/src/conda/mdtraj-1.9.7 -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/mdtraj_1636742682941/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem /Users/runner/miniforge3/conda-bld/mdtraj_1636742682941/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include -mmacosx-version-min=11.0 -Imdtraj/rmsd/include -I/Users/runner/miniforge3/conda-bld/mdtraj_1636742682941/_build_env/venv/lib/python3.8/site-packages/numpy/core/include -I/Users/runner/miniforge3/conda-bld/mdtraj_1636742682941/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/python3.8 -c mdtraj/rmsd/src/theobald_rmsd.cpp -o build/temp.macosx-11.0-arm64-3.8/mdtraj/rmsd/src/theobald_rmsd.o -O3 -funroll-loops --std=c++11 -Wno-unused-function -Wno-unreachable-code -Wno-sign-compare

We do already inject it, so this seems like a genuine build error

@mattwthompson
Copy link
Member

Scratch that; that option is in the source code, so one would expect it to be picked up. And it seems to be; I can find this in the logs:

2021-11-12T18:48:21.2294300Z +CXXFLAGS=-ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -std=c++14 -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mdtraj-1.9.7 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix
2021-11-12T18:48:21.2297380Z +CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang++
2021-11-12T18:48:21.2299850Z +DEBUG_CXXFLAGS=-ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -std=c++14 -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mdtraj-1.9.7 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix

@mattwthompson
Copy link
Member

Ha, looks like we found the same thing at the right time

@mattwthompson
Copy link
Member

I'm not a C++ developer but it looks like this is ... simply syntax? The error message really wants parentheses around this argument:

2021-11-12T18:49:56.9532380Z   clang-11: warning: -Wl,-export_dynamic: 'linker' input unused [-Wunused-command-line-argument]
2021-11-12T18:49:57.5668930Z   In file included from mdtraj/rmsd/src/theobald_rmsd.cpp:44:
2021-11-12T18:49:57.5737230Z   In file included from mdtraj/rmsd/src/theobald_rmsd_arm.h:6:
2021-11-12T18:49:57.5819180Z   mdtraj/rmsd/include/util_arm.h:5:35: error: too many arguments provided to function-like macro invocation
2021-11-12T18:49:57.5921990Z       vst3q_f32(p, float32x4x3_t{x, y, z});
2021-11-12T18:49:57.6022500Z                                     ^
2021-11-12T18:49:57.6126050Z   /Users/runner/miniforge3/conda-bld/mdtraj_1636742682941/_build_env/lib/clang/11.1.0/include/arm_neon.h:28726:9: note: macro 'vst3q_f32' defined here
2021-11-12T18:49:57.6225810Z   #define vst3q_f32(__p0, __p1) __extension__ ({ \
2021-11-12T18:49:57.6327990Z           ^
2021-11-12T18:49:57.6429040Z   mdtraj/rmsd/include/util_arm.h:5:5: note: parentheses are required around macro argument containing braced initializer list
2021-11-12T18:49:57.6530480Z       vst3q_f32(p, float32x4x3_t{x, y, z});
2021-11-12T18:49:57.6631540Z       ^
2021-11-12T18:49:57.6732850Z                    (                     )
2021-11-12T18:49:57.6835100Z   1 error generated.
2021-11-12T18:49:57.6934280Z   error: command 'arm64-apple-darwin20.0.0-clang' failed with exit status 1
2021-11-12T18:49:57.7034880Z   Building wheel for mdtraj (pyproject.toml): finished with status 'error'
2021-11-12T18:49:57.7138170Z   ERROR: Failed building wheel for mdtraj

@sroet
Copy link
Contributor

sroet commented Nov 12, 2021

I'm not a C++ developer but it looks like this is ... simply syntax? The error message really wants parentheses around this argument

Not a c++ dev myself, but that seems to be the case. Would be nice to have some arm based build tests on the main repo while trying to fix this...

@sroet
Copy link
Contributor

sroet commented Nov 12, 2021

The M1 builds seem to be passing! 🥳

Copy link
Contributor

@sroet sroet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All green, seems good to me, feel free to merge (we should probably port the patch to the main repo)

@mattwthompson
Copy link
Member

Woo! I'm super pleased this worked out.

@mattwthompson mattwthompson merged commit fc06dd5 into conda-forge:master Nov 12, 2021
@sroet sroet mentioned this pull request Nov 12, 2021
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the bot-pr_arm_osx_h3675bf branch November 12, 2021 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants