Skip to content

Ambertools 24 - #162

Merged
mikemhenry merged 12 commits into
conda-forge:mainfrom
mikemhenry:release-ambertools-24
Feb 25, 2025
Merged

Ambertools 24#162
mikemhenry merged 12 commits into
conda-forge:mainfrom
mikemhenry:release-ambertools-24

Conversation

@mikemhenry

Copy link
Copy Markdown
Contributor

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@conda-forge-admin

conda-forge-admin commented Feb 22, 2025

Copy link
Copy Markdown
Contributor

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/meta.yaml) and found it was in an excellent condition.

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

For recipe/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.
  • ℹ️ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/13529973597. Examine the logs at this URL for more detail.

@mikemhenry

Copy link
Copy Markdown
Contributor Author
+ packmol-memgen -h
PMEMD not found. Setting path to SANDER
Traceback (most recent call last):
  File "/home/conda/feedstock_root/build_artifacts/ambertools_1740240588089/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin/packmol-memgen", line 5, in <module>
    import packmol_memgen
  File "/home/conda/feedstock_root/build_artifacts/ambertools_1740240588089/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.10/site-packages/packmol_memgen/__init__.py", line 1, in <module>
    from .main import *
  File "/home/conda/feedstock_root/build_artifacts/ambertools_1740240588089/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.10/site-packages/packmol_memgen/main.py", line 154, in <module>
    amberopt.add_argument("--HMR", action="store_true",                 help=argparse.SUPRESS if short_help else "uses Parmed hydrogen mass repartitioning routine if --parametrize is used")
AttributeError: module 'argparse' has no attribute 'SUPRESS'. Did you mean: 'SUPPRESS'?

@mattwthompson

Copy link
Copy Markdown
Member

AFAICT that's a simple typo, not a deprecation or breaking change between versions

@mikemhenry

Copy link
Copy Markdown
Contributor Author

Yah I will patch it -- I'll see if it still exists upstream and contribute it back as well

@mikemhenry

Copy link
Copy Markdown
Contributor Author

@dacase Do you know what versions of python ambertools 24 should support?

On linux python 3.10 compiles fine.

I am running into this error in a python 3.11 linux build:

pytraj/trajectory/frame.cpp:35169:1: error: too many initializers for 'PyTypeObject' {aka '_typeobject'}

And this error on a python 3.12 linux build:

pytraj/trajectory/frame.cpp:38721:24: error: 'PyThreadState' {aka 'struct _ts'} has no member named 'curexc_type'

Looking at the source, both errors are in some PY_MAJOR_VERSION if blocks -- but there doesn't seem to be a diff that would impact this around those lines but the top of that files does have some changes to the cython abi version.

@mikemhenry

mikemhenry commented Feb 24, 2025

Copy link
Copy Markdown
Contributor Author

(also crazy thing @mattwthompson -- that typo doesn't show up in the source code, I checked both patched and unpatched versions, going to try building but this is a weird one)

EDIT -- locally actually I might have rc5 instead of rc6 -- checking that now

@mikemhenry

Copy link
Copy Markdown
Contributor Author

Ah I was pulling in the wrong source (explains the weirdness + why some patches worked that I expected to have to fix)

@mikemhenry

mikemhenry commented Feb 24, 2025

Copy link
Copy Markdown
Contributor Author

Okay getting this error for the linux mpich builds

cd $SRC_DIR/build/AmberTools/src/quick/src/octree && $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -DCEW -DGNU -DMPIV -I$SRC_DIR/AmberTools/src/quick/src/octree/. -std=gnu++11 -fPIC -O2 -mtune=native -MD -MT AmberTools/src/quick/src/octree/CMakeFiles/octree_mpi.dir/octree.cpp.o -MF CMakeFiles/octree_mpi.dir/octree.cpp.o.d -o CMakeFiles/octree_mpi.dir/octree.cpp.o -c $SRC_DIR/AmberTools/src/quick/src/octree/octree.cpp
In file included from /home/conda/feedstock_root/build_artifacts/ambertools_1740429248536/work/AmberTools/src/quick/src/octree/octree.cpp:18:
/home/conda/feedstock_root/build_artifacts/ambertools_1740429248536/work/AmberTools/src/quick/src/octree/octree.h:8:10: fatal error: mpi.h: No such file or directory
    8 | #include <mpi.h>
      |          ^~~~~~~
compilation terminated.

In the recipe, we have:

- {{ mpi }}  # [mpi != 'nompi']

And this is how it gets rendered:

- mpi 1.0.1 mpich

So not sure why it can't find mpi (or why this worked with ambertools 23)

And the mpich package has it, https://conda-metadata-app.streamlit.app/Search_by_file_path?path=include%2Fmpi.h but 1.0.1 is kinda old I think?

Just filing this away as one error mode, depending on how this shakes out we can drop the MPI builds until someone else has time to work on them -- any ideas @njzjz ?

@mikemhenry

mikemhenry commented Feb 24, 2025

Copy link
Copy Markdown
Contributor Author

Same error with the openmpi builds pulling in mpi 1.0 openmpi:

[ 36%] Building CXX object AmberTools/src/quick/src/octree/CMakeFiles/octree_mpi.dir/octree.cpp.o
cd $SRC_DIR/build/AmberTools/src/quick/src/octree && $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -DCEW -DGNU -DMPIV -I$SRC_DIR/AmberTools/src/quick/src/octree/. -std=gnu++11 -fPIC -O2 -mtune=native -pthread -MD -MT AmberTools/src/quick/src/octree/CMakeFiles/octree_mpi.dir/octree.cpp.o -MF CMakeFiles/octree_mpi.dir/octree.cpp.o.d -o CMakeFiles/octree_mpi.dir/octree.cpp.o -c $SRC_DIR/AmberTools/src/quick/src/octree/octree.cpp
In file included from /home/conda/feedstock_root/build_artifacts/ambertools_1740429375054/work/AmberTools/src/quick/src/octree/octree.cpp:18:
/home/conda/feedstock_root/build_artifacts/ambertools_1740429375054/work/AmberTools/src/quick/src/octree/octree.h:8:10: fatal error: mpi.h: No such file or directory
    8 | #include <mpi.h>
      |          ^~~~~~~
compilation terminated.

@mikemhenry

Copy link
Copy Markdown
Contributor Author

osx-x86_64 openmpi and mpich are also failing with the same issue

@mikemhenry

Copy link
Copy Markdown
Contributor Author

Predictibly, the osx-arm64 builds are also failing for openmpi and mpich

@mikemhenry

Copy link
Copy Markdown
Contributor Author

Cool so all the nompi builds worked, going to test them now...

@dacase

dacase commented Feb 24, 2025 via email

Copy link
Copy Markdown

@mikemhenry

Copy link
Copy Markdown
Contributor Author

@dacase -- no worries! I was able to get it to build okay, the issues were my fault (I had mixed up some sources)

We should be good to release ambertools 24 now (skipping CUDA and MPI builds for now) for osx-arm64, osx-x86_64, and linux.

Future work will be to get those other builds working. I'll also give numpy 2 a try after we get the first round of builds uploaded.

@mikemhenry

Copy link
Copy Markdown
Contributor Author

I do want to give a quick go on python 3.13 builds...

@dacase

dacase commented Feb 25, 2025

Copy link
Copy Markdown

Cool so all the nompi builds worked, going to test them now...

Let me know if you want my help with that part, if only to interpret any apparent failures.
It's not unexpected to see a few failures, and I can provide commentary on which ones to ignore.

Comment thread recipe/meta.yaml Outdated
- patches/0003-look-in-right-place-for-libcudadevrt.a.patch
- patches/0004-adapt-CMake-function-calls-that-were-due-to-find_pac.patch
- patches/0005-set-enable_language-CUDA-in-a-bunch-of-places.patch
#- patches/0001-do-not-clean-compiler-flags.patch

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Okay getting this error for the linux mpich builds

cd $SRC_DIR/build/AmberTools/src/quick/src/octree && $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -DCEW -DGNU -DMPIV -I$SRC_DIR/AmberTools/src/quick/src/octree/. -std=gnu++11 -fPIC -O2 -mtune=native -MD -MT AmberTools/src/quick/src/octree/CMakeFiles/octree_mpi.dir/octree.cpp.o -MF CMakeFiles/octree_mpi.dir/octree.cpp.o.d -o CMakeFiles/octree_mpi.dir/octree.cpp.o -c $SRC_DIR/AmberTools/src/quick/src/octree/octree.cpp
In file included from /home/conda/feedstock_root/build_artifacts/ambertools_1740429248536/work/AmberTools/src/quick/src/octree/octree.cpp:18:
/home/conda/feedstock_root/build_artifacts/ambertools_1740429248536/work/AmberTools/src/quick/src/octree/octree.h:8:10: fatal error: mpi.h: No such file or directory
    8 | #include <mpi.h>
      |          ^~~~~~~
compilation terminated.

In the recipe, we have:

- {{ mpi }}  # [mpi != 'nompi']

And this is how it gets rendered:

- mpi 1.0.1 mpich

So not sure why it can't find mpi (or why this worked with ambertools 23)

And the mpich package has it, https://conda-metadata-app.streamlit.app/Search_by_file_path?path=include%2Fmpi.h but 1.0.1 is kinda old I think?

Just filing this away as one error mode, depending on how this shakes out we can drop the MPI builds until someone else has time to work on them -- any ideas @njzjz ?

I used this patch to fix the QUICK MPI issue. See also merzlab/QUICK#343

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks! Add the builds back and re-enabling that patch (which I removed by mistake thinking it was CUDA related)

@mikemhenry

Copy link
Copy Markdown
Contributor Author

@dacase Getting this error when building python 3.13 on linux and osx-arm64 -- not sure if this is a python 3.13 change for _PyList_Extend -> PyList_Extend or if things need to be re-cythonized

This also isn't blocking to getting ambertools 24 released today, I can fix this issue in a follow up PR.

pytraj/trajectory/frame.cpp: In function 'int __Pyx_PyList_Extend(PyObject*, PyObject*)':
pytraj/trajectory/frame.cpp:3159:22: error: '_PyList_Extend' was not declared in this scope; did you mean 'PyList_Extend'?
 3159 |     PyObject* none = _PyList_Extend((PyListObject*)L, v);
      |                      ^~~~~~~~~~~~~~
      |                      PyList_Extend
pytraj/trajectory/frame.cpp: In function 'void __Pyx_init_assertions_enabled()':

@mikemhenry

Copy link
Copy Markdown
Contributor Author

RE: Python 3.13 builds:
python/cpython#108451
python/cpython#111138 (comment)

It looks like it was added as a public method, but it doesn't look like it is a simple find and replace since the return signature has changed.

@mattwthompson

Copy link
Copy Markdown
Member

Punting on 3.13 seems like an easy call to me (as does giving it a college try beforehand!)

@hainm

hainm commented Feb 25, 2025

Copy link
Copy Markdown

@dacase Getting this error when building python 3.13 on linux and osx-arm64 -- not sure if this is a python 3.13 change for _PyList_Extend -> PyList_Extend or if things need to be re-cythonized

@mikemhenry Hi, per the another report in here, Amber-MD/pytraj#1677, recythonize the pyx files with python 3.13 would help. Cheers.

@mikemhenry

Copy link
Copy Markdown
Contributor Author

@hainm I was just working on that but I am running into a lot of issues doing that using the setup.py that ships with the ambertools, I will try using the setup.py from the repo using version 2.0.6 and seeing if that will work as a patch

@hainm

hainm commented Feb 25, 2025

Copy link
Copy Markdown

@hainm I was just working on that but I am running into a lot of issues doing that using the setup.py that ships with the ambertools, I will try using the setup.py from the repo using version 2.0.6 and seeing if that will work as a patch

Can you please have a look at mkrelease_at in ambertools. It shows how to cythonize the code.

@mikemhenry

Copy link
Copy Markdown
Contributor Author

@hainm -- where is that file located? I can't seem to find it in https://ambermd.org/downloads/AmberTools24_rc5.tar.bz2

@hainm

hainm commented Feb 25, 2025

Copy link
Copy Markdown

@hainm -- where is that file located? I can't seem to find it in https://ambermd.org/downloads/AmberTools24_rc5.tar.bz2

oh right. It's not there, it's only in git version.
But here is the script: https://github.com/Amber-MD/pytraj/blob/master/scripts/cythonize.py

@mikemhenry

Copy link
Copy Markdown
Contributor Author

Ah I do have access to the git version, didn't think to check there, thanks!

@mikemhenry

Copy link
Copy Markdown
Contributor Author

Testing the cythonizing fix now locally -- I think we will need to do a boost migration to get python 3.13 builds on osx-64

Can't solve for rdkit
2025-02-24T23:04:06.2153490Z conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("rdkit==2024.03.6=py310hd964db9_1"), MatchSpec("librdkit==2024.03.6=h875eb67_1")}
2025-02-24T23:04:06.2154200Z Encountered problems while solving:
2025-02-24T23:04:06.2157570Z   - package rdkit-2024.03.6-py310hd964db9_1 requires librdkit 2024.03.6 h875eb67_1, but none of the providers can be installed
2025-02-24T23:04:06.2157960Z 
2025-02-24T23:04:06.2158280Z Could not solve for environment specs
2025-02-24T23:04:06.2158590Z The following packages are incompatible
2025-02-24T23:04:06.2159120Z ├─ libboost >=1.84.0,<1.85.0a0 * is installable and it requires
2025-02-24T23:04:06.2159530Z │  └─ boost-cpp =1.84.0 *, which can be installed;
2025-02-24T23:04:06.2159960Z ├─ libzlib >=1.3.1,<2.0a0 * is installable with the potential options
2025-02-24T23:04:06.2160350Z │  ├─ libzlib 1.3.1 would require
2025-02-24T23:04:06.2160810Z │  │  └─ zlib ==1.3.1 *_0, which can be installed;
2025-02-24T23:04:06.2161200Z │  ├─ libzlib 1.3.1 would require
2025-02-24T23:04:06.2161560Z │  │  └─ zlib ==1.3.1 *_1, which can be installed;
2025-02-24T23:04:06.2165090Z │  └─ libzlib 1.3.1 would require
2025-02-24T23:04:06.2166830Z │     └─ zlib ==1.3.1 *_2, which can be installed;
2025-02-24T23:04:06.2167300Z ├─ openssl >=3.4.1,<4.0a0 * is requested and can be installed;
2025-02-24T23:04:06.2168210Z ├─ python >=3.13,<3.14.0a0 * is requested and can be installed;
2025-02-24T23:04:06.2172380Z ├─ python_abi =3.13 *_cp313 is not installable because there are no viable options
2025-02-24T23:04:06.2173430Z │  ├─ python_abi 3.13 would require
2025-02-24T23:04:06.2173910Z │  │  └─ python =3.13 *_cpython, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2174640Z │  └─ python_abi 3.13 would require
2025-02-24T23:04:06.2175160Z │     └─ python =3.13 *_cp313, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2175610Z └─ rdkit =* * is installable with the potential options
2025-02-24T23:04:06.2176040Z    ├─ rdkit [2018.03.4|2018.09.1|...|2019.09.3], which can be installed;
2025-02-24T23:04:06.2176620Z    ├─ rdkit [2022.09.1|2022.09.3|...|2023.03.3] would require
2025-02-24T23:04:06.2177090Z    │  └─ boost >=1.78.0,<1.78.1.0a0 *, which requires
2025-02-24T23:04:06.2177510Z    │     └─ boost-cpp =1.78.0 *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2178400Z    ├─ rdkit [2023.03.3|2023.09.1|...|2023.09.6] would require
2025-02-24T23:04:06.2178930Z    │  └─ libboost >=1.82.0,<1.83.0a0 *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2179400Z    ├─ rdkit [2023.09.6|2024.03.1|...|2024.03.6] would require
2025-02-24T23:04:06.2179810Z    │  └─ python >=3.10,<3.11.0a0 * but there are no viable options
2025-02-24T23:04:06.2180210Z    │     ├─ python [3.10.0|3.10.1|...|3.9.9] would require
2025-02-24T23:04:06.2180680Z    │     │  └─ openssl >=1.1.1l,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2181250Z    │     ├─ python [3.10.7|3.10.8|...|3.9.15] would require
2025-02-24T23:04:06.2181770Z    │     │  └─ openssl >=1.1.1s,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2182210Z    │     ├─ python [3.10.4|3.8.13|3.9.12] would require
2025-02-24T23:04:06.2182680Z    │     │  └─ openssl >=1.1.1n,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2183110Z    │     ├─ python [3.10.5|3.9.13] would require
2025-02-24T23:04:06.2183560Z    │     │  └─ openssl >=1.1.1o,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2184230Z    │     ├─ python [3.10.0|3.10.1|...|3.10.9] conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2184680Z    │     └─ python [3.10.6|3.11.0] would require
2025-02-24T23:04:06.2185140Z    │        └─ openssl >=1.1.1q,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2185610Z    ├─ rdkit [2023.09.6|2024.03.1|...|2024.03.6] would require
2025-02-24T23:04:06.2186170Z    │  └─ python >=3.11,<3.12.0a0 * but there are no viable options
2025-02-24T23:04:06.2186960Z    │     ├─ python [3.10.7|3.10.8|...|3.9.15], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2187630Z    │     ├─ python [3.10.6|3.11.0], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2188290Z    │     └─ python [3.11.0|3.11.1|...|3.11.9] conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2188770Z    ├─ rdkit [2023.09.6|2024.03.1|...|2024.03.6] would require
2025-02-24T23:04:06.2189260Z    │  └─ python_abi =3.12 *_cp312, which requires
2025-02-24T23:04:06.2189880Z    │     └─ python =3.12 *_cpython, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2190370Z    ├─ rdkit [2023.09.6|2024.03.1|...|2024.03.5] would require
2025-02-24T23:04:06.2190930Z    │  └─ python >=3.8,<3.9.0a0 * but there are no viable options
2025-02-24T23:04:06.2191370Z    │     ├─ python [3.6.10|3.6.11|...|3.8.5] would require
2025-02-24T23:04:06.2191860Z    │     │  └─ openssl >=1.1.1g,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2192420Z    │     ├─ python [3.6.10|3.6.9|3.8.2] would require
2025-02-24T23:04:06.2192930Z    │     │  └─ openssl >=1.1.1d,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2193390Z    │     ├─ python [3.6.11|3.6.12|...|3.9.1] would require
2025-02-24T23:04:06.2193860Z    │     │  ├─ openssl >=1.1.1h,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2194280Z    │     │  └─ pypy3.6 =7.3.2 *, which requires
2025-02-24T23:04:06.2194900Z    │     │     └─ openssl >=1.1.1h,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2195530Z    │     ├─ python [3.6.12|3.8.6|3.9.1] would require
2025-02-24T23:04:06.2196030Z    │     │  ├─ openssl >=1.1.1i,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2196490Z    │     │  └─ pypy3.6 =7.3.3 * but there are no viable options
2025-02-24T23:04:06.2196850Z    │     │     ├─ pypy3.6 7.3.3 would require
2025-02-24T23:04:06.2198350Z    │     │     │  └─ openssl >=1.1.1i,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2199380Z    │     │     └─ pypy3.6 7.3.3 would require
2025-02-24T23:04:06.2199870Z    │     │        └─ openssl >=1.1.1k,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2200490Z    │     ├─ python [3.6.13|3.8.8|3.9.2] would require
2025-02-24T23:04:06.2201140Z    │     │  └─ openssl >=1.1.1j,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2201790Z    │     ├─ python [3.10.0|3.10.1|...|3.9.9], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2202270Z    │     ├─ python [2.7.15|3.6.7|3.6.9|3.8.0|3.8.1] would require
2025-02-24T23:04:06.2202920Z    │     │  ├─ openssl >=1.1.1a,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2203510Z    │     │  └─ pypy3.6 =7.3.0 * but there are no viable options
2025-02-24T23:04:06.2203890Z    │     │     ├─ pypy3.6 7.3.0 would require
2025-02-24T23:04:06.2204340Z    │     │     │  └─ openssl >=1.1.1d,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2204760Z    │     │     ├─ pypy3.6 7.3.0 would require
2025-02-24T23:04:06.2205220Z    │     │     │  └─ openssl >=1.1.1e,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2205630Z    │     │     └─ pypy3.6 7.3.0 would require
2025-02-24T23:04:06.2206080Z    │     │        └─ openssl >=1.1.1a,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2206590Z    │     ├─ python [3.10.7|3.10.8|...|3.9.15], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2207100Z    │     ├─ python [3.8.12|3.8.13|...|3.8.20] conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2208830Z    │     ├─ python [3.8.10|3.9.4|3.9.5|3.9.6|3.9.7] would require
2025-02-24T23:04:06.2209600Z    │     │  └─ openssl >=1.1.1k,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2210230Z    │     ├─ python [3.8.12|3.9.10] would require
2025-02-24T23:04:06.2211490Z    │     │  ├─ pypy3.8 =7.3.8 * but there are no viable options
2025-02-24T23:04:06.2216510Z    │     │  │  ├─ pypy3.8 7.3.8 would require
2025-02-24T23:04:06.2216990Z    │     │  │  │  └─ openssl >=1.1.1n,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2217420Z    │     │  │  └─ pypy3.8 7.3.8 would require
2025-02-24T23:04:06.2217870Z    │     │  │     └─ zlib >=1.2.11,<1.3.0a0 *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2218310Z    │     │  └─ pypy3.9 =7.3.8 * but there are no viable options
2025-02-24T23:04:06.2218700Z    │     │     ├─ pypy3.9 7.3.8 would require
2025-02-24T23:04:06.2219140Z    │     │     │  └─ zlib >=1.2.11,<1.3.0a0 *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2242340Z    │     │     └─ pypy3.9 7.3.8 would require
2025-02-24T23:04:06.2243100Z    │     │        └─ openssl >=1.1.1n,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2245470Z    │     ├─ python [3.8.12|3.9.7] would require
2025-02-24T23:04:06.2249020Z    │     │  └─ zlib >=1.2.11,<1.3.0a0 *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2250740Z    │     ├─ python [3.10.4|3.8.13|3.9.12], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2251400Z    │     └─ python 3.8.2 would require
2025-02-24T23:04:06.2252300Z    │        └─ openssl >=1.1.1e,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2253030Z    ├─ rdkit [2023.09.6|2024.03.1|...|2024.03.6] would require
2025-02-24T23:04:06.2253510Z    │  └─ python >=3.9,<3.10.0a0 * but there are no viable options
2025-02-24T23:04:06.2254900Z    │     ├─ python [3.6.11|3.6.12|...|3.9.1], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2256080Z    │     ├─ python [3.6.12|3.8.6|3.9.1], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2256740Z    │     ├─ python [3.6.13|3.8.8|3.9.2], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2257390Z    │     ├─ python [3.10.0|3.10.1|...|3.9.9], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2258090Z    │     ├─ python [3.10.7|3.10.8|...|3.9.15], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2258610Z    │     ├─ python [3.8.10|3.9.4|3.9.5|3.9.6|3.9.7], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2259580Z    │     ├─ python [3.8.12|3.9.10], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2260640Z    │     ├─ python [3.8.12|3.9.7], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2261310Z    │     ├─ python [3.10.4|3.8.13|3.9.12], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2262000Z    │     ├─ python [3.9.10|3.9.12|...|3.9.9] conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2262650Z    │     └─ python [3.10.5|3.9.13], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2263250Z    ├─ rdkit [2024.03.6|2024.09.1|...|2024.09.5] would require
2025-02-24T23:04:06.2264490Z    │  └─ librdkit [==2024.3.6 h875eb67_1|==2024.9.1 h4fb643a_3|...|==2024.9.5 h616af64_0], which requires
2025-02-24T23:04:06.2265060Z    │     └─ libboost >=1.86.0,<1.87.0a0 *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2265680Z    ├─ rdkit [2017.09.3|2018.03.1|...|2021.03.5] would require
2025-02-24T23:04:06.2266170Z    │  └─ python [=2.7 *|=3.6 *|>=2.7,<2.8.0a0 *|>=3.6,<3.7.0a0 *] but there are no viable options
2025-02-24T23:04:06.2266880Z    │     ├─ python [2.7.12|2.7.13|...|3.6.5] would require
2025-02-24T23:04:06.2269740Z    │     │  └─ openssl =1.0 *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2270320Z    │     ├─ python [3.6.10|3.6.11|...|3.8.5], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2270830Z    │     ├─ python [3.6.10|3.6.9|3.8.2], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2271250Z    │     ├─ python [3.6.10|3.6.9] would require
2025-02-24T23:04:06.2271720Z    │     │  ├─ openssl >=1.1.1f,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2273860Z    │     │  └─ pypy3.6 =7.3.1 *, which requires
2025-02-24T23:04:06.2274340Z    │     │     └─ openssl >=1.1.1f,<1.1.2a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2274860Z    │     ├─ python [3.6.11|3.6.12|...|3.9.1], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2275380Z    │     ├─ python [3.6.12|3.8.6|3.9.1], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2275880Z    │     ├─ python [3.6.13|3.8.8|3.9.2], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2276380Z    │     ├─ python [3.10.0|3.10.1|...|3.9.9], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2276790Z    │     ├─ python [2.7.15|3.6.6|3.6.7] would require
2025-02-24T23:04:06.2277220Z    │     │  └─ openssl >=1.0.2p,<1.0.3a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2277650Z    │     ├─ python [2.7.15|3.5.5|3.6.6] would require
2025-02-24T23:04:06.2278120Z    │     │  └─ openssl >=1.0.2o,<1.0.3a *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2278640Z    │     └─ python [2.7.15|3.6.7|3.6.9|3.8.0|3.8.1], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2279150Z    ├─ rdkit [2017.09.3|2018.03.1|2018.03.2|2018.03.3|2018.03.4] would require
2025-02-24T23:04:06.2279640Z    │  └─ python [=3.5 *|>=3.5,<3.6.0a0 *], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2280380Z    ├─ rdkit [2020.03.1|2020.03.2|...|2020.09.3] would require
2025-02-24T23:04:06.2280810Z    │  └─ boost >=1.72.0,<1.72.1.0a0 * but there are no viable options
2025-02-24T23:04:06.2281190Z    │     ├─ boost [1.72.0|1.74.0] would require
2025-02-24T23:04:06.2281650Z    │     │  └─ python [>=2.7,<2.8.0a0 *|>=3.6,<3.7.0a0 *], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2282070Z    │     └─ boost 1.72.0 would require
2025-02-24T23:04:06.2282510Z    │        └─ boost-cpp =1.72.0 *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2282970Z    └─ rdkit [2020.03.5|2020.03.6|...|2022.09.1] would require
2025-02-24T23:04:06.2283360Z       └─ boost >=1.74.0,<1.74.1.0a0 * but there are no viable options
2025-02-24T23:04:06.2283820Z          ├─ boost [1.72.0|1.74.0], which cannot be installed (as previously explained);
2025-02-24T23:04:06.2284220Z          ├─ boost 1.74.0 would require
2025-02-24T23:04:06.2284670Z          │  └─ boost-cpp =1.74.0 *, which conflicts with any installable versions previously reported;
2025-02-24T23:04:06.2285080Z          └─ boost 1.74.0 would require
2025-02-24T23:04:06.2285490Z             └─ pypy3.6 >=7.3.3 *, which cannot be installed (as previously explained).

@mattwthompson

Copy link
Copy Markdown
Member

This is using 1.84 which can't be that old, right?

@mikemhenry

Copy link
Copy Markdown
Contributor Author

Let me check, it might, and looking at the error there could just be a hole in rdkit builds for intel macs and python 3.13

@mikemhenry

Copy link
Copy Markdown
Contributor Author

Yes it is using 1.84 -- so the issue then I believe is a missing rdkit build (don't tempt me with a good time 😄 )

@mattwthompson mattwthompson mentioned this pull request Feb 25, 2025
4 tasks
@mikemhenry
mikemhenry marked this pull request as ready for review February 25, 2025 22:37
@mikemhenry
mikemhenry merged commit e5bc08b into conda-forge:main Feb 25, 2025

@h-vetinari h-vetinari left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think the patch for 3.13 support here is an overreach. We should wait for upstream to become compatible with 3.13, not carry such monster patches.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

A patch with 1.1 million lines is... extreme, no matter how mechanical it might be.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

On the other hand, if this is fully generated code by cython, then the solution is simply to delete whatever's checked in (or better: remove it from ambertools upstream), and make the cythonize call a part of the build.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

On the other hand, if this is fully generated code by cython, then the solution is simply to delete whatever's checked in (or better: remove it from ambertools upstream), and make the cythonize call a part of the build.

yeah, this is a better plan. Currently, pytraj cythonize doesn't work with cython >= 3.0 (the code causes lots of segmentation fault).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@h-vetinari I didn't want to make it part of the build since I wasn't sure if it would break older python versions/cause issues, so I only wanted to apply to the python 3.13 builds, so instead of a patch I would have had to add a check on the build "if python 3.13 run cython" but then depending on how it handled updates to cython, it could make a migration fail, not because of the migration but because an update in cython broke things and I didn't want to deal with troubleshooting it.

That is why I settled on a patch. RE: upstream support, I didn't want a "sub" package of ambertools to hold everything back. In a perfect world things would build separately but there is a mix of packages that ought to be vendored (like packmol) and things that could be seperate (pytraj) but then are really hard to link correctly to if someone uses this build/feedstock to build amber.

So I didn't want the lack of pytraj support of python 3.13 to hold back programs like antechamber and sqm that work fine with the python 3.13 build.

I could try turning off the pytraj build when we build python 3.13, I am not sure if doing that will cause issues with other packages being unable to build (for awhile I had to patch out nab2c since turning off the build turned off unrelated packages as well).

Comment thread recipe/meta.yaml
Comment on lines +33 to +37
#- patches/0001-use-find_package-CUDAToolkit-instead-of-find_package.patch
#- patches/0002-rely-on-DCMAKE_CUDA_ARCHITECTURES.patch
#- patches/0003-look-in-right-place-for-libcudadevrt.a.patch
#- patches/0004-adapt-CMake-function-calls-that-were-due-to-find_pac.patch
#- patches/0005-set-enable_language-CUDA-in-a-bunch-of-places.patch

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Are you going to reattempt CUDA 12.x support?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

someday -- I wanted to leave it all as is, the patches need to be rebased to the new source (I also didn't check to see if the new source "just works" with cuda)

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.

7 participants