Am 21.05.19 um 15:34 schrieb Martin Reindl:
> On Fri, May 17, 2019 at 06:45:29AM -0600, [email protected] wrote:
>> http://build-failures.rhaalovely.net/aarch64/2019-05-13/math/py-scipy.log
>
> Pick up gfortran for py-scipy on arm64.
> macppc and amd64 are still happy.
>
> -m
>
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/math/py-scipy/Makefile,v
> retrieving revision 1.40
> diff -u -p -u -p -r1.40 Makefile
> --- Makefile 1 May 2019 12:12:24 -0000 1.40
> +++ Makefile 21 May 2019 13:20:10 -0000
> @@ -5,7 +5,7 @@ COMMENT= maths, science and engineering
> MODPY_EGG_VERSION= 1.2.1
> DISTNAME= scipy-${MODPY_EGG_VERSION}
> PKGNAME= py-${DISTNAME}
> -REVISION= 2
> +REVISION= 3
>
> # XXX gcc 8 issue:
> # ld: error: dfft_subr_6.f:(.debug_loc+0x2A7D): has non-ABS relocation
> R_386_GOTOFF against symbol 'ntryh.3712'
> @@ -23,8 +23,6 @@ PERMIT_PACKAGE_CDROM= Yes
>
> WANTLIB += ${MODFORTRAN_WANTLIB} ${MODPY_WANTLIB}
> WANTLIB += blas lapack m pthread ${COMPILER_LIBCXX} util
> -
> -COMPILER = base-clang ports-gcc base-gcc
>
> HOMEPAGE= https://scipy.org/
>
>
Digging deeper here. This is my interpretation, please correct me if I
am wrong:
On aarch64, the current COMPILER line expands to:
- base-clang: no fortran suport, no compiler link is set up
- ports-gcc: aarch64 is not in GCC49_ARCHS, no compiler link is set up
(gcc4.9 had no fortran for aarch64 anyway)
- base-gcc: does not match on clang arch
math/R works around this by using flang, but ports-gcc has moved from
4.9 to 8 now and gained fortran support for aarch64. So really,
ports/infrastructure/mk should also transition from GCC49 to GCC8.
Here is a quick hack to see if I am moving in the right direction (at
least this makes py-scipy on aarch64 work without the above diff).
Opinions?
Index: arch-defines.mk
===================================================================
RCS file: /cvs/ports/infrastructure/mk/arch-defines.mk,v
retrieving revision 1.64
diff -u -p -r1.64 arch-defines.mk
--- arch-defines.mk 11 May 2019 12:05:46 -0000 1.64
+++ arch-defines.mk 27 May 2019 18:52:04 -0000
@@ -36,7 +36,7 @@ LLD_ARCHS = aarch64 amd64 arm i386
# as well as available for PROPERTIES checks.
LLVM_ARCHS = aarch64 amd64 arm i386 mips64 mips64el powerpc sparc64
# arches where gcc4.9 exists. To be used again for modules
-GCC49_ARCHS =alpha amd64 arm hppa i386 mips64 mips64el powerpc sparc64
+GCC49_ARCHS = aarch64 alpha amd64 arm hppa i386 mips64 mips64el powerpc
sparc64
# arches where there is a C++11 compiler, either clang in base or gcc4
CXX11_ARCHS = ${CLANG_ARCHS} ${GCC49_ARCHS}