[AMBER] AmberTools23 fails to build with python 3.11 - Reply

From: Doležal Rafael via AMBER <amber.ambermd.org>
Date: Wed, 27 Sep 2023 14:32:44 +0000

Dear All,

I have also encountered errors related with Miniconda/Python3.11 when compiling Amber22/AmberTools23 source code on Centos 7.9.2009. The problem was solved after I disabled the automatic Miniconda download in the run_cmake script:

# Assume this is Linux:

  cmake $AMBER_PREFIX/amber22_src \
    -DCMAKE_INSTALL_PREFIX=$AMBER_PREFIX/amber22 \
    -DCOMPILER=GNU \
    -DMPI=FALSE -DCUDA=TRUE -DINSTALL_TESTS=TRUE \
    -DDOWNLOAD_MINICONDA=FALSE \
    2>&1 | tee cmake.log

Then I used CUDA-12.0.0, GCC-12.2.0, Python-3.10.4, SciPy-2022.05, CMake-3.26.3, Matplotlib-3.5.2. and other related Python tools.
Finally, I was successful. Pmemd.cuda works well with NVIDIA A100-SXM4-40GB.

Have a nice day,
Rafael Dolezal

This message is a reaction to the e-mail bellow.




From: Charo del Genio via AMBER <amber.ambermd.org<mailto:amber.ambermd.org?Subject=Re%3A%20%5BAMBER%5D%20AmberTools23%20fails%20to%20build%20with%20python%203.11>>
Date: Wed, 3 May 2023 21:59:21 +0100

Dear all,
        I'm having serious problems building Amber with python 3.11. Specifically, I get a large number of errors when compiling pytraj, many of which are of the kind

pytraj/datasets/c_datasetlist.cpp:26453:1: error: too many initializers for ‘PyTypeObject’ {aka ‘_typeobject’}

Upon inspecting the file, it looks like the slots that are assumed for PyTypeObject structures are wrong. In fact, the file has

#if PY_VERSION_HEX >= 0x030B00A2
   0, /*tp_inline_values_offset*/
#endif

but there is no tp_inline_values_offset slot for python 3.11, as can be checked in the official documentation at https://docs.python.org/3.11/c-api/typeobj.html

Incidentally, it seems that there may be similar problems for other, older, versions of python as well. The only ones I'm confident are OK are 3.10.11 and 3.9.16.


Additionally, the same file causes the errors

pytraj/datasets/c_datasetlist.cpp:30516:26: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
pytraj/datasets/c_datasetlist.cpp:30518:24: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’

again, in numerous locations. I'm not sure, however, what these mean, since I'm by no means an expert of python.


So, I suggest that a warning may be put up on the website to indicate that pythonn 3.11 is not (yet) supported.


Cheers,

Charo





--
Dr. Charo I. del Genio
Senior Lecturer in Statistical Physics
Applied Mathematics Research Centre (AMRC)
Design Hub
Coventry University Technology Park
Coventry CV1 5FB
UK
https://charodelgenio.weebly.com<https://charodelgenio.weebly.com/>
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Wed Sep 27 2023 - 08:00:02 PDT
Custom Search