sebp / scikit-survival

Survival analysis built on top of scikit-learn
GNU General Public License v3.0
1.12k stars 214 forks source link

Numpy build requirements for ARM64 on macOS are wrong #313

Closed AnonTendim closed 1 year ago

AnonTendim commented 1 year ago

M1 chip MACOS.


Defaulting to user installation because normal site-packages is not writeable Collecting scikit-survival Using cached scikit-survival-0.18.0.tar.gz (2.5 MB) Installing build dependencies ... error error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> [1099 lines of output] Ignoring numpy: markers 'python_version == "3.8" and platform_system != "AIX"' don't match your environment Ignoring numpy: markers 'python_version == "3.10"' don't match your environment Ignoring numpy: markers 'python_version > "3.10"' don't match your environment Ignoring scikit-learn: markers 'python_version == "3.10"' don't match your environment Ignoring scikit-learn: markers 'python_version > "3.10"' don't match your environment Collecting setuptools>=45 Using cached setuptools-65.5.0-py3-none-any.whl (1.2 MB) Collecting packaging Using cached packaging-21.3-py3-none-any.whl (40 kB) Collecting wheel Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB) Collecting setuptools_scm[toml]>=6.4 Using cached setuptools_scm-7.0.5-py3-none-any.whl (42 kB) Collecting Cython>=0.29.16 Using cached Cython-0.29.32-py2.py3-none-any.whl (986 kB) Collecting numpy==1.19.3 Using cached numpy-1.19.3.zip (7.3 MB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting scikit-learn==1.1 Using cached scikit_learn-1.1.0-cp39-cp39-macosx_12_0_arm64.whl (7.6 MB) Collecting scipy>=1.3.2 Using cached scipy-1.9.3-cp39-cp39-macosx_12_0_arm64.whl (28.6 MB) Collecting joblib>=1.0.0 Using cached joblib-1.2.0-py3-none-any.whl (297 kB) Collecting threadpoolctl>=2.0.0 Using cached threadpoolctl-3.1.0-py3-none-any.whl (14 kB) Collecting pyparsing!=3.0.5,>=2.0.2 Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB) Collecting typing-extensions Using cached typing_extensions-4.4.0-py3-none-any.whl (26 kB) Collecting tomli>=1.0.0 Using cached tomli-2.0.1-py3-none-any.whl (12 kB) Building wheels for collected packages: numpy Building wheel for numpy (pyproject.toml): started Building wheel for numpy (pyproject.toml): finished with status 'error' error: subprocess-exited-with-error

    × Building wheel for numpy (pyproject.toml) did not run successfully.
    │ exit code: 1
    ...
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        22 warnings generated.
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        numpy/core/src/npysort/selection.c.src:328:9: warning: code will never be executed [-Wunreachable-code]
                npy_intp k;
                ^~~~~~~~~~~
        numpy/core/src/npysort/selection.c.src:326:14: note: silence by adding parentheses to mark code as explicitly dead
            else if (0 && kth == num - 1) {
                     ^
                     /* DISABLES CODE */ ( )
        22 warnings generated.
        ar: adding 7 object files to build/temp.macosx-10.9-universal2-3.9/libnpysort.a
        warning: /Library/Developer/CommandLineTools/usr/bin/ranlib: archive library: build/temp.macosx-10.9-universal2-3.9/libnpysort.a will be fat and ar(1) will not be able to operate on it
        ranlib:@ build/temp.macosx-10.9-universal2-3.9/libnpysort.a
        building 'npyrandom' library
        compiling C sources
        C compiler: clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/Headers -arch arm64 -arch x86_64 -Werror=implicit-function-declaration

        creating build/temp.macosx-10.9-universal2-3.9/numpy/random
        creating build/temp.macosx-10.9-universal2-3.9/numpy/random/src
        creating build/temp.macosx-10.9-universal2-3.9/numpy/random/src/distributions
        compile options: '-Inumpy/core/include -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/include/python3.9 -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/common -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/npymath -c'
        clang: numpy/random/src/distributions/logfactorial.c
        clang: numpy/random/src/distributions/distributions.c
        clang: numpy/random/src/distributions/random_mvhg_count.c
        clang: numpy/random/src/distributions/random_hypergeometric.c
        clang: numpy/random/src/distributions/random_mvhg_marginals.c
        ar: adding 5 object files to build/temp.macosx-10.9-universal2-3.9/libnpyrandom.a
        warning: /Library/Developer/CommandLineTools/usr/bin/ranlib: archive library: build/temp.macosx-10.9-universal2-3.9/libnpyrandom.a will be fat and ar(1) will not be able to operate on it
        ranlib:@ build/temp.macosx-10.9-universal2-3.9/libnpyrandom.a
        running build_ext
        customize UnixCCompiler
        customize UnixCCompiler using new_build_ext
        building 'numpy.core._multiarray_tests' extension
        compiling C sources
        C compiler: clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/Headers -arch arm64 -arch x86_64 -Werror=implicit-function-declaration

        creating build/temp.macosx-10.9-universal2-3.9/build/src.macosx-10.9-universal2-3.9/numpy/core/src/multiarray
        creating build/temp.macosx-10.9-universal2-3.9/numpy/core/src/common
        compile options: '-DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -Inumpy/core/include -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/include/python3.9 -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/common -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/npymath -c'
        clang: build/src.macosx-10.9-universal2-3.9/numpy/core/src/multiarray/_multiarray_tests.c
        clang: numpy/core/src/common/mem_overlap.c
        clang -bundle -undefined dynamic_lookup -arch arm64 -arch x86_64 -Wl,-headerpad,0x1000 build/temp.macosx-10.9-universal2-3.9/build/src.macosx-10.9-universal2-3.9/numpy/core/src/multiarray/_multiarray_tests.o build/temp.macosx-10.9-universal2-3.9/numpy/core/src/common/mem_overlap.o -Lbuild/temp.macosx-10.9-universal2-3.9 -lnpymath -o build/lib.macosx-10.9-universal2-3.9/numpy/core/_multiarray_tests.cpython-39-darwin.so
        ld: warning: -undefined dynamic_lookup may not work with chained fixups
        ld: warning: -undefined dynamic_lookup may not work with chained fixups
        building 'numpy.core._multiarray_umath' extension
        compiling C sources
        C compiler: clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/Headers -arch arm64 -arch x86_64 -Werror=implicit-function-declaration

        creating build/temp.macosx-10.9-universal2-3.9/numpy/core/src/multiarray
        creating build/temp.macosx-10.9-universal2-3.9/numpy/core/src/umath
        creating build/temp.macosx-10.9-universal2-3.9/build/src.macosx-10.9-universal2-3.9/numpy/core/src/umath
        creating build/temp.macosx-10.9-universal2-3.9/build/src.macosx-10.9-universal2-3.9/numpy/core/src/common
        creating build/temp.macosx-10.9-universal2-3.9/private
        creating build/temp.macosx-10.9-universal2-3.9/private/var
        creating build/temp.macosx-10.9-universal2-3.9/private/var/folders
        creating build/temp.macosx-10.9-universal2-3.9/private/var/folders/_8
        creating build/temp.macosx-10.9-universal2-3.9/private/var/folders/_8/8fgvqwx52fqg7n__ttj9p65c0000gn
        creating build/temp.macosx-10.9-universal2-3.9/private/var/folders/_8/8fgvqwx52fqg7n__ttj9p65c0000gn/T
        creating build/temp.macosx-10.9-universal2-3.9/private/var/folders/_8/8fgvqwx52fqg7n__ttj9p65c0000gn/T/pip-install-6nlfw6lg
        creating build/temp.macosx-10.9-universal2-3.9/private/var/folders/_8/8fgvqwx52fqg7n__ttj9p65c0000gn/T/pip-install-6nlfw6lg/numpy_f9a369d2604345feaf1b6609915133ef
        creating build/temp.macosx-10.9-universal2-3.9/private/var/folders/_8/8fgvqwx52fqg7n__ttj9p65c0000gn/T/pip-install-6nlfw6lg/numpy_f9a369d2604345feaf1b6609915133ef/numpy
        creating build/temp.macosx-10.9-universal2-3.9/private/var/folders/_8/8fgvqwx52fqg7n__ttj9p65c0000gn/T/pip-install-6nlfw6lg/numpy_f9a369d2604345feaf1b6609915133ef/numpy/_build_utils
        creating build/temp.macosx-10.9-universal2-3.9/private/var/folders/_8/8fgvqwx52fqg7n__ttj9p65c0000gn/T/pip-install-6nlfw6lg/numpy_f9a369d2604345feaf1b6609915133ef/numpy/_build_utils/src
        compile options: '-DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DNO_ATLAS_INFO=3 -DHAVE_CBLAS -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/umath -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/npymath -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/common -Inumpy/core/include -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/include/python3.9 -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/common -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/npymath -c'
        extra options: '-faltivec -I/System/Library/Frameworks/vecLib.framework/Headers'
        clang: numpy/core/src/multiarray/alloc.c
        clang: numpy/core/src/multiarray/array_assign_scalar.c
        clang: numpy/core/src/multiarray/buffer.c
        clang: numpy/core/src/multiarray/common.c
        clang: numpy/core/src/multiarray/conversion_utils.c
        clang: numpy/core/src/multiarray/datetime_strings.c
        clang: numpy/core/src/multiarray/descriptor.c
        clang: build/src.macosx-10.9-universal2-3.9/numpy/core/src/multiarray/einsum.c
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: numpy/core/src/multiarray/hashdescr.c
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: build/src.macosx-10.9-universal2-3.9/numpy/core/src/multiarray/lowlevel_strided_loops.c
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: numpy/core/src/multiarray/multiarraymodule.c
        clang: numpy/core/src/multiarray/nditer_constr.c
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: numpy/core/src/multiarray/refcount.c
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: numpy/core/src/multiarray/scalarapi.c
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: numpy/core/src/multiarray/vdot.c
        clang: numpy/core/src/multiarray/temp_elide.c
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: build/src.macosx-10.9-universal2-3.9/numpy/core/src/umath/loops.c
        clang: numpy/core/src/umath/ufunc_type_resolution.c
        clang: numpy/core/src/umath/ufunc_object.c
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: build/src.macosx-10.9-universal2-3.9/numpy/core/src/npymath/ieee754.c
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: numpy/core/src/common/ucsnarrow.c
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: numpy/core/src/common/array_assign.c
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: build/src.macosx-10.9-universal2-3.9/numpy/core/src/common/npy_cpu_features.c
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: /private/var/folders/_8/8fgvqwx52fqg7n__ttj9p65c0000gn/T/pip-install-6nlfw6lg/numpy_f9a369d2604345feaf1b6609915133ef/numpy/_build_utils/src/apple_sgemv_fix.c
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
        error: Command "clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/Headers -arch arm64 -arch x86_64 -Werror=implicit-function-declaration -DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DNO_ATLAS_INFO=3 -DHAVE_CBLAS -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/umath -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/npymath -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/common -Inumpy/core/include -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/include/python3.9 -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/common -Ibuild/src.macosx-10.9-universal2-3.9/numpy/core/src/npymath -c numpy/core/src/multiarray/array_assign_scalar.c -o build/temp.macosx-10.9-universal2-3.9/numpy/core/src/multiarray/array_assign_scalar.o -MMD -MF build/temp.macosx-10.9-universal2-3.9/numpy/core/src/multiarray/array_assign_scalar.o.d -faltivec -I/System/Library/Frameworks/vecLib.framework/Headers" failed with exit status 1
        [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for numpy
  Failed to build numpy
  ERROR: Could not build wheels for numpy, which is required to install pyproject.toml-based projects
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

sebp commented 1 year ago

Building wheel for numpy (pyproject.toml) did not run successfully.

Your error message indicates that it is a build error of numpy, not scikit-survival.

AnonTendim commented 1 year ago

But I have installed NumPy successfully, and I have been using NumPy for other purposes. Why would this still happen? Thank you for your help!

sebp commented 1 year ago

It seems that numpy == 1.19.3 is enforced during build isolation, but M1 is only supported starting with numpy 1.21.0.

https://github.com/sebp/scikit-survival/blob/52c713dc8e3beb266f9cad7e6785dce5fa282f01/pyproject.toml#L9

I probably should a line similar to https://github.com/scipy/oldest-supported-numpy/blob/7c61f628ef4e10a6954d65f1ea317a85d31eac0c/setup.cfg#L41