Closed stuart-nolan closed 11 months ago
Hi @stuart-nolan! Thank you so much for this detailed report. If you have suggestions to edit the website, please suggest a pull request at https://github.com/cantera/cantera-website. All the pages are in the same structure as on the website, in the pages
folder. They're all either Markdown or RestructuredText, so there's no database or anything that needs to get updated, it's all plain text. Thanks!
I'm going to move this issue over to the website repo so that we can keep track of it in the place where these suggestions will do the most good. Thanks again!
@bryanwweber ... thanks for transferring; I do, however, wonder whether part of this doesn't apply to Cantera/pypi-packages?
@stuart-nolan: regarding the HDF instructions, this is a very recent (and optional) addition; as it is still considered experimental in the current alpha version, it probably shouldn't be added on the website instructions yet. Your point is very well taken though.
@ischoegl Ah, good point. I should have mentioned that I'm not surprised that 2.6.0 on PyPI doesn't support Python 3.11. There typically need to be updates to support new Python versions, for example, for Cython or (in this case) for setuptools. I think this is probably something that we'd only support for 3.0, not backport to 2.6.
I should have mentioned that I'm not surprised that 2.6.0 on PyPI doesn't support Python 3.11.
I overlooked that! I guess this answers the main underlying problem on this issue.
@stuart-nolan ... could you verify that pip install
works in a virtual environment for a less recent Python version?
@stuart-nolan ... could you verify that
pip install
works in a virtual environment for a less recent Python version?
Sorry, I just removed all my older python versions recently. I suspect the install will still break for different reasons - sundials_config.h seems to be missing from the Cantera-2.6.0.tar.gz file downloaded by pip.
I installed cantera out of personal interest and curiosity so don't put too much weight on any of my suggestions. Even for reasonably savy users, it is probably best just to recommend installing via conda and provide some generic (non os or python implementation) dependent recommendations for dependencies.
I'm also unfamiliar with eigen. It seems eigen uses suitesparse for it's sparse solvers. As you may be aware, suitesparse (specifically CHOLMOD) is broken if using openblas. Hence, I do not recommend anyone else install as I did above - I don't know how likely it is for cantera to use the sparse solvers in eigen. MKL along with openmp for sundials and any other associated libraries should be safe.
One other 3.0.0a3 install quirk is that sphinxcontrib-matlabdomain is required for scons sphinx
Extension error:
Could not import extension sphinxcontrib.matlab (exception: No module named 'sphinxcontrib.matlab')
scons: *** [build/docs/sphinx/html/index.html] Error 2
scons: building terminated because of errors.
The conda requirements seemed to indicate this package was optional.
I suspect the install will still break for different reasons
We do have wheels available for older versions of Python, which would hopefully work. Thanks for pointing out that file is missing, it should be generated and added but perhaps we missed it. Python's story for bundling dependencies or using system dependencies is sadly lacking here.
The conda requirements seemed to indicate this package was optional.
We generally consider building local documentation to be optional.
Given we're on to Cantera 3.0.0 now, and we do have PyPI packages for Python 3.11, I think this can be closed.
Problem description
Cantera version 2.6.0 install failed. Note I worked around this by building and installing the development version from source so this issue can be closed at your convenience.
Steps to reproduce
I found a similar error reported here; however, none of the "fixes" referenced worked for me. Perhaps this is related to setuptools >= 64? I have:
System information
Additional context
While the documentation/build instructions are very good, building the development version (from commit 808023c) is annoying.
Consider not recommending to install "scons" to the Ubuntu system python (via apt). Alternatively, indicate that scons is a python package required for building Canetera. I've never used scons, installed it with "apt" as recommended, and didn't notice that it is a python package that installed to the Ubuntu "system" python. This resulted in "issues" until I realized I needed scons in my python virtual env.
Consider adding "doxygen" to the Ubuntu apt package list.
scons doxygen
will fail (on Ubuntu) without it.Consider adding hdf5 include and library directory configuration options to the Common Options here. Like openblas, Ubuntu buries these under /usr/lib/x86_64-linux-gnu/ where they are not auto detected.
The build, test, install commands that worked for me are:
Lastly, it's not uncommon to have separate libraries like sundials compiled with pthreads or openmp depending on if one is using openblas or MKL. I assume I need to be consistent with the blas and threading library (openblas and all pthreads in this instance); but I'm not an expert. If you have some insight about this (like "don't mix blas and threading libraries"), please include it in the build instructions.
HTH