From owner-freebsd-ports-bugs@FreeBSD.ORG Fri Apr 6 19:10:02 2012 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D4FC9106567A for ; Fri, 6 Apr 2012 19:10:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 972378FC1C for ; Fri, 6 Apr 2012 19:10:02 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q36JA24X068404 for ; Fri, 6 Apr 2012 19:10:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q36JA2SZ068403; Fri, 6 Apr 2012 19:10:02 GMT (envelope-from gnats) Resent-Date: Fri, 6 Apr 2012 19:10:02 GMT Resent-Message-Id: <201204061910.q36JA2SZ068403@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Oliver Hartmann Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCC8B106564A for ; Fri, 6 Apr 2012 19:08:49 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id A5D168FC08 for ; Fri, 6 Apr 2012 19:08:49 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.4/8.14.4) with ESMTP id q36J8nq5056780 for ; Fri, 6 Apr 2012 19:08:49 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id q36J8nJI056779; Fri, 6 Apr 2012 19:08:49 GMT (envelope-from nobody) Message-Id: <201204061908.q36J8nJI056779@red.freebsd.org> Date: Fri, 6 Apr 2012 19:08:49 GMT From: Oliver Hartmann To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: ports/166703: math/superlu: shared library is not created correctly X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Apr 2012 19:10:02 -0000 >Number: 166703 >Category: ports >Synopsis: math/superlu: shared library is not created correctly >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Apr 06 19:10:02 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Oliver Hartmann >Release: FreeBSD 9.-STABLE/amd64 and FreeBSD 10-CURRENT/amd64 >Organization: FU Berlin >Environment: >Description: The way the shared library of math/superlu is created, is nonsense (I recommended/sent pacth to do so, sorry for the bullshit). Attached, you'll find some changes to the port that, hopefully, correct this. Please reviev the new "making of" ... Regards, Oliver >How-To-Repeat: >Fix: Patch attached with submission follows: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # ./ # ./Makefile # ./distinfo # ./pkg-descr # ./pkg-plist # ./files # ./files/patch-SRC+sp_coletree.c # ./files/patch-SRC-Makefile # ./files/patch-make.inc # echo c - ./ mkdir -p ./ > /dev/null 2>&1 echo x - ./Makefile sed 's/^X//' >./Makefile << '464ef7c6571951809b23e262cbe26e19' X# New ports collection makefile for: SuperLU X# Date created: 31 Oct 97 X# Whom: Pedro Giffuni X# X# $FreeBSD: ports/math/superlu/Makefile,v 1.43 2012/03/14 01:44:04 maho Exp $ X# X XPORTNAME= superlu XPORTREVISION= 4 XDISTVERSION= ${P_VERSION}.20060201 XCATEGORIES= math XMASTER_SITES= http://crd.lbl.gov/~xiaoye/SuperLU/ \ X http://crd.lbl.gov/~xiaoye/:doc XDISTNAME= ${PORTNAME}_${P_VERSION} X.ifndef NOPORTDOCS XDISTFILES= ${DISTNAME}${EXTRACT_SUFX} superlu_ug.pdf SLU_general.ps.gz:doc simax95.ps.gz:doc X.endif XDIST_SUBDIR= ${PORTNAME} XEXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} X XMAINTAINER= maho@FreeBSD.org XCOMMENT= A library of routines for performing sparse factorization X X.include X X.if exists(${LOCALBASE}/lib/libgoto2.so) XWITH_BLAS?= gotoblas X.elif exists(${LOCALBASE}/lib/libatlas.so) XWITH_BLAS?= atlas X.else XWITH_BLAS?= reference X.endif X X. if ${WITH_BLAS} == reference XLIB_DEPENDS+= blas.2:${PORTSDIR}/math/blas XBLAS= -lblas X.elif ${WITH_BLAS} == gotoblas XLIB_DEPENDS+= goto2:${PORTSDIR}/math/gotoblas XBLAS= -lgoto2p X.elif ${WITH_BLAS} == atlas XLIB_DEPENDS+= atlas:${PORTSDIR}/math/atlas XBLAS= -lptf77blas X.endif X XUSE_FORTRAN= yes XUSE_LDCONFIG= yes X XP_VERSION= 3.0 XWRKSRC= ${WRKDIR}/SuperLU_${P_VERSION} XALL_TARGET= lib X XARCH2FIX= SRC/Makefile TESTING/MATGEN/Makefile CBLAS/Makefile make.inc \ X MAKE_INC/make.alpha MAKE_INC/make.inc X Xpre-build: X @${REINPLACE_CMD} -e 's+%%BLAS%%+-L${LOCALBASE}/lib ${BLAS}+ ; \ X s+%%CC%%+${CC}+; s+%%FC%%+${FC}+; \ X s+%%CFLAGS%%+${CFLAGS}+; \ X s+%%FFLAGS%%+${FFLAGS}+' \ X ${WRKSRC}/make.inc X.for fmk in ${ARCH2FIX} X @${REINPLACE_CMD} -e 's|^ARCH *.= ar|ARCMD = ar| ; \ X s|\$$(ARCH)|$$(ARCMD)|' ${WRKSRC}/${fmk} X.endfor X Xdo-install: X ${INSTALL_DATA} ${WRKSRC}/libsuperlu_${P_VERSION}.a \ X ${PREFIX}/lib/libsuperlu.a X ${INSTALL_DATA} ${WRKSRC}/libsuperlu_${P_VERSION}.so \ X ${PREFIX}/lib/libsuperlu.so.${PORTREVISION} X ${LN} -f -s ${PREFIX}/lib/libsuperlu.so.${PORTREVISION} \ X ${PREFIX}/lib/libsuperlu.so X @${MKDIR} ${PREFIX}/include/superlu X ${INSTALL_DATA} ${WRKSRC}/SRC/*.h ${PREFIX}/include/superlu X.if !defined(NOPORTDOCS) X @${MKDIR} ${DOCSDIR} X ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/SLU_general.ps.gz ${DOCSDIR} X ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/simax95.ps.gz ${DOCSDIR} X ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/superlu_ug.pdf ${DOCSDIR} X.endif X Xregression-test: build X @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} testing ) X @(cd ${WRKSRC}/TESTING && ${CAT} *.out ) X X.include 464ef7c6571951809b23e262cbe26e19 echo x - ./distinfo sed 's/^X//' >./distinfo << 'aec8793adfd5b7c3f00e62ae41a09ac2' XSHA256 (superlu/superlu_3.0.tar.gz) = d0132a3a2fb6269dc8faa0b9ea9611764e8ca31265441f64cfc80485a86d5784 XSIZE (superlu/superlu_3.0.tar.gz) = 1134160 XSHA256 (superlu/superlu_ug.pdf) = 4657e60fb7832465b60e208613992d29b6bbd8110103bfe0f5cee0ab79b67766 XSIZE (superlu/superlu_ug.pdf) = 458405 XSHA256 (superlu/SLU_general.ps.gz) = 00d00cedfadd96a42014d22b30c0cc451a575d8d309774519068b11d4be1ebe5 XSIZE (superlu/SLU_general.ps.gz) = 89463 XSHA256 (superlu/simax95.ps.gz) = b7e7705a280336474a25b0a1aef57226d81ea0dc6f18728b7347cb1726f91d2a XSIZE (superlu/simax95.ps.gz) = 138096 aec8793adfd5b7c3f00e62ae41a09ac2 echo x - ./pkg-descr sed 's/^X//' >./pkg-descr << '0e313719ff012ceaf97a028d51caa8f5' X SuperLU (Version 3.0) X ===================== X XSuperLU is a general purpose library for the direct solution of large, Xsparse, nonsymmetric systems of linear equations on high performance Xmachines. The library is written in C and is callable from either C or XFortran. The library routines will perform an LU decomposition with Xpartial pivoting and triangular system solves through forward and back Xsubstitution. The LU factorization routines can handle non-square matrices Xbut the triangular solves are performed only for square matrices. The Xmatrix columns may be preordered (before factorization) either through Xlibrary or user supplied routines. This preordering for sparsity is Xcompletely separate from the factorization. Working precision iterative Xrefinement subroutines are provided for improved backward stability. XRoutines are also provided to equilibrate the system, estimate the Xcondition number, calculate the relative backward error, and estimate Xerror bounds for the refined solutions. X XWWW: http://crd.lbl.gov/~xiaoye/SuperLU/ X XDevelopers: Sherry Li X Jim Demmel X John Gilbert XNOTE: This library has to be linked with BLAS or a compatible library. 0e313719ff012ceaf97a028d51caa8f5 echo x - ./pkg-plist sed 's/^X//' >./pkg-plist << 'ef3e7f63841ae908ba397c2bef1fbad6' Xinclude/superlu/colamd.h Xinclude/superlu/old_colamd.h Xinclude/superlu/slu_Cnames.h Xinclude/superlu/slu_cdefs.h Xinclude/superlu/slu_dcomplex.h Xinclude/superlu/slu_ddefs.h Xinclude/superlu/slu_scomplex.h Xinclude/superlu/slu_sdefs.h Xinclude/superlu/slu_util.h Xinclude/superlu/slu_zdefs.h Xinclude/superlu/supermatrix.h Xlib/libsuperlu.a Xlib/libsuperlu.so Xlib/libsuperlu.so.4 X@dirrm include/superlu X%%PORTDOCS%%%%DOCSDIR%%/SLU_general.ps.gz X%%PORTDOCS%%%%DOCSDIR%%/simax95.ps.gz X%%PORTDOCS%%%%DOCSDIR%%/superlu_ug.pdf X%%PORTDOCS%%@dirrm %%DOCSDIR%% ef3e7f63841ae908ba397c2bef1fbad6 echo c - ./files mkdir -p ./files > /dev/null 2>&1 echo x - ./files/patch-SRC+sp_coletree.c sed 's/^X//' >./files/patch-SRC+sp_coletree.c << 'e83dfe18c1d85c6574b6b73a9f0cc262' X--- SRC/sp_coletree.c.orig Fri Sep 26 08:22:05 2003 X+++ SRC/sp_coletree.c Thu Apr 1 20:29:10 2004 X@@ -2,6 +2,9 @@ X /* Elimination tree computation and layout routines */ X X #include X+#ifndef __STDC__ X+#include X+#endif X #include X #include "dsp_defs.h" X e83dfe18c1d85c6574b6b73a9f0cc262 echo x - ./files/patch-SRC-Makefile sed 's/^X//' >./files/patch-SRC-Makefile << '69c59906d11ae90b6b88c4e4f5f8dbd1' X--- SRC/Makefile.orig 2006-01-06 00:09:14.000000000 +0100 X+++ SRC/Makefile 2012-04-06 20:56:28.000000000 +0200 X@@ -89,39 +89,47 @@ X zcolumn_dfs.o zcolumn_bmod.o zpivotL.o zpruneL.o \ X zmemory.o zutil.o zmyblas2.o X X-all: single double complex complex16 X+all: single double complex complex16 shared X X single: $(SLUSRC) $(ALLAUX) $(LAAUX) $(SLASRC) $(SCLAUX) X- $(ARCH) $(ARCHFLAGS) ../$(SUPERLULIB) \ X+ $(ARCMD) $(ARCHFLAGS) ../$(SUPERLULIB) \ X $(SLUSRC) $(ALLAUX) $(LAAUX) $(SLASRC) $(SCLAUX) X $(RANLIB) ../$(SUPERLULIB) X X double: $(DLUSRC) $(ALLAUX) $(LAAUX) $(DLASRC) $(DZLAUX) X- $(ARCH) $(ARCHFLAGS) ../$(SUPERLULIB) \ X+ $(ARCMD) $(ARCHFLAGS) ../$(SUPERLULIB) \ X $(DLUSRC) $(ALLAUX) $(LAAUX) $(DLASRC) $(DZLAUX) X $(RANLIB) ../$(SUPERLULIB) X X complex: $(CLUSRC) $(ALLAUX) $(LAAUX) $(CLASRC) $(SCLAUX) X- $(ARCH) $(ARCHFLAGS) ../$(SUPERLULIB) \ X+ $(ARCMD) $(ARCHFLAGS) ../$(SUPERLULIB) \ X $(CLUSRC) $(ALLAUX) $(LAAUX) $(CLASRC) $(SCLAUX) X $(RANLIB) ../$(SUPERLULIB) X X complex16: $(ZLUSRC) $(ALLAUX) $(LAAUX) $(ZLASRC) $(DZLAUX) X- $(ARCH) $(ARCHFLAGS) ../$(SUPERLULIB) \ X+ $(ARCMD) $(ARCHFLAGS) ../$(SUPERLULIB) \ X $(ZLUSRC) $(ALLAUX) $(LAAUX) $(ZLASRC) $(DZLAUX) X $(RANLIB) ../$(SUPERLULIB) X X+shared: single double complex complex16 X+ $(CC) -shared -Wl,-soname,$(SUPERLULIB_SHARED) -o ../$(SUPERLULIB_SHARED) \ X+ $(ALLAUX) $(LAAUX) $(SCLAUX) $(DZLAUX) \ X+ $(SLUSRC) $(SLASRC) \ X+ $(DLUSRC) $(DLASRC) \ X+ $(CLUSRC) $(CLASRC) \ X+ $(ZLUSRC) $(ZLASRC) X+ X X ################################## X # Do not optimize these routines # X ################################## X-slamch.o: slamch.c ; $(CC) -c $(NOOPTS) $(CDEFS) $< X-dlamch.o: dlamch.c ; $(CC) -c $(NOOPTS) $(CDEFS) $< X-superlu_timer.o: superlu_timer.c ; $(CC) -c $(NOOPTS) $< X+slamch.o: slamch.c ; $(CC) -fpic -c $(NOOPTS) $(CDEFS) $< X+dlamch.o: dlamch.c ; $(CC) -fpic -c $(NOOPTS) $(CDEFS) $< X+superlu_timer.o: superlu_timer.c ; $(CC) -fpic -c $(NOOPTS) $< X ################################## X X .c.o: X $(CC) $(CFLAGS) $(CDEFS) $(BLASDEF) -c $< $(VERBOSE) X X clean: X- rm -f *.o ../libsuperlu_3.0.a X+ rm -f *.o ../libsuperlu_3.0.a ../libsuperlu_3.0.so 69c59906d11ae90b6b88c4e4f5f8dbd1 echo x - ./files/patch-make.inc sed 's/^X//' >./files/patch-make.inc << '650cc8fcfb41dfc9614199c32fdf2980' X--- make.inc.orig 2006-01-02 00:52:00.000000000 +0100 X+++ make.inc 2012-04-06 20:53:12.000000000 +0200 X@@ -19,28 +19,31 @@ X # X TMGLIB = libtmglib.a X SUPERLULIB = libsuperlu_3.0.a X-BLASLIB = ../libblas.a X+SUPERLULIB_SHARED = libsuperlu_3.0.so X+BLASLIB = -L/usr/local/lib -lblas X X # X # The archiver and the flag(s) to use when building archive (library) X # If your system has no ranlib, set RANLIB = echo. X # X-ARCH = ar X+ARCMD = ar X ARCHFLAGS = cr X RANLIB = ranlib X X-CC = cc X-CFLAGS = -xO3 -xcg92 X-FORTRAN = f77 X-FFLAGS = -O X-LOADER = cc X-LOADOPTS = -xO3 X+#CC ?= gcc46 X+#CFLAGS ?= -O3 -pipe -fno-strict-aliasing -march=native -Wl,-rpath=/usr/local/lib/gcc46 X+#FORTRAN ?= gfortran46 X+#FFLAGS ?= -O -Wl,-rpath=/usr/local/lib/gcc46 X+#LOADER ?= gfortran46 X+#LOADOPTS = X+ X+CFLAGS += -Wall -fpic X X # X # C preprocessor defs for compilation (-DNoChange, -DAdd_, or -DUpCase) X # X-CDEFS = -DAdd_ X+#CDEFS = -DAdd_ X # X # The directory in which Matlab is installed X # X-MATLAB = /usr/sww/pkg/matlab X+#MATLAB = /usr/sww/pkg/matlab 650cc8fcfb41dfc9614199c32fdf2980 exit >Release-Note: >Audit-Trail: >Unformatted: