Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Update versions to avoid segfaults, and updates to v0.21. In addition, it drops support for Python 3.6 and introduces a [dev] extras.
Previous to this version, incompatibilities between pybind11, scipy and possibly other libraries were causing segfaults to the CurveLab code at times. While this is not yet 100% understood, this PR appears to avoid segfaults on tested versions.
This version has been checked on Ubuntu 22.04 with the conda for versions 3.7, 3.8, 3.9, 3.10, 3.11 as follows:
In addition, it has been tested in the same machine and for the same versions using venv as follows:
CurveLab and FFTW were compiled on gcc and g++ versions g++ 11.3.0, GLIBC version 2.35.
If segfaults are still happening (I did not experience any), one may try the following procedure:
fftwnd_destroy_plan
inCurveLab-2.1.3/fdct_wrapping_cpp/src/fdct_wrapping.cpp
CurveLab-2.1.3/fdct_wrapping_cpp/src/ifdct_wrapping.cpp
CurveLab-2.1.3/fdct3d/src/fdct3d.cpp
CurveLab-2.1.3/fdct3d/src/fdct3d_forward.cpp
CurveLab-2.1.3/fdct3d/src/fdct3d_inverse.cpp
cd CurveLab-2.1.3/ && make clean && make
pip install -e .