Tuesday, April 30, 2019

math/lapack update to 3.8.0 (was: Re: CVS: cvs.openbsd.org: ports)

On Tue, Apr 30 2019, Landry Breuil <landry@openbsd.org> wrote:
> On Tue, Apr 30, 2019 at 01:49:49PM +0200, Landry Breuil wrote:
>> On Sat, Apr 27, 2019 at 11:00:10AM +0200, Landry Breuil wrote:
>> > On Wed, Apr 24, 2019 at 09:30:31AM -0600, Steven Mestdagh wrote:
>> > > CVSROOT: /cvs
>> > > Module name: ports
>> > > Changes by: steven@cvs.openbsd.org 2019/04/24 09:30:31
>> > >
>> > > Modified files:
>> > > math/lapack : Makefile distinfo
>> > > math/lapack/files: Makefile
>> > > math/lapack/pkg: PLIST
>> > >
>> > > Log message:
>> > > update to 3.8.0
>> >
>> > It seems this has side-effects on py-numpy, which complains on a missing
>> > symbol now:
>> >
>> > python2 -c 'import numpy'
>> > python2:/usr/local/lib/liblapack.so.7.0: undefined symbol
>> > 'ilaenv2stage_'
>> >
>> > same with python3, and this breaks geo/pdal configure via cmake (seen by
>> > naddy@ and ajacoutot@)
>> >
>> > steven, can you investigate ?
>>
>> it also shows with rio from geo/rasterio:
>>
>> $rio
>> python2.7:/usr/local/lib/liblapack.so.7.0: undefined symbol 'ilaenv2stage_'
>>
>> i had a quick look but my fortran fu is lacking.
>>
> sthen found https://bugzilla.redhat.com/show_bug.cgi?id=1514512 which
> points at
> https://src.fedoraproject.org/rpms/lapack/c/4ec46f8519f085bedb8ae9c16aa32b981e0d7004?branch=master
> but we already have ilaenv2stage.o in ALLAUX in objdir/Makefile soooo i
> dont see what can be wrong here. lld ?

Our port uses its own Makefile instead of reusing upstream's build
system so it needs to be kept in sync. Steven only missed one change in
the update to 3.8.0:

> --- lapack-3.7.1/SRC/Makefile Sun Jun 18 00:46:53 2017
> +++ lapack-3.8.0/SRC/Makefile Mon Nov 13 05:15:54 2017
> @@ -56,7 +56,8 @@
> #
> #######################################################################
>
> -ALLAUX = ilaenv.o ieeeck.o lsamen.o xerbla.o xerbla_array.o iparmq.o iparam2stage.o \
> +ALLAUX = ilaenv.o ilaenv2stage.o ieeeck.o lsamen.o xerbla.o xerbla_array.o \
> + iparmq.o iparam2stage.o \

Here ^

> ilaprec.o ilatrans.o ilauplo.o iladiag.o chla_transtype.o \
> ../INSTALL/ilaver.o ../INSTALL/lsame.o ../INSTALL/slamch.o
>
> @@ -151,6 +152,7 @@
> ssytf2_rk.o ssytrf_rk.o ssytrs_3.o \
> ssytri_3.o ssytri_3x.o ssycon_3.o ssysv_rk.o \
> slasyf_aa.o ssysv_aa.o ssytrf_aa.o ssytrs_aa.o \
> + ssysv_aa_2stage.o ssytrf_aa_2stage.o ssytrs_aa_2stage.o \
> stbcon.o \
> stbrfs.o stbtrs.o stgevc.o stgex2.o stgexc.o stgsen.o \
> stgsja.o stgsna.o stgsy2.o stgsyl.o stpcon.o stprfs.o stptri.o \
> @@ -212,6 +214,7 @@
> chetf2_rk.o chetrf_rk.o chetri_3.o chetri_3x.o \
> chetrs_3.o checon_3.o chesv_rk.o \
> chesv_aa.o chetrf_aa.o chetrs_aa.o clahef_aa.o \
> + chesv_aa_2stage.o chetrf_aa_2stage.o chetrs_aa_2stage.o \
> chgeqz.o chpcon.o chpev.o chpevd.o \
> chpevx.o chpgst.o chpgv.o chpgvd.o chpgvx.o chprfs.o chpsv.o \
> chpsvx.o \
> @@ -248,6 +251,7 @@
> csytri_rook.o csycon_rook.o csysv_rook.o \
> csytf2_rk.o csytrf_rk.o csytrf_aa.o csytrs_3.o csytrs_aa.o \
> csytri_3.o csytri_3x.o csycon_3.o csysv_rk.o csysv_aa.o \
> + csysv_aa_2stage.o csytrf_aa_2stage.o csytrs_aa_2stage.o \
> ctbcon.o ctbrfs.o ctbtrs.o ctgevc.o ctgex2.o \
> ctgexc.o ctgsen.o ctgsja.o ctgsna.o ctgsy2.o ctgsyl.o ctpcon.o \
> ctprfs.o ctptri.o \
> @@ -345,6 +349,7 @@
> dsytf2_rk.o dsytrf_rk.o dsytrs_3.o \
> dsytri_3.o dsytri_3x.o dsycon_3.o dsysv_rk.o \
> dlasyf_aa.o dsysv_aa.o dsytrf_aa.o dsytrs_aa.o \
> + dsysv_aa_2stage.o dsytrf_aa_2stage.o dsytrs_aa_2stage.o \
> dtbcon.o dtbrfs.o dtbtrs.o dtgevc.o dtgex2.o dtgexc.o dtgsen.o \
> dtgsja.o dtgsna.o dtgsy2.o dtgsyl.o dtpcon.o dtprfs.o dtptri.o \
> dtptrs.o \
> @@ -405,6 +410,7 @@
> zhetf2_rk.o zhetrf_rk.o zhetri_3.o zhetri_3x.o \
> zhetrs_3.o zhecon_3.o zhesv_rk.o \
> zhesv_aa.o zhetrf_aa.o zhetrs_aa.o zlahef_aa.o \
> + zhesv_aa_2stage.o zhetrf_aa_2stage.o zhetrs_aa_2stage.o \
> zhgeqz.o zhpcon.o zhpev.o zhpevd.o \
> zhpevx.o zhpgst.o zhpgv.o zhpgvd.o zhpgvx.o zhprfs.o zhpsv.o \
> zhpsvx.o \
> @@ -441,6 +447,7 @@
> zsyconv.o zsyconvf.o zsyconvf_rook.o \
> zsytf2_rook.o zsytrf_rook.o zsytrs_rook.o zsytrs_aa.o \
> zsytri_rook.o zsycon_rook.o zsysv_rook.o \
> + zsysv_aa_2stage.o zsytrf_aa_2stage.o zsytrs_aa_2stage.o \
> zsytf2_rk.o zsytrf_rk.o zsytrf_aa.o zsytrs_3.o \
> zsytri_3.o zsytri_3x.o zsycon_3.o zsysv_rk.o zsysv_aa.o \
> ztbcon.o ztbrfs.o ztbtrs.o ztgevc.o ztgex2.o \


Here's a diff to address this issue. No more warning about missing
ilaenv2stage_ with

python2 -c 'import numpy'

ok?


Index: Makefile
===================================================================
RCS file: /cvs/ports/math/lapack/Makefile,v
retrieving revision 1.29
diff -u -p -r1.29 Makefile
--- Makefile 28 Apr 2019 21:08:27 -0000 1.29
+++ Makefile 30 Apr 2019 12:42:23 -0000
@@ -4,9 +4,9 @@ COMMENT= library of Fortran linear algeb

VERSION= 3.8.0
DISTNAME= lapack-${VERSION}
-REVISION= 0
+REVISION= 1

-SHARED_LIBS= lapack 7.0
+SHARED_LIBS= lapack 7.1

CATEGORIES= math
DISTFILES= ${DISTNAME}.tar.gz manpages.tgz:0
Index: files/Makefile
===================================================================
RCS file: /cvs/ports/math/lapack/files/Makefile,v
retrieving revision 1.8
diff -u -p -r1.8 Makefile
--- files/Makefile 24 Apr 2019 15:30:31 -0000 1.8
+++ files/Makefile 30 Apr 2019 12:42:23 -0000
@@ -4,8 +4,9 @@ LIB = lapack

TIMER = INT_ETIME

-ALLAUX = ilaenv.f ieeeck.f lsamen.f xerbla.f xerbla_array.f iparmq.f \
- iparam2stage.f ilaprec.f ilatrans.f ilauplo.f iladiag.f chla_transtype.f \
+ALLAUX = ilaenv.f ilaenv2stage.f ieeeck.f lsamen.f xerbla.f xerbla_array.f \
+ iparmq.f iparam2stage.f \
+ ilaprec.f ilatrans.f ilauplo.f iladiag.f chla_transtype.f \
../INSTALL/ilaver.f ../INSTALL/lsame.f ../INSTALL/slamch.f

SCLAUX = \

--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE

No comments:

Post a Comment