On Thu, Jan 03, 2019 at 03:46:30PM +0100, Pascal Stumpf wrote:

> On Thu, 3 Jan 2019 13:50:26 +0100, Otto Moerbeek wrote:
> > Hi,
> > 
> > currently, boost does not build on arm64, since there is dependency of
> > boost on py-numpy. py-numpy is not available since building it
> > requires a fortran compiler (g95 in gcc 4.9) which is not available on
> > arm64, therefore boost is not build:
> > 
> > ===> py-numpy-1.14.6 depends on: g95->=4.9.4p0,<4.10 - not found
> > ===>  Verifying install for g95->=4.9.4p0,<4.10 in lang/gcc/4.9
> > ===>  g95-4.9.4p15   is only for alpha amd64 arm hppa i386 mips64
> > mips64el powerpc sparc64, not aarch64 (arm64) .
> > 
> > If I comment out the dependency and adapt the plist with a big hammer,
> > I can build boost and boost-md and it runs fine.
> > 
> > What is the best way to handle this in ports? 
> 
> GCC 8.2.0 works fine on aarch64.  As soon as someone ok's the import, we
> could try having ports-gcc and fortran use lang/gcc/8 on arm64.

That is good news. I'm not the person to OK it, though,

        -Otto

> 
> Alternatively, there's lang/flang (LLVM-based), but that doesn't work on
> aarch64 yet either ...
> 
> > Is there a nice way to say:
> > 
> >     if libnumpy is not avaialable
> >             skip this dependency and adapt the plist
> > 
> > or alternatively, if no fortran compiler is available?
> > 
> > I have attached my big hammer diff, but that is obviously not the way
> > to do it,
> > 
> >     -Otto
> > 
> > Index: Makefile
> > ===================================================================
> > RCS file: /cvs/ports/devel/boost/Makefile,v
> > retrieving revision 1.79
> > diff -u -p -r1.79 Makefile
> > --- Makefile        24 Dec 2018 23:34:27 -0000      1.79
> > +++ Makefile        29 Dec 2018 15:46:42 -0000
> > @@ -82,15 +82,18 @@ MODULES=        lang/python
> >  MODPY_RUNDEP=      No
> >  
> >  BUILD_DEPENDS+=    lang/python/${MODPY_DEFAULT_VERSION_2} \
> > -           lang/python/${MODPY_DEFAULT_VERSION_3} \
> > -           math/py-numpy
> > +           lang/python/${MODPY_DEFAULT_VERSION_3}
> >  
> >  LIB_DEPENDS=       archivers/bzip2 \
> >             textproc/icu4c
> >  
> >  .include <bsd.port.arch.mk>
> > -.if !(${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" || 
> > ${MACHINE_ARCH} == "arm")
> > +.if !(${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" || 
> > ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "aarch64")
> >  BUILD_PACKAGES=    ${MULTI_PACKAGES:N-md}
> > +.endif
> > +
> > +.if (${MACHINE_ARCH} != "aarch64")
> > +BUILD_DEPENDS+= math/py-numpy
> >  .endif
> >  
> >  .if ${PROPERTIES:Mclang}
> > Index: pkg/PLIST-main
> > ===================================================================
> > RCS file: /cvs/ports/devel/boost/pkg/PLIST-main,v
> > retrieving revision 1.6
> > diff -u -p -r1.6 PLIST-main
> > --- pkg/PLIST-main  13 Dec 2018 19:52:46 -0000      1.6
> > +++ pkg/PLIST-main  29 Dec 2018 15:46:42 -0000
> > @@ -14098,10 +14098,6 @@ lib/libboost_math_tr1l-mt.a
> >  @lib lib/libboost_math_tr1l-mt.so.${LIBboost_math_tr1l-mt_VERSION}
> >  lib/libboost_math_tr1l.a
> >  @lib lib/libboost_math_tr1l.so.${LIBboost_math_tr1l_VERSION}
> > -lib/libboost_num${MODPY_PY_PREFIX}mt.a
> > -@lib lib/libboost_num${MODPY_PY_PREFIX}mt.so.${LIBboost_numpy-mt_VERSION}
> > -lib/libboost_numpy.a
> > -@lib lib/libboost_numpy.so.${LIBboost_numpy_VERSION}
> >  lib/libboost_prg_exec_monitor-mt.a
> >  @lib 
> > lib/libboost_prg_exec_monitor-mt.so.${LIBboost_prg_exec_monitor-mt_VERSION}
> >  lib/libboost_prg_exec_monitor.a
> > 
> > 
> > 

Reply via email to