AIX Open Source

AIX Open Source

Share your experiences and connect with fellow developers to discover how to build and manage open source software for the AIX operating system

 View Only
  • 1.  Python 3.11.7 : LONG_BIT issue building numpy 1.26

    Posted Wed January 10, 2024 07:11 AM

    Hello community, 

    we are trying to build / install numpy 1.26 module in our python 3.11.7 environment. Open source tools (gcc etc) are maintained via dnf and are up to date.  AIX version is 7.2.5. The python 3.11.7 build from source works fine, without any errors. Installing python modules via pip works. However if we try to install numpy via pip3.11 things start to go wrong ... (complete log is below)

    The problem seems to be the definition of "long" and "long long" : 

    Checking for size of "long" : 4
    Checking for size of "long long" : 8

    causing the build to fail with :

    /edi/toolset/python_3.11.7/include/python3.11/pyport.h:596:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
        596 | #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
            |  ^~~~~

    checking the pyport.h include it expects LONG_BIT to be 64 bit instead of 32. However on AIX this is "long long" datatype 

    #ifndef LONG_BIT
    #define LONG_BIT (8 * SIZEOF_LONG)
    #endif

    #if LONG_BIT != 8 * SIZEOF_LONG
    /* 04-Oct-2000 LONG_BIT is apparently (mis)defined as 64 on some recent
     * 32-bit platforms using gcc.  We try to catch that here at compile-time
     * rather than waiting for integer multiplication to trigger bogus
     * overflows.
     */
    #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
    #endif

    Currenty I am a bit lost how to solve this - so I'd appreciate any hint that might help to get numpy installed successfully 

    Thanks a lot !

    /BR Volker 

    --- complete log ----

    /edi/toolset/python_3.11.7/bin/pip3.11 install numpy
    Collecting numpy
      Using cached numpy-1.26.3.tar.gz (15.7 MB)

    Installing build dependencies ... done
      Getting requirements to build wheel ... done
      Preparing metadata (pyproject.toml) ... error
      error: subprocess-exited-with-error

      Preparing metadata (pyproject.toml) did not run successfully.
      exit code: 1

      [371 lines of output]
      + /edi/toolset/python_3.11.7/bin/python3.11 /tmp/pip-install-brellt23/numpy_e6fbbe8a9c6a405993b710eef5fe66bd/vendored-meson/meson/meson.py setup /tmp/pip-install-brellt23/numpy_e6fbbe8a9c6a405993b710eef5fe66bd /tmp/pip-install-brellt23/numpy_e6fbbe8a9c6a405993b710eef5fe66bd/.mesonpy-0mzqb678/build -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/tmp/pip-install-brellt23/numpy_e6fbbe8a9c6a405993b710eef5fe66bd/.mesonpy-0mzqb678/build/meson-python-native-file.ini
      The Meson build system
      Version: 1.2.99
      Source dir: /tmp/pip-install-brellt23/numpy_e6fbbe8a9c6a405993b710eef5fe66bd
      Build dir: /tmp/pip-install-brellt23/numpy_e6fbbe8a9c6a405993b710eef5fe66bd/.mesonpy-0mzqb678/build
      Build type: native build
      Project name: NumPy
      Project version: 1.26.3
      C compiler for the host machine: gcc (gcc 10.3.0 "gcc (GCC) 10.3.0")
      C linker for the host machine: gcc ld.aix 7.2.5
      C++ compiler for the host machine: c++ (gcc 10.3.0 "c++ (GCC) 10.3.0")
      C++ linker for the host machine: c++ ld.aix 7.2.5
      Cython compiler for the host machine: cython (cython 3.0.7)
      Host machine cpu family: ppc
      Host machine cpu: powerpc
      Program python found: YES (/edi/toolset/python_3.11.7/bin/python3.11)
      Found pkg-config: /usr/bin/pkg-config (0.29.2)
      Run-time dependency python found: YES 3.11
      Has header "Python.h" with dependency python-3.11: YES
      Compiler for C supports arguments -fno-strict-aliasing: YES
      Message: Disabling CPU feature detection due to unsupported architecture: "ppc"
      Configuring npy_cpu_dispatch_config.h using configuration
      Message:
      CPU Optimization Options
        baseline:
          Requested : none
          Enabled   :
        dispatch:
          Requested : none
          Enabled   :

      Library m found: YES
      Run-time dependency scipy-openblas found: NO (tried pkgconfig)
      Run-time dependency mkl found: NO (tried pkgconfig and system)
      Run-time dependency mkl found: NO (tried pkgconfig and system)
      Run-time dependency accelerate found: NO (tried system)
      Found CMake: /opt/freeware/bin/cmake (3.26.4)
      WARNING: CMake Toolchain: Failed to determine CMake compilers state
      Run-time dependency openblas found: NO (tried pkgconfig, pkgconfig, pkgconfig, system and cmake)
      Run-time dependency flexiblas found: NO (tried pkgconfig and cmake)
      Run-time dependency blis found: NO (tried pkgconfig and cmake)
      Run-time dependency blas found: YES 3.9.1
      ../../numpy/meson.build:124: WARNING: Project targets '>=1.2.99' but uses feature introduced in '1.3.0': dep 'blas' custom lookup.
      Message: BLAS symbol suffix:
      Run-time dependency mkl found: NO (tried pkgconfig and system)
      Run-time dependency accelerate found: NO (tried system)
      Run-time dependency openblas found: NO (tried pkgconfig, pkgconfig, pkgconfig, system and cmake)
      Run-time dependency flexiblas found: NO (tried pkgconfig and cmake)
      Run-time dependency lapack found: YES 3.9.1
      ../../numpy/meson.build:187: WARNING: Project targets '>=1.2.99' but uses feature introduced in '1.3.0': dep 'lapack' custom lookup.
      Program _build_utils/process_src_template.py found: YES (/edi/toolset/python_3.11.7/bin/python3.11 /tmp/pip-install-brellt23/numpy_e6fbbe8a9c6a405993b710eef5fe66bd/numpy/_build_utils/process_src_template.py)
      Program _build_utils/tempita.py found: YES (/edi/toolset/python_3.11.7/bin/python3.11 /tmp/pip-install-brellt23/numpy_e6fbbe8a9c6a405993b710eef5fe66bd/numpy/_build_utils/tempita.py)
      Configuring __config__.py using configuration
      Checking for size of "short" : 2
      Checking for size of "int" : 4
      Checking for size of "long" : 4
      Checking for size of "long long" : 8
      Checking for size of "float" : 4
      Checking for size of "double" : 8
      Checking for size of "long double" : 8
      Checking for size of "off_t" : 4
      Checking for size of "Py_intptr_t" with dependency python-3.11: -1
      Checking for size of "PY_LONG_LONG" with dependency python-3.11: -1
      Has header "complex.h" : YES
      Checking for type "complex float" : YES
      Checking for size of "struct {float __x; float __y;}" : 8
      Checking for type "complex double" : YES
      Checking for size of "struct {double __x; double __y;}" : 16
      Checking for type "complex long double" : YES
      Checking for size of "struct {long double __x; long double __y;}" : 16
      Checking for function "sin" with dependency -lm: YES
      Checking for function "cos" with dependency -lm: YES
      Checking for function "tan" with dependency -lm: YES
      Checking for function "sinh" with dependency -lm: YES
      Checking for function "cosh" with dependency -lm: YES
      Checking for function "tanh" with dependency -lm: YES
      Checking for function "fabs" with dependency -lm: YES
      Checking for function "floor" with dependency -lm: YES
      Checking for function "ceil" with dependency -lm: YES
      Checking for function "sqrt" with dependency -lm: YES
      Checking for function "log10" with dependency -lm: YES
      Checking for function "log" with dependency -lm: YES
      Checking for function "exp" with dependency -lm: YES
      Checking for function "asin" with dependency -lm: YES
      Checking for function "acos" with dependency -lm: YES
      Checking for function "atan" with dependency -lm: YES
      Checking for function "fmod" with dependency -lm: YES
      Checking for function "modf" with dependency -lm: YES
      Checking for function "frexp" with dependency -lm: YES
      Checking for function "ldexp" with dependency -lm: YES
      Checking for function "expm1" with dependency -lm: YES
      Checking for function "log1p" with dependency -lm: YES
      Checking for function "acosh" with dependency -lm: YES
      Checking for function "asinh" with dependency -lm: YES
      Checking for function "atanh" with dependency -lm: YES
      Checking for function "rint" with dependency -lm: YES
      Checking for function "trunc" with dependency -lm: YES
      Checking for function "exp2" with dependency -lm: YES
      Checking for function "copysign" with dependency -lm: YES
      Checking for function "nextafter" with dependency -lm: YES
      Checking for function "cbrt" with dependency -lm: YES
      Checking for function "log2" with dependency -lm: YES
      Checking for function "pow" with dependency -lm: YES
      Checking for function "hypot" with dependency -lm: YES
      Checking for function "atan2" with dependency -lm: YES
      Checking for function "csin" with dependency -lm: YES
      Checking for function "csinh" with dependency -lm: YES
      Checking for function "ccos" with dependency -lm: YES
      Checking for function "ccosh" with dependency -lm: YES
      Checking for function "ctan" with dependency -lm: YES
      Checking for function "ctanh" with dependency -lm: YES
      Checking for function "creal" with dependency -lm: YES
      Checking for function "cimag" with dependency -lm: YES
      Checking for function "conj" with dependency -lm: YES
      Checking for function "strtoll" : YES
      Checking for function "strtoull" : YES
      Checking for function "cabs" with dependency -lm: YES
      Checking for function "cabsf" with dependency -lm: YES
      Checking for function "cabsl" with dependency -lm: YES
      Checking for function "cacos" with dependency -lm: YES
      Checking for function "cacosf" with dependency -lm: YES
      Checking for function "cacosl" with dependency -lm: YES
      Checking for function "cacosh" with dependency -lm: YES
      Checking for function "cacoshf" with dependency -lm: YES
      Checking for function "cacoshl" with dependency -lm: YES
      Checking for function "carg" with dependency -lm: YES
      Checking for function "cargf" with dependency -lm: YES
      Checking for function "cargl" with dependency -lm: YES
      Checking for function "casin" with dependency -lm: YES
      Checking for function "casinf" with dependency -lm: YES
      Checking for function "casinl" with dependency -lm: YES
      Checking for function "casinh" with dependency -lm: YES
      Checking for function "casinhf" with dependency -lm: YES
      Checking for function "casinhl" with dependency -lm: YES
      Checking for function "catan" with dependency -lm: YES
      Checking for function "catanf" with dependency -lm: YES
      Checking for function "catanl" with dependency -lm: YES
      Checking for function "catanh" with dependency -lm: YES
      Checking for function "catanhf" with dependency -lm: YES
      Checking for function "catanhl" with dependency -lm: YES
      Checking for function "cexp" with dependency -lm: YES
      Checking for function "cexpf" with dependency -lm: YES
      Checking for function "cexpl" with dependency -lm: YES
      Checking for function "clog" with dependency -lm: YES
      Checking for function "clogf" with dependency -lm: YES
      Checking for function "clogl" with dependency -lm: YES
      Checking for function "cpow" with dependency -lm: YES
      Checking for function "cpowf" with dependency -lm: YES
      Checking for function "cpowl" with dependency -lm: YES
      Checking for function "csqrt" with dependency -lm: YES
      Checking for function "csqrtf" with dependency -lm: YES
      Checking for function "csqrtl" with dependency -lm: YES
      Checking for function "csin" with dependency -lm: YES (cached)
      Checking for function "csinf" with dependency -lm: YES
      Checking for function "csinl" with dependency -lm: YES
      Checking for function "csinh" with dependency -lm: YES (cached)
      Checking for function "csinhf" with dependency -lm: YES
      Checking for function "csinhl" with dependency -lm: YES
      Checking for function "ccos" with dependency -lm: YES (cached)
      Checking for function "ccosf" with dependency -lm: YES
      Checking for function "ccosl" with dependency -lm: YES
      Checking for function "ccosh" with dependency -lm: YES (cached)
      Checking for function "ccoshf" with dependency -lm: YES
      Checking for function "ccoshl" with dependency -lm: YES
      Checking for function "ctan" with dependency -lm: YES (cached)
      Checking for function "ctanf" with dependency -lm: YES
      Checking for function "ctanl" with dependency -lm: YES
      Checking for function "ctanh" with dependency -lm: YES (cached)
      Checking for function "ctanhf" with dependency -lm: YES
      Checking for function "ctanhl" with dependency -lm: YES
      Checking for function "isfinite" with dependency -lm: YES
      Header "Python.h" has symbol "isfinite" with dependency python-3.11: NO
      Checking for function "isinf" with dependency -lm: YES
      Header "Python.h" has symbol "isinf" with dependency python-3.11: NO
      Checking for function "isnan" with dependency -lm: YES
      Header "Python.h" has symbol "isnan" with dependency python-3.11: NO
      Checking for function "signbit" with dependency -lm: YES
      Header "Python.h" has symbol "signbit" with dependency python-3.11: NO
      Checking for function "fallocate" : NO
      Header "Python.h" has symbol "HAVE_FTELLO" with dependency python-3.11: NO
      Checking for function "ftello" : YES
      Header "Python.h" has symbol "HAVE_FSEEKO" with dependency python-3.11: NO
      Checking for function "fseeko" : YES
      Checking for function "backtrace" : NO
      Checking for function "madvise" : YES
      Has header "features.h" : NO
      Has header "xlocale.h" : NO
      Has header "dlfcn.h" : YES
      Has header "execinfo.h" : NO
      Has header "libunwind.h" : NO
      Has header "sys/mman.h" : YES
      Checking for function "strtold_l" : NO
      Compiler for C supports arguments -O3: YES
      Has header "endian.h" : NO
      Has header "sys/endian.h" : NO
      Header "inttypes.h" has symbol "PRIdPTR" : YES
      Compiler for C supports function attribute visibility:hidden: YES
      Configuring config.h using configuration
      Configuring _numpyconfig.h using configuration
      Configuring npymath.ini using configuration
      Configuring mlib.ini using configuration
      Generating multi-targets for "_umath_tests.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "argfunc.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "simd_qsort.dispatch.h"
        Enabled targets:
      Generating multi-targets for "simd_qsort_16bit.dispatch.h"
        Enabled targets:
      Generating multi-targets for "loops_arithm_fp.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_arithmetic.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_comparison.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_exponent_log.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_hyperbolic.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_logical.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_minmax.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_modulo.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_trigonometric.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_umath_fp.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_unary.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_unary_fp.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_unary_fp_le.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_unary_complex.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_autovec.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "_simd.dispatch.h"
        Enabled targets: baseline
      Build targets in project: 59
      WARNING: Project specifies a minimum meson_version '>=1.2.99' but uses features which were added in newer versions:
       * 1.3.0: {'dep 'blas' custom lookup', 'dep 'lapack' custom lookup'}

      NumPy 1.26.3

        User defined options
          Native files: /tmp/pip-install-brellt23/numpy_e6fbbe8a9c6a405993b710eef5fe66bd/.mesonpy-0mzqb678/build/meson-python-native-file.ini
          buildtype   : release
          b_ndebug    : if-release
          b_vscrt     : md

      Found ninja-1.11.1.git.kitware.jobserver-1 at /usr/local/bin/ninja
      + /usr/local/bin/ninja
      [1/297] Generating numpy/__init__.py with a custom command
      [2/297] Generating numpy/__init__.pxd with a custom command
      [3/297] Generating numpy/__init__.cython-30.pxd with a custom command
      [4/297] Generating numpy/core/npy_math_internal.h with a custom command
      [5/297] Generating 'numpy/core/libnpymath.a.p/ieee754.c'
      [6/297] Generating 'numpy/core/libnpymath.a.p/npy_math_complex.c'
      [7/297] Generating numpy/core/__umath_generated with a custom command
      [8/297] Generating numpy/core/_umath_doc_generated with a custom command
      [9/297] Generating numpy/core/__ufunc_api with a custom command
      [10/297] Generating 'numpy/core/_multiarray_tests.cpython-311.so.p/_multiarray_tests.c'
      [11/297] Generating 'numpy/core/_multiarray_tests.cpython-311.so.p/templ_common.h'
      [12/297] Generating 'numpy/core/_umath_tests.cpython-311.so.p/_umath_tests.c'
      [13/297] Generating 'numpy/core/libargfunc.dispatch.h_baseline.a.p/arraytypes.h'
      [14/297] Generating 'numpy/core/libargfunc.dispatch.h_baseline.a.p/npy_sort.h'
      [15/297] Generating 'numpy/core/libargfunc.dispatch.h_baseline.a.p/argfunc.dispatch.c'
      [16/297] Generating 'numpy/core/libloops_arithm_fp.dispatch.h_baseline.a.p/loops.h'
      [17/297] Generating 'numpy/core/libloops_arithm_fp.dispatch.h_baseline.a.p/loops_utils.h'
      [18/297] Generating 'numpy/core/libloops_arithm_fp.dispatch.h_baseline.a.p/loops_arithm_fp.dispatch.c'
      [19/297] Generating 'numpy/core/libloops_arithmetic.dispatch.h_baseline.a.p/loops.h'
      [20/297] Generating 'numpy/core/libloops_arithmetic.dispatch.h_baseline.a.p/loops_utils.h'
      [21/297] Generating 'numpy/core/libloops_arithmetic.dispatch.h_baseline.a.p/loops_arithmetic.dispatch.c'
      [22/297] Generating 'numpy/core/libloops_comparison.dispatch.h_baseline.a.p/loops.h'
      [23/297] Generating 'numpy/core/libloops_comparison.dispatch.h_baseline.a.p/loops_utils.h'
      [24/297] Generating 'numpy/core/libloops_comparison.dispatch.h_baseline.a.p/loops_comparison.dispatch.c'
      [25/297] Generating 'numpy/core/libloops_exponent_log.dispatch.h_baseline.a.p/loops.h'
      [26/297] Generating 'numpy/core/libloops_exponent_log.dispatch.h_baseline.a.p/loops_utils.h'
      [27/297] Generating 'numpy/core/libloops_exponent_log.dispatch.h_baseline.a.p/loops_exponent_log.dispatch.c'
      [28/297] Generating 'numpy/core/libloops_hyperbolic.dispatch.h_baseline.a.p/loops.h'
      [29/297] Generating 'numpy/core/libloops_hyperbolic.dispatch.h_baseline.a.p/loops_utils.h'
      [30/297] Generating 'numpy/core/libloops_hyperbolic.dispatch.h_baseline.a.p/loops_hyperbolic.dispatch.c'
      [31/297] Generating 'numpy/core/libloops_logical.dispatch.h_baseline.a.p/loops_logical.dispatch.c'
      [32/297] Generating 'numpy/core/libloops_modulo.dispatch.h_baseline.a.p/loops_utils.h'
      [33/297] Generating 'numpy/core/libloops_logical.dispatch.h_baseline.a.p/loops.h'
      [34/297] Generating 'numpy/core/libloops_logical.dispatch.h_baseline.a.p/loops_utils.h'
      [35/297] Generating 'numpy/core/libloops_minmax.dispatch.h_baseline.a.p/loops.h'
      [36/297] Generating 'numpy/core/libloops_minmax.dispatch.h_baseline.a.p/loops_utils.h'
      [37/297] Generating 'numpy/core/libloops_modulo.dispatch.h_baseline.a.p/loops.h'
      [38/297] Generating 'numpy/core/libloops_modulo.dispatch.h_baseline.a.p/loops_modulo.dispatch.c'
      [39/297] Generating 'numpy/core/libloops_trigonometric.dispatch.h_baseline.a.p/loops.h'
      [40/297] Generating 'numpy/core/libloops_trigonometric.dispatch.h_baseline.a.p/loops_trigonometric.dispatch.c'
      [41/297] Generating 'numpy/core/libloops_umath_fp.dispatch.h_baseline.a.p/loops_umath_fp.dispatch.c'
      [42/297] Generating 'numpy/core/libloops_unary.dispatch.h_baseline.a.p/loops_utils.h'
      [43/297] Generating 'numpy/core/libloops_unary_fp.dispatch.h_baseline.a.p/loops_utils.h'
      [44/297] Generating 'numpy/core/libloops_trigonometric.dispatch.h_baseline.a.p/loops_utils.h'
      [45/297] Generating 'numpy/core/libloops_umath_fp.dispatch.h_baseline.a.p/loops.h'
      [46/297] Generating 'numpy/core/libloops_umath_fp.dispatch.h_baseline.a.p/loops_utils.h'
      [47/297] Generating 'numpy/core/libloops_unary.dispatch.h_baseline.a.p/loops.h'
      [48/297] Generating 'numpy/core/libloops_unary_fp_le.dispatch.h_baseline.a.p/loops_utils.h'
      [49/297] Compiling C object numpy/core/libnpymath.a.p/meson-generated_npy_math_complex.c.o
      FAILED: numpy/core/libnpymath.a.p/meson-generated_npy_math_complex.c.o
      gcc -Inumpy/core/libnpymath.a.p -Inumpy/core -I../../numpy/core -Inumpy/core/include -I../../numpy/core/include -I../../numpy/core/src/npymath -I../../numpy/core/src/common -I/edi/toolset/python_3.11.7/include/python3.11 -I/tmp/pip-install-brellt23/numpy_e6fbbe8a9c6a405993b710eef5fe66bd/.mesonpy-0mzqb678/build/meson_cpu -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c99 -O3 -fno-strict-aliasing -fPIC -MD -MQ numpy/core/libnpymath.a.p/meson-generated_npy_math_complex.c.o -MF numpy/core/libnpymath.a.p/meson-generated_npy_math_complex.c.o.d -o numpy/core/libnpymath.a.p/meson-generated_npy_math_complex.c.o -c numpy/core/libnpymath.a.p/npy_math_complex.c
      In file included from /edi/toolset/python_3.11.7/include/python3.11/Python.h:38,
                       from ../../numpy/core/src/npymath/npy_math_common.h:4,
                       from ../../numpy/core/src/npymath/npy_math_complex.c.src:34:
      /edi/toolset/python_3.11.7/include/python3.11/pyport.h:596:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
        596 | #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
            |  ^~~~~
      [50/297] Generating 'numpy/core/libloops_unary_fp.dispatch.h_baseline.a.p/loops.h'
      [51/297] Generating 'numpy/core/libloops_unary_fp_le.dispatch.h_baseline.a.p/loops_unary_fp_le.dispatch.c'
      [52/297] Generating 'numpy/core/libloops_unary_complex.dispatch.h_baseline.a.p/loops_utils.h'
      [53/297] Generating 'numpy/core/libloops_minmax.dispatch.h_baseline.a.p/loops_minmax.dispatch.c'
      [54/297] Compiling C object numpy/core/libnpymath.a.p/meson-generated_ieee754.c.o
      FAILED: numpy/core/libnpymath.a.p/meson-generated_ieee754.c.o
      gcc -Inumpy/core/libnpymath.a.p -Inumpy/core -I../../numpy/core -Inumpy/core/include -I../../numpy/core/include -I../../numpy/core/src/npymath -I../../numpy/core/src/common -I/edi/toolset/python_3.11.7/include/python3.11 -I/tmp/pip-install-brellt23/numpy_e6fbbe8a9c6a405993b710eef5fe66bd/.mesonpy-0mzqb678/build/meson_cpu -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c99 -O3 -fno-strict-aliasing -fPIC -MD -MQ numpy/core/libnpymath.a.p/meson-generated_ieee754.c.o -MF numpy/core/libnpymath.a.p/meson-generated_ieee754.c.o.d -o numpy/core/libnpymath.a.p/meson-generated_ieee754.c.o -c numpy/core/libnpymath.a.p/ieee754.c
      In file included from /edi/toolset/python_3.11.7/include/python3.11/Python.h:38,
                       from ../../numpy/core/src/npymath/npy_math_common.h:4,
                       from ../../numpy/core/src/npymath/ieee754.c.src:7:
      /edi/toolset/python_3.11.7/include/python3.11/pyport.h:596:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
        596 | #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
            |  ^~~~~
      [55/297] Generating 'numpy/core/libloops_unary_fp_le.dispatch.h_baseline.a.p/loops.h'
      [56/297] Generating 'numpy/core/libloops_unary_complex.dispatch.h_baseline.a.p/loops.h'
      [57/297] Generating 'numpy/core/libloops_autovec.dispatch.h_baseline.a.p/loops_utils.h'
      [58/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/arraytypes.h'
      [59/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/npy_sort.h'
      [60/297] Generating 'numpy/core/libloops_unary_complex.dispatch.h_baseline.a.p/loops_unary_complex.dispatch.c'
      [61/297] Generating 'numpy/core/libloops_unary.dispatch.h_baseline.a.p/loops_unary.dispatch.c'
      [62/297] Generating 'numpy/core/libloops_unary_fp.dispatch.h_baseline.a.p/loops_unary_fp.dispatch.c'
      [63/297] Generating 'numpy/core/libloops_autovec.dispatch.h_baseline.a.p/loops_autovec.dispatch.c'
      [64/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/einsum.c'
      [65/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/templ_common.h'
      [66/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/loops_utils.h'
      [67/297] Generating 'numpy/core/libloops_autovec.dispatch.h_baseline.a.p/loops.h'
      [68/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/funcs.inc'
      [69/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/matmul.c'
      [70/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/matmul.h'
      [71/297] Generating 'numpy/core/lib_simd.dispatch.h_baseline.a.p/_simd_inc.h'
      [72/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/scalartypes.c'
      [73/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/loops.h'
      [74/297] Compiling C object numpy/core/libnpymath.a.p/src_npymath_npy_math.c.o
      FAILED: numpy/core/libnpymath.a.p/src_npymath_npy_math.c.o
      gcc -Inumpy/core/libnpymath.a.p -Inumpy/core -I../../numpy/core -Inumpy/core/include -I../../numpy/core/include -I../../numpy/core/src/npymath -I../../numpy/core/src/common -I/edi/toolset/python_3.11.7/include/python3.11 -I/tmp/pip-install-brellt23/numpy_e6fbbe8a9c6a405993b710eef5fe66bd/.mesonpy-0mzqb678/build/meson_cpu -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c99 -O3 -fno-strict-aliasing -fPIC -MD -MQ numpy/core/libnpymath.a.p/src_npymath_npy_math.c.o -MF numpy/core/libnpymath.a.p/src_npymath_npy_math.c.o.d -o numpy/core/libnpymath.a.p/src_npymath_npy_math.c.o -c ../../numpy/core/src/npymath/npy_math.c
      In file included from /edi/toolset/python_3.11.7/include/python3.11/Python.h:38,
                       from ../../numpy/core/src/npymath/npy_math_private.h:21,
                       from ../../numpy/core/src/npymath/npy_math_internal.h.src:56,
                       from ../../numpy/core/src/npymath/npy_math.c:9:
      /edi/toolset/python_3.11.7/include/python3.11/pyport.h:596:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
        596 | #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
            |  ^~~~~
      [75/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/nditer_templ.c'
      [76/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/loops.c'
      [77/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/scalarmath.c'
      [78/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/arraytypes.c'
      [79/297] Generating numpy/core/__multiarray_api with a custom command
      [80/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/einsum_sumprod.c'
      [81/297] Generating 'numpy/core/_multiarray_umath.cpython-311.so.p/lowlevel_strided_loops.c'
      [82/297] Compiling C++ object numpy/core/libnpymath.a.p/src_npymath_halffloat.cpp.o
      FAILED: numpy/core/libnpymath.a.p/src_npymath_halffloat.cpp.o
      c++ -Inumpy/core/libnpymath.a.p -Inumpy/core -I../../numpy/core -Inumpy/core/include -I../../numpy/core/include -I../../numpy/core/src/npymath -I../../numpy/core/src/common -I/edi/toolset/python_3.11.7/include/python3.11 -I/tmp/pip-install-brellt23/numpy_e6fbbe8a9c6a405993b710eef5fe66bd/.mesonpy-0mzqb678/build/meson_cpu -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++17 -O3 -fPIC -MD -MQ numpy/core/libnpymath.a.p/src_npymath_halffloat.cpp.o -MF numpy/core/libnpymath.a.p/src_npymath_halffloat.cpp.o.d -o numpy/core/libnpymath.a.p/src_npymath_halffloat.cpp.o -c ../../numpy/core/src/npymath/halffloat.cpp
      In file included from /edi/toolset/python_3.11.7/include/python3.11/Python.h:38,
                       from ../../numpy/core/include/numpy/halffloat.h:4,
                       from ../../numpy/core/src/npymath/halffloat.cpp:10:
      /edi/toolset/python_3.11.7/include/python3.11/pyport.h:596:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
        596 | #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
            |  ^~~~~
      ninja: build stopped: subcommand failed.
      [end of output]

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

    Encountered error while generating package metadata.

    See above for output.

    note: This is an issue with the package mentioned above, not pip.
    hint: See above for details.



    ------------------------------
    Volker Demand
    ------------------------------



  • 2.  RE: Python 3.11.7 : LONG_BIT issue building numpy 1.26

    Posted Wed January 10, 2024 09:14 AM

    I think your python3.11 build is 32bit. LONG_BIT is defined as 32 as per AIX system headers for 32bit build. 
    The 8 * SIZEOF_LONG (which is 4 here ) should be equal to LONG_BIT. May be LONG_BIT is coming from somewhere else ( numpy ?) during the compilation.



    ------------------------------
    Ayappan P
    ------------------------------



  • 3.  RE: Python 3.11.7 : LONG_BIT issue building numpy 1.26

    Posted Thu January 11, 2024 01:09 AM

    This was actually my first though, but checking the configure output and the compiler flags (and binaries of course) it is 64bit. 

    python3.11: 64-bit XCOFF executable or object module not stripped

    Also it seems the python 3.11.7 configure detects the long correctly as 8 bytes 

    checking size of int... 4
    checking size of long... 8
    checking alignment of long... 8
    checking size of long long... 8

    but 'somehow' the numpy build does detect the size of 4 bytes (original post). 

    After some try & error with running the setup.py inplace I noticed two things : 

    -> it seems the architecture is not correctly detected 

    -> somehow 'c++' command is duplicate in execution string 

    With breakpoints set I noticed that the code is trying to pattern match the architecture agains strings : 

    however get_platform() returns something completely different: 

    (Pdb) get_platform()
    'aix-7205-2135-64'

    So changing the code to verify : 

    Now platform is detected correct - but as of now still no idea where the duplicate 'c++ c++' string comes from : 



    ------------------------------
    Volker Demand
    ------------------------------



  • 4.  RE: Python 3.11.7 : LONG_BIT issue building numpy 1.26

    Posted Thu January 11, 2024 01:34 AM

    I don't see "-maix64" getting passed during the numpy compilation. Python module compilation depends on the python's build flags. Are you manually setting any CC or any flags ?



    ------------------------------
    Ayappan P
    ------------------------------



  • 5.  RE: Python 3.11.7 : LONG_BIT issue building numpy 1.26

    Posted Thu January 11, 2024 01:43 AM

    "-maix64" was set in the CC variable for the pythob build  (with other flags that might not be needed) :

    export CC="/opt/freeware/bin/gcc-10 -fPIC -maix64 -mpowerpc64 -mcpu=native"

    it also appears in the output of the numpy build : 



    ------------------------------
    Volker Demand
    ------------------------------



  • 6.  RE: Python 3.11.7 : LONG_BIT issue building numpy 1.26

    Posted Thu January 11, 2024 01:53 AM

    The earlier build log is not showing -maix64 with gcc. 



    ------------------------------
    Ayappan P
    ------------------------------



  • 7.  RE: Python 3.11.7 : LONG_BIT issue building numpy 1.26

    Posted Thu January 11, 2024 02:00 AM

    Just to complete the log info ... ./configure outout of the python build 



    ------------------------------
    Volker Demand
    ------------------------------