Hi @kieranrcampbell I am struggling to install astir using Python 3.8. I have tried "pip install astir'' and "python setup.py install" and several other fixes but I continue to be hitting the wall and not being able to install the package AT ALL. It seems that there is an error when it tries to install and build fastcluster, as you can see below:
Building wheels for collected packages: fastcluster
Building wheel for fastcluster (pyproject.toml) ... error
ERROR: Command errored out with exit status 1:
command: /Users/joaoluizsfilho/miniconda3/bin/python /Users/joaoluizsfilho/miniconda3/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /var/folders/rl/ypn8k8pn6sn46890b2gh46040000gn/T/tmpvaburexf
cwd: /private/var/folders/rl/ypn8k8pn6sn46890b2gh46040000gn/T/pip-install-5_q4u350/fastcluster_a41fe586050c4e7e83c8ecf111b6e457
Complete output (107 lines):
Fastcluster version: 1.2.4
Python version: 3.8.5 (default, Sep 4 2020, 02:22:02)
[Clang 10.0.0 ]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.9-x86_64-3.8
copying fastcluster.py -> build/lib.macosx-10.9-x86_64-3.8
running build_ext
building '_fastcluster' extension
creating build/temp.macosx-10.9-x86_64-3.8
creating build/temp.macosx-10.9-x86_64-3.8/src
x86_64-apple-darwin13.4.0-clang -fno-strict-aliasing -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O3 -Wall -Wstrict-prototypes -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O3 -pipe -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=/Users/joaoluizsfilho/miniconda3=/usr/local/src/conda-prefix -flto -Wl,-export_dynamic -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O3 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem /Users/joaoluizsfilho/miniconda3/include -D_FORTIFY_SOURCE=2 -mmacosx-version-min=10.9 -isystem /Users/joaoluizsfilho/miniconda3/include -I/private/var/folders/rl/ypn8k8pn6sn46890b2gh46040000gn/T/pip-build-env-34n2edic/overlay/lib/python3.8/site-packages/numpy/core/include -I/Users/joaoluizsfilho/miniconda3/include/python3.8 -c src/fastcluster_python.cpp -o build/temp.macosx-10.9-x86_64-3.8/src/fastcluster_python.o
clang-10: warning: -Wl,-export_dynamic: 'linker' input unused [-Wunused-command-line-argument]
In file included from src/fastcluster_python.cpp:28:
/Users/joaoluizsfilho/miniconda3/include/python3.8/Python.h:14:2: error: "Something's broken. UCHAR_MAX should be defined in limits.h."
#error "Something's broken. UCHAR_MAX should be defined in limits.h."
^
/Users/joaoluizsfilho/miniconda3/include/python3.8/Python.h:18:2: error: "Python's source code assumes C's unsigned char is an 8-bit type."
#error "Python's source code assumes C's unsigned char is an 8-bit type."
^
/Users/joaoluizsfilho/miniconda3/include/python3.8/Python.h:27:5: error: "Python.h requires that stdio.h define NULL."
error "Python.h requires that stdio.h define NULL."
^
In file included from src/fastcluster_python.cpp:28:
In file included from /Users/joaoluizsfilho/miniconda3/include/python3.8/Python.h:30:
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/string.h:73:64: error: use of undeclared identifier 'strchr'
char* __libcpp_strchr(const char* __s, int __c) {return (char*)strchr(__s, __c);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/string.h:80:75: error: use of undeclared identifier 'strpbrk'
char* __libcpp_strpbrk(const char* __s1, const char* __s2) {return (char*)strpbrk(__s1, __s2);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/string.h:87:65: error: use of undeclared identifier 'strrchr'; did you mean 'strchr'?
char* __libcpp_strrchr(const char* __s, int __c) {return (char*)strrchr(__s, __c);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/string.h:75:13: note: 'strchr' declared here
const char* strchr(const char* __s, int __c) {return __libcpp_strchr(__s, __c);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/string.h:94:49: error: unknown type name 'size_t'
void* __libcpp_memchr(const void* __s, int __c, size_t __n) {return (void*)memchr(__s, __c, __n);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/string.h:96:46: error: unknown type name 'size_t'
const void* memchr(const void* __s, int __c, size_t __n) {return __libcpp_memchr(__s, __c, __n);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/string.h:98:46: error: unknown type name 'size_t'
void* memchr( void* __s, int __c, size_t __n) {return __libcpp_memchr(__s, __c, __n);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/string.h:101:74: error: use of undeclared identifier 'strstr'; did you mean 'strchr'?
char* __libcpp_strstr(const char* __s1, const char* __s2) {return (char*)strstr(__s1, __s2);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/string.h:77:13: note: 'strchr' declared here
char* strchr( char* __s, int __c) {return __libcpp_strchr(__s, __c);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/string.h:101:74: error: no matching function for call to 'strchr'
char* __libcpp_strstr(const char* __s1, const char* __s2) {return (char*)strstr(__s1, __s2);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/string.h:77:13: note: candidate disabled:
char* strchr( char* __s, int __c) {return __libcpp_strchr(__s, __c);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/string.h:101:81: error: cannot initialize a parameter of type 'char ' with an lvalue of type 'const char '
char __libcpp_strstr(const char __s1, const char* __s2) {return (char*)strstr(__s1, __s2);}
^~~~
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/string.h:77:32: note: passing argument to parameter '__s' here
char* strchr( char* __s, int __c) {return __libcpp_strchr(__s, __c);}
^
In file included from src/fastcluster_python.cpp:28:
In file included from /Users/joaoluizsfilho/miniconda3/include/python3.8/Python.h:34:
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/stdlib.h:142:34: error: unknown type name 'ldiv_t'
inline _LIBCPP_INLINE_VISIBILITY ldiv_t div(long __x, long __y) _NOEXCEPT {
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/stdlib.h:143:12: error: no member named 'ldiv' in the global namespace
return ::ldiv(__x, __y);
~~^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/stdlib.h:146:34: error: unknown type name 'lldiv_t'
inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x,
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/stdlib.h:148:12: error: no member named 'lldiv' in the global namespace
return ::lldiv(__x, __y);
~~^
In file included from src/fastcluster_python.cpp:28:
In file included from /Users/joaoluizsfilho/miniconda3/include/python3.8/Python.h:63:
In file included from /Users/joaoluizsfilho/miniconda3/include/python3.8/pyport.h:212:
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/math.h:771:93: error: no member named 'acosf' in the global namespace; did you mean 'acos'?
inline _LIBCPP_INLINE_VISIBILITY float acos(float __lcpp_x) _NOEXCEPT {return ::acosf(__lcpp_x);}
~~^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/math.h:771:46: note: 'acos' declared here
inline _LIBCPP_INLINE_VISIBILITY float acos(float __lcpp_x) _NOEXCEPT {return ::acosf(__lcpp_x);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/math.h:772:93: error: no member named 'acosl' in the global namespace; did you mean 'acos'?
inline _LIBCPP_INLINE_VISIBILITY long double acos(long double __lcpp_x) _NOEXCEPT {return ::acosl(__lcpp_x);}
~~^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/math.h:771:46: note: 'acos' declared here
inline _LIBCPP_INLINE_VISIBILITY float acos(float __lcpp_x) _NOEXCEPT {return ::acosf(__lcpp_x);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/math.h:778:38: error: call to 'acos' is ambiguous
acos(_A1 __lcpp_x) _NOEXCEPT {return ::acos((double)__lcpp_x);}
^~~~~~
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/math.h:771:46: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY float acos(float __lcpp_x) _NOEXCEPT {return ::acosf(__lcpp_x);}
^
/Users/joaoluizsfilho/miniconda3/bin/../include/c++/v1/math.h:772:46: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long double acos(long double __lcpp_x) _NOEXCEPT {return ::acosl(__lcpp_x);}
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
error: command 'x86_64-apple-darwin13.4.0-clang' failed with exit status 1
ERROR: Failed building wheel for fastcluster
Failed to build fastcluster
ERROR: Could not build wheels for fastcluster, which is required to install pyproject.toml-based projects
I have tried several fixes to try to skip this error or install fastcluster but nothing has worked. Could you please give some help with this? I am trying to use astir as a step in the Squidpy/Scanpy pipeline and would be great if I could get this working.
Thank you!
Joao