conda-forge / ambertools-feedstock

A conda-smithy repository for ambertools.
BSD 3-Clause "New" or "Revised" License
8 stars 14 forks source link

Release 24 #141

Open mattwthompson opened 5 months ago

mattwthompson commented 5 months ago

Checklist

mattwthompson commented 5 months ago

@conda-forge-admin, please rerender

conda-forge-webservices[bot] commented 5 months 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.

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

For recipe:

mattwthompson commented 5 months ago

Reading through https://conda-forge.org/news/2024/03/24/stdlib-migration/

if a feedstock uses a - {{ compiler(...) }} jinja in the build section

that's us

if a feedstock uses - sysroot_linux-64 2.17 # [linux64] (or a variation)

don't think so

if a feedstock sets MACOSX_DEPLOYMENT_TARGET in conda_build_config.yaml

no

In meta.yaml, you can then remove any variations of

no

conda-forge-webservices[bot] commented 5 months 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.

dacase commented 5 months ago

Is the recipe's use of "a compiler" a hold-over from when NAB was a part of AmberTools? If so, that might be removed now.

mattwthompson commented 5 months ago

I have no idea, but three compilers are listed so I figure it's not an accident. (I also don't know when NAB was removed.)

njzjz commented 5 months ago

Just need a rerender.

@conda-forge-admin, please rerender

conda-forge-webservices[bot] commented 5 months ago

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

I was trying to look for recipes to lint for you, but it appears we have a merge conflict. Please try to merge or rebase with the base branch to resolve this conflict.

Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

conda-forge-webservices[bot] commented 5 months 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.

mattwthompson commented 5 months ago

@conda-forge-admin, please rerender

mattwthompson commented 4 months ago

@conda-forge-admin, please rerender

mattwthompson commented 4 months ago

2024-05-08T19:28:11.6566160Z error: /Users/runner/miniforge3/conda-bld/ambertools_1715193701358/_build_env/bin/x86_64-apple-darwin13.4.0-install_name_tool: changing install names or rpaths can't be redone for: /Users/runner/miniforge3/conda-bld/ambertools_1715193701358/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.12/site-packages/pytraj/analysis/c_analysis/c_analysis.cpython-312-darwin.so (for architecture x86_64) because larger updated load commands do not fit (the program must be relinked, and you may need to use -headerpad or -headerpad_max_install_names)
2024-05-08T19:28:11.6575240Z 
2024-05-08T19:28:12.1381020Z Traceback (most recent call last):
2024-05-08T19:28:12.2383390Z   File "/Users/runner/miniforge3/bin/conda-build", line 11, in <module>
2024-05-08T19:28:12.2853650Z     sys.exit(execute())
2024-05-08T19:28:12.2964820Z   File "/Users/runner/miniforge3/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 581, in execute
2024-05-08T19:28:12.2992700Z     api.build(
2024-05-08T19:28:12.3087000Z   File "/Users/runner/miniforge3/lib/python3.10/site-packages/conda_build/api.py", line 250, in build
2024-05-08T19:28:12.3163640Z     return build_tree(
2024-05-08T19:28:12.3211430Z   File "/Users/runner/miniforge3/lib/python3.10/site-packages/conda_build/build.py", line 3762, in build_tree
2024-05-08T19:28:12.3251290Z     packages_from_this = build(
2024-05-08T19:28:12.3312040Z   File "/Users/runner/miniforge3/lib/python3.10/site-packages/conda_build/build.py", line 2839, in build
2024-05-08T19:28:12.3347290Z     newly_built_packages = bundlers[pkg_type](output_d, m, env, stats)
2024-05-08T19:28:12.3603040Z   File "/Users/runner/miniforge3/lib/python3.10/site-packages/conda_build/build.py", line 1974, in bundle_conda
2024-05-08T19:28:12.3657740Z     files = post_process_files(metadata, initial_files)
2024-05-08T19:28:12.3698910Z   File "/Users/runner/miniforge3/lib/python3.10/site-packages/conda_build/build.py", line 1782, in post_process_files
2024-05-08T19:28:12.3764330Z     post_build(m, new_files, build_python=python)
2024-05-08T19:28:12.3797000Z   File "/Users/runner/miniforge3/lib/python3.10/site-packages/conda_build/post.py", line 1728, in post_build
2024-05-08T19:28:12.3826850Z     post_process_shared_lib(m, f, prefix_files, host_prefix)
2024-05-08T19:28:12.3879100Z   File "/Users/runner/miniforge3/lib/python3.10/site-packages/conda_build/post.py", line 1604, in post_process_shared_lib
2024-05-08T19:28:12.3915810Z     mk_relative_osx(path, host_prefix, m, files=files, rpaths=rpaths)
2024-05-08T19:28:12.3953740Z   File "/Users/runner/miniforge3/lib/python3.10/site-packages/conda_build/post.py", line 494, in mk_relative_osx
2024-05-08T19:28:12.3984230Z     macho.add_rpath(path, rpath_new, build_prefix=prefix, verbose=True)
2024-05-08T19:28:12.4014090Z   File "/Users/runner/miniforge3/lib/python3.10/site-packages/conda_build/os_utils/macho.py", line 299, in add_rpath
2024-05-08T19:28:12.4070290Z     raise RuntimeError("install_name_tool failed with exit status %d" % code)
2024-05-08T19:28:12.4532360Z RuntimeError: install_name_tool failed with exit status 1
2024-05-08T19:28:18.9521250Z 
2024-05-08T19:28:18.9571970Z ##[error]Bash exited with code '1'.
2024-05-08T19:28:18.9748150Z ##[section]Finishing: Run OSX build
j-wags commented 4 months ago

@dacase @njzjz - I'm syncing up with @mattwthompson on his ongoing work, and he's out of ideas on this one. Do either of you have thoughts on how to proceed?

dacase commented 4 months ago

Can someone interpret the failures here? In the past, we have never had a condaforge ambertools package that included MPI. Does it work (as a test) to build a serial package with the AmberTools24 sources? I'm asking because most of the unsuccessful checks above have "mpi" in the failure name (and have "osx" to boot.)

Is there a feasible pathway to build a serial condaforge package now, and continue to work towards including MPI later? Or, only support MPI on Linux? [I've personally more or less given up on OSX for my own work, but I do try to build things on OSX from time to time; getting MPI + OSX to work is often a sticking point.)

Apologies if I am way off base here about what is going wrong. But if I had a better idea of what was really going wrong, I might be able to ask Tim Giese (who is much cleverer than I am) to take look.

mattwthompson commented 4 months ago

MPI support was added in this PR: https://github.com/conda-forge/ambertools-feedstock/pull/133

It looks like the problem is macOS + NumPy 1.26 (notice that osx_64_mpinompinumpy1.26python3.12 is failing, but all other combinations with MPI seem to be building).

I'm not sure what would cause this failure nor have I looked into it: https://numpy.org/doc/stable/release/1.26.0-notes.html#numpy-1-26-0-release-notes

njzjz commented 4 months ago

The error message shows there are some problems with pytraj/analysis/c_analysis/c_analysis.cpython-312-darwin.so.

njzjz commented 4 months ago

I see some other feedstocks have similar issues: https://github.com/search?q=org%3Aconda-forge+changing+install+names+or+rpaths&type=code

This might work: https://github.com/conda-forge/siesta-feedstock/blob/6092b241ed7f0d6921a5f2ae10e94cc1183bd0b2/recipe/build.sh#L53-L58

dacase commented 2 months ago

A bit of a rewording of a previous question:

Is it possible to build a limited release of AmberTools24, with a hope of improving it in future dot releases?

For example, pytraj is available as a separate github package, and (as I understand it) is not really needed by most people who would install the conda version of AmberTools24. (Also, Hai Nyguen has been putting lots of changes into the github version of pytraj which are not in the AmberTools release; so we might consider leaving pytraj out of AmberTools24 altogether.)

I'm not sure what else is holding things up, but we could consider those as well.

This is of course not an ideal solution. But it seems worth trying balance competing interests here: conda users now are missing out on a lot of improvements in AmberTools24, versus some downside of having dot versions of AmberTools24 that differ in functionality.

mattwthompson commented 2 months ago

Making a partial release is certainly an option, as is splitting out the programs within AmberTools into individual packages so people who need only one tool don't need to deal with issues of other tools (this was brought up in https://github.com/conda-forge/ambertools-feedstock/issues/119)

mikemhenry commented 2 months ago

@conda-forge-admin, please rerender

conda-forge-webservices[bot] commented 2 months ago

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

I was trying to look for recipes to lint for you, but it appears we have a merge conflict. Please try to merge or rebase with the base branch to resolve this conflict.

Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

mikemhenry commented 2 months ago

@conda-forge-admin, please rerender

mikemhenry commented 2 months ago

I might need to re-base this PR by dropping all the renderings and re-running