Closed galenseilis closed 2 years ago
I updated pip
and got a different output when I retried to install ripser
.
pip3 install ripser
Defaulting to user installation because normal site-packages is not writeable
Collecting ripser
Using cached ripser-0.6.1.tar.gz (72 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting Cython
Using cached Cython-0.29.28-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (1.9 MB)
Requirement already satisfied: scikit-learn in ./.local/lib/python3.10/site-packages (from ripser) (1.0.2)
Requirement already satisfied: scipy in /usr/lib/python3.10/site-packages (from ripser) (1.7.3)
Requirement already satisfied: numpy in /usr/lib/python3.10/site-packages (from ripser) (1.21.5)
Requirement already satisfied: persim in ./.local/lib/python3.10/site-packages (from ripser) (0.3.1)
Requirement already satisfied: hopcroftkarp in ./.local/lib/python3.10/site-packages (from persim->ripser) (1.2.5)
Requirement already satisfied: joblib in ./.local/lib/python3.10/site-packages (from persim->ripser) (1.1.0)
Requirement already satisfied: deprecated in ./.local/lib/python3.10/site-packages (from persim->ripser) (1.2.13)
Requirement already satisfied: matplotlib in /usr/lib/python3.10/site-packages (from persim->ripser) (3.5.1)
Requirement already satisfied: threadpoolctl>=2.0.0 in ./.local/lib/python3.10/site-packages (from scikit-learn->ripser) (3.0.0)
Requirement already satisfied: wrapt<2,>=1.10 in /usr/lib/python3.10/site-packages (from deprecated->persim->ripser) (1.12.1)
Requirement already satisfied: cycler>=0.10 in /usr/lib/python3.10/site-packages (from matplotlib->persim->ripser) (0.10.0)
Requirement already satisfied: fonttools>=4.22.0 in /usr/lib/python3.10/site-packages (from matplotlib->persim->ripser) (4.28.5)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/lib/python3.10/site-packages (from matplotlib->persim->ripser) (1.3.2)
Requirement already satisfied: packaging>=20.0 in /usr/lib/python3.10/site-packages (from matplotlib->persim->ripser) (20.9)
Requirement already satisfied: pillow>=6.2.0 in /usr/lib/python3.10/site-packages (from matplotlib->persim->ripser) (9.0.0)
Requirement already satisfied: pyparsing>=2.2.1 in /usr/lib/python3.10/site-packages (from matplotlib->persim->ripser) (2.4.7)
Requirement already satisfied: python-dateutil>=2.7 in /usr/lib/python3.10/site-packages (from matplotlib->persim->ripser) (2.8.2)
Requirement already satisfied: six in /usr/lib/python3.10/site-packages (from cycler>=0.10->matplotlib->persim->ripser) (1.16.0)
Building wheels for collected packages: ripser
Building wheel for ripser (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for ripser (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [150 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.10
creating build/lib.linux-x86_64-3.10/ripser
copying ripser/ripser.py -> build/lib.linux-x86_64-3.10/ripser
copying ripser/_version.py -> build/lib.linux-x86_64-3.10/ripser
copying ripser/__init__.py -> build/lib.linux-x86_64-3.10/ripser
running build_ext
building 'pyRipser' extension
creating build/temp.linux-x86_64-3.10
creating build/temp.linux-x86_64-3.10/ripser
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC -DUSE_COEFFICIENTS=1 -DNDEBUG=1 -DASSEMBLE_REDUCTION_MATRIX=1 -I./ripser -I/usr/include/python3.10 -I/tmp/pip-build-env-e137bwdd/overlay/lib/python3.10/site-packages/numpy/core/include -c ripser/pyRipser.cpp -o build/temp.linux-x86_64-3.10/ripser/pyRipser.o -Ofast -D_hypot=hypot -std=c++11
In file included from /tmp/pip-build-env-e137bwdd/overlay/lib/python3.10/site-packages/numpy/core/include/numpy/ndarraytypes.h:1960,
from /tmp/pip-build-env-e137bwdd/overlay/lib/python3.10/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
from /tmp/pip-build-env-e137bwdd/overlay/lib/python3.10/site-packages/numpy/core/include/numpy/arrayobject.h:5,
from ripser/pyRipser.cpp:739:
/tmp/pip-build-env-e137bwdd/overlay/lib/python3.10/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
17 | #warning "Using deprecated NumPy API, disable it with " \
| ^~~~~~~
In file included from ripser/pyRipser.cpp:752:
ripser/ripser.cpp:163:13: warning: attribute ignored in declaration of ‘struct entry_t’ [-Wattributes]
163 | PACK(struct entry_t {
| ^~~~~~~
ripser/ripser.cpp:160:49: note: in definition of macro ‘PACK’
160 | #define PACK( ... ) __attribute__((__packed__)) __VA_ARGS__
| ^~~~~~~~~~~
ripser/ripser.cpp:163:13: note: attribute for ‘struct entry_t’ must follow the ‘struct’ keyword
163 | PACK(struct entry_t {
| ^~~~~~~
ripser/ripser.cpp:160:49: note: in definition of macro ‘PACK’
160 | #define PACK( ... ) __attribute__((__packed__)) __VA_ARGS__
| ^~~~~~~~~~~
ripser/ripser.cpp: In member function ‘void ripser<DistanceMatrix>::compute_dim_0_pairs(std::vector<std::pair<float, long int> >&, std::vector<std::pair<float, long int> >&)’:
ripser/ripser.cpp:707:26: error: ‘numeric_limits’ is not a member of ‘std’
707 | std::numeric_limits<value_t>::infinity());
| ^~~~~~~~~~~~~~
ripser/ripser.cpp:707:48: error: expected primary-expression before ‘>’ token
707 | std::numeric_limits<value_t>::infinity());
| ^
ripser/ripser.cpp:707:51: error: ‘::infinity’ has not been declared; did you mean ‘isfinite’?
707 | std::numeric_limits<value_t>::infinity());
| ^~~~~~~~
| isfinite
ripser/ripser.cpp: In member function ‘void ripser<DistanceMatrix>::compute_pairs(std::vector<std::pair<float, long int> >&, ripser<DistanceMatrix>::entry_hash_map&, index_t)’:
ripser/ripser.cpp:923:30: error: ‘numeric_limits’ is not a member of ‘std’
923 | std::numeric_limits<value_t>::infinity());
| ^~~~~~~~~~~~~~
ripser/ripser.cpp:923:52: error: expected primary-expression before ‘>’ token
923 | std::numeric_limits<value_t>::infinity());
| ^
ripser/ripser.cpp:923:55: error: ‘::infinity’ has not been declared; did you mean ‘isfinite’?
923 | std::numeric_limits<value_t>::infinity());
| ^~~~~~~~
| isfinite
ripser/ripser.cpp: In function ‘ripserResults rips_dm(float*, int, int, int, float, int)’:
ripser/ripser.cpp:1146:24: error: ‘numeric_limits’ is not a member of ‘std’
1146 | value_t min = std::numeric_limits<value_t>::infinity(),
| ^~~~~~~~~~~~~~
ripser/ripser.cpp:1146:46: error: expected primary-expression before ‘>’ token
1146 | value_t min = std::numeric_limits<value_t>::infinity(),
| ^
ripser/ripser.cpp:1146:49: error: ‘::infinity’ has not been declared; did you mean ‘isfinite’?
1146 | value_t min = std::numeric_limits<value_t>::infinity(),
| ^~~~~~~~
| isfinite
ripser/ripser.cpp:1153:27: error: ‘numeric_limits’ is not a member of ‘std’
1153 | if (threshold == std::numeric_limits<value_t>::max() ||
| ^~~~~~~~~~~~~~
ripser/ripser.cpp:1153:49: error: expected primary-expression before ‘>’ token
1153 | if (threshold == std::numeric_limits<value_t>::max() ||
| ^
ripser/ripser.cpp:1153:52: error: ‘::max’ has not been declared; did you mean ‘std::max’?
1153 | if (threshold == std::numeric_limits<value_t>::max() ||
| ^~~
| std::max
In file included from /usr/include/c++/11.1.0/algorithm:62,
from ripser/ripser.cpp:41,
from ripser/pyRipser.cpp:752:
/usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
3467 | max(initializer_list<_Tp> __l, _Compare __comp)
| ^~~
In file included from ripser/pyRipser.cpp:752:
ripser/ripser.cpp:1154:27: error: ‘numeric_limits’ is not a member of ‘std’
1154 | threshold == std::numeric_limits<value_t>::infinity()) {
| ^~~~~~~~~~~~~~
ripser/ripser.cpp:1154:49: error: expected primary-expression before ‘>’ token
1154 | threshold == std::numeric_limits<value_t>::infinity()) {
| ^
ripser/ripser.cpp:1154:52: error: ‘::infinity’ has not been declared; did you mean ‘isfinite’?
1154 | threshold == std::numeric_limits<value_t>::infinity()) {
| ^~~~~~~~
| isfinite
ripser/ripser.cpp:1155:41: error: ‘numeric_limits’ is not a member of ‘std’
1155 | value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
| ^~~~~~~~~~~~~~
ripser/ripser.cpp:1155:63: error: expected primary-expression before ‘>’ token
1155 | value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
| ^
ripser/ripser.cpp:1155:66: error: ‘::infinity’ has not been declared; did you mean ‘isfinite’?
1155 | value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
| ^~~~~~~~
| isfinite
ripser/ripser.cpp:1157:33: error: ‘numeric_limits’ is not a member of ‘std’
1157 | value_t r_i = -std::numeric_limits<value_t>::infinity();
| ^~~~~~~~~~~~~~
ripser/ripser.cpp:1157:55: error: expected primary-expression before ‘>’ token
1157 | value_t r_i = -std::numeric_limits<value_t>::infinity();
| ^
ripser/ripser.cpp:1157:58: error: ‘::infinity’ has not been declared; did you mean ‘isfinite’?
1157 | value_t r_i = -std::numeric_limits<value_t>::infinity();
| ^~~~~~~~
| isfinite
ripser/ripser.cpp:1167:9: error: ‘max’ was not declared in this scope; did you mean ‘std::max’?
1167 | max = std::max(max, d);
| ^~~
| std::max
In file included from /usr/include/c++/11.1.0/algorithm:62,
from ripser/ripser.cpp:41,
from ripser/pyRipser.cpp:752:
/usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
3467 | max(initializer_list<_Tp> __l, _Compare __comp)
| ^~~
In file included from ripser/pyRipser.cpp:752:
ripser/ripser.cpp:1168:9: error: ‘max_finite’ was not declared in this scope; did you mean ‘isfinite’?
1168 | max_finite = d != std::numeric_limits<value_t>::infinity()
| ^~~~~~~~~~
| isfinite
ripser/ripser.cpp:1168:32: error: ‘numeric_limits’ is not a member of ‘std’
1168 | max_finite = d != std::numeric_limits<value_t>::infinity()
| ^~~~~~~~~~~~~~
ripser/ripser.cpp:1168:54: error: expected primary-expression before ‘>’ token
1168 | max_finite = d != std::numeric_limits<value_t>::infinity()
| ^
ripser/ripser.cpp:1168:57: error: ‘::infinity’ has not been declared; did you mean ‘isfinite’?
1168 | max_finite = d != std::numeric_limits<value_t>::infinity()
| ^~~~~~~~
| isfinite
ripser/ripser.cpp:1176:22: error: ‘max’ was not declared in this scope; did you mean ‘std::max’?
1176 | if (threshold >= max) {
| ^~~
| std::max
In file included from /usr/include/c++/11.1.0/algorithm:62,
from ripser/ripser.cpp:41,
from ripser/pyRipser.cpp:752:
/usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
3467 | max(initializer_list<_Tp> __l, _Compare __comp)
| ^~~
error: command '/usr/bin/gcc' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for ripser
Failed to build ripser
ERROR: Could not build wheels for ripser, which is required to install pyproject.toml-based projects
This should be fixed in the most recent release! We can re-open the issue if not
I tried to install
scikit-tda
usingpip3 install scikit-tda
and found thatripser
was not installing properly. I triedpip3 install ripser
directly and got the same error. This is the output.