[MacPorts] #63072: py39-numpy @1.20.3_0+gcc11+openblas fails to build on aarch64

MacPorts noreply at macports.org
Mon Dec 27 18:55:05 UTC 2021


#63072: py39-numpy @1.20.3_0+gcc11+openblas fails to build on aarch64
-----------------------------+-----------------------
  Reporter:  thermalecology  |      Owner:  michaelld
      Type:  defect          |     Status:  reopened
  Priority:  Normal          |  Milestone:
 Component:  ports           |    Version:  2.7.1
Resolution:                  |   Keywords:  arm64
      Port:  py-numpy        |
-----------------------------+-----------------------

Comment (by Guymer):

 Hi,

 Given the whole `gcc-devel` versus `gcc11` thing I thought that I should
 double check that the log file wasn't from an old installation attempt. I
 just did:

 {{{
 sh-3.2# port sync
 sh-3.2# port clean py39-numpy
 sh-3.2# port install py39-numpy
 }}}

 It failed again (this time I won't trim the `grep` output):

 {{{
 sh-3.2# grep error
 /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-numpy/py39-numpy/main.log
 :debug:archivefetch Fetching archive failed: The requested URL returned
 error: 404
 :debug:archivefetch Fetching archive failed: The requested URL returned
 error: 404
 :debug:archivefetch Fetching archive failed: The requested URL returned
 error: 404
 :info:build copying numpy/core/tests/test_indexerrors.py ->
 build/lib.macosx-12.0-arm64-3.9/numpy/core/tests
 :info:build CCompilerOpt.cc_test_flags[1013] : testing flags (-Werror)
 :info:build extra options: '-Werror'
 :info:build extra options: '-Werror'
 :info:build extra options: '-Werror'
 :info:build extra options: '-Werror'
 :info:build extra options: '-Werror'
 :info:build extra options: '-march=armv8.2-a+fp16 -Werror'
 :info:build extra options: '-march=armv8.2-a+fp16+fp16fml -Werror'
 :info:build CCompilerOpt.dist_test[581] :
 CCompilerOpt._dist_test_spawn[716] : Command
 (/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/compwrap/cc/opt/local/bin/gcc-mp-11 -Wno-unused-
 result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g
 -fwrapv -O3 -Wall -pipe -Os
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch arm64
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
 -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 -Inumpy/core/src/_simd
 -I/opt/local/Library/Frameworks/Python.framework/Versions/3.9/include/python3.9
 -Ibuild/src.macosx-12.0-arm64-3.9/numpy/core/src/common
 -Ibuild/src.macosx-12.0-arm64-3.9/numpy/core/src/npymath -c
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/numpy-1.21.5/numpy/distutils/checks/cpu_asimdfhm.c
 -o
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/.tmp/tmp4vsk12ia/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/numpy-1.21.5/numpy/distutils/checks/cpu_asimdfhm.o
 -MMD -MF
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/.tmp/tmp4vsk12ia/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/numpy-1.21.5/numpy/distutils/checks/cpu_asimdfhm.o.d
 -march=armv8.2-a+fp16+fp16fml -Werror) failed with exit status 1 output ->
 :info:build
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/numpy-1.21.5/numpy/distutils/checks/cpu_asimdfhm.c:13:35:
 error: implicit declaration of function 'vfmlal_low_u32'; did you mean
 'vfmlal_low_f16'? [-Werror=implicit-function-declaration]
 :info:build
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/numpy-1.21.5/numpy/distutils/checks/cpu_asimdfhm.c:13:35:
 error: incompatible type for argument 1 of 'vget_lane_f32'
 :info:build
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/numpy-1.21.5/numpy/distutils/checks/cpu_asimdfhm.c:14:36:
 error: implicit declaration of function 'vfmlslq_high_u32'; did you mean
 'vmlsl_high_u32'? [-Werror=implicit-function-declaration]
 :info:build
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/numpy-1.21.5/numpy/distutils/checks/cpu_asimdfhm.c:14:36:
 error: incompatible type for argument 1 of 'vgetq_lane_f32'
 :info:build cc1: all warnings being treated as errors
 :info:build extra options: '-march=armv8.2-a+dotprod -Werror'
 :info:build CCompilerOpt.dist_test[581] :
 CCompilerOpt._dist_test_spawn[716] : Command
 (/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/compwrap/cc/opt/local/bin/gcc-mp-11 -Wno-unused-
 result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g
 -fwrapv -O3 -Wall -pipe -Os
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch arm64
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
 -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 -Inumpy/core/src/_simd
 -I/opt/local/Library/Frameworks/Python.framework/Versions/3.9/include/python3.9
 -Ibuild/src.macosx-12.0-arm64-3.9/numpy/core/src/common
 -Ibuild/src.macosx-12.0-arm64-3.9/numpy/core/src/npymath -c
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/numpy-1.21.5/numpy/distutils/checks/cpu_asimddp.c -o
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/.tmp/tmp4vsk12ia/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/numpy-1.21.5/numpy/distutils/checks/cpu_asimddp.o
 -MMD -MF
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/.tmp/tmp4vsk12ia/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/numpy-1.21.5/numpy/distutils/checks/cpu_asimddp.o.d
 -march=armv8.2-a+dotprod -Werror) failed with exit status 1 output ->
 :info:build <stdin>:29:2: error: instruction requires: dotprod
 :info:build <stdin>:41:2: error: instruction requires: dotprod
 :info:build CCompilerOpt._parse_policy_werror[2095] : compiler warnings
 are treated as errors
 :info:build extra options: '-Werror -march=armv8.2-a+fp16'
 :info:build /opt/local/lib/gcc11/gcc/arm64-apple-darwin21/11.2.0/include-
 fixed/math.h:68:5: error: #error "Unsupported value of
 __FLT_EVAL_METHOD__."
 :info:build    68 | #   error "Unsupported value of __FLT_EVAL_METHOD__."
 :info:build error: Command
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-
 numpy/py39-numpy/work/compwrap/cc/opt/local/bin/gcc-mp-11 -Wno-unused-
 result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g
 -fwrapv -O3 -Wall -pipe -Os
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch arm64
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
 -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-12.0-arm64-3.9/numpy/core/include/numpy
 -Ibuild/src.macosx-12.0-arm64-3.9/numpy/distutils/include
 -Ibuild/src.macosx-12.0-arm64-3.9/numpy/core/src/umath
 -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 -Inumpy/core/src/_simd
 -I/opt/local/Library/Frameworks/Python.framework/Versions/3.9/include/python3.9
 -Ibuild/src.macosx-12.0-arm64-3.9/numpy/core/src/common
 -Ibuild/src.macosx-12.0-arm64-3.9/numpy/core/src/npymath -c
 build/src.macosx-12.0-arm64-3.9/numpy/core/src/umath/_umath_tests.dispatch.asimdhp.c
 -o
 build/temp.macosx-12.0-arm64-3.9/build/src.macosx-12.0-arm64-3.9/numpy/core/src/umath/_umath_tests.dispatch.asimdhp.o
 -MMD -MF
 build/temp.macosx-12.0-arm64-3.9/build/src.macosx-12.0-arm64-3.9/numpy/core/src/umath/_umath_tests.dispatch.asimdhp.o.d
 -Werror -march=armv8.2-a+fp16" failed with exit status 1
 :error:build Failed to build py39-numpy: command execution failed
 :error:build See
 /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports
 .org_macports_release_tarballs_ports_python_py-numpy/py39-numpy/main.log
 for details.
 }}}

 I think that there are two sets of matches that are of note here:

 1. the `error: implicit declaration of function ...` ones; and
 2. the `error "Unsupported value of __FLT_EVAL_METHOD__."` one.

 If I list the `/opt/local/lib` folder then I get:

 {{{
 sh-3.2# ls -hl /opt/local/lib | grep gcc
 drwxr-xr-x   36 root      admin   1.1K 26 Dec 08:26 gcc11
 drwxr-xr-x   10 root      admin   320B 26 Dec 08:25 libgcc
 lrwxr-xr-x    1 root      admin    24B 24 Dec 16:22 libstdc++.6.dylib ->
 libgcc/libstdc++.6.dylib
 drwxr-xr-x   40 root      admin   1.3K 26 Dec 11:13 openmpi-gcc11
 }}}

 Which makes more sense. Clearly the log output from message comment:9 was
 an old build attempt, I am sorry for that - that was my mistake. In answer
 to your question about `FLT_EVAL_METHOD`:

 {{{
 sh-3.2# grep -A 4 -B 4 FLT_EVAL_METHOD /opt/local/lib/gcc11/gcc/arm64
 -apple-darwin21/11.2.0/include-fixed/math.h
  * Floating point data types
 *
 ******************************************************************************/

 /*  Define float_t and double_t per C standard, ISO/IEC 9899:2011 7.12 2,
     taking advantage of GCC's __FLT_EVAL_METHOD__ (which a compiler may
     define anytime and GCC does) that shadows FLT_EVAL_METHOD (which a
     compiler must define only in float.h).
 */
 #if __FLT_EVAL_METHOD__ == 0
     typedef float float_t;
     typedef double double_t;
 #elif __FLT_EVAL_METHOD__ == 1
     typedef double float_t;
     typedef double double_t;
 #elif __FLT_EVAL_METHOD__ == 2 || __FLT_EVAL_METHOD__ == -1
     typedef long double float_t;
     typedef long double double_t;
 #else /* __FLT_EVAL_METHOD__ */
 #   error "Unsupported value of __FLT_EVAL_METHOD__."
 #endif /* __FLT_EVAL_METHOD__ */

 #if defined(__GNUC__)
 #   define    HUGE_VAL     __builtin_huge_val()
 #   define    HUGE_VALF    __builtin_huge_valf()
 }}}

 Thanks

-- 
Ticket URL: <https://trac.macports.org/ticket/63072#comment:13>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list