Skip to content

Invalid Intel-host ARM64-target cross-compilation flag -m128bit-long-double  #3659

Closed
@matthew-brett

Description

@matthew-brett

We (Numpy / Scipy) are compiling OpenBLAS binaries over at https://github.com/MacPython/openblas-libs . Our arm64 builds are failing in Github Actions - e.g. https://github.com/MacPython/openblas-libs/runs/6832414065?step:7:1321

The error is:

arm64-apple-darwin20.0.0-gfortran: error: unrecognized command-line option ‘-m128bit-long-double’

I think this is a problem in OpenBLAS cross-compilation support. The -m128bit-long-double flag arises either around https://github.com/xianyi/OpenBLAS/blob/develop/Makefile.system#L536 or around https://github.com/xianyi/OpenBLAS/blob/develop/cmake/arch.cmake#L18

I believe the problem is that the NO_EXPRECISION Makefile variable is set to 0 (yes, there is extended precision) when compiling on an Intel host, but it should be set only when compiling for an Intel target.

Is that analysis right?

Should NO_EXPRECISION be set to 0 for arm64 targets?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions