ports/72216: math/spooles: missing symbols in the library.

Thierry Thomas thierry at pompo.net
Thu Sep 30 23:00:48 UTC 2004


>Number:         72216
>Category:       ports
>Synopsis:       math/spooles: missing symbols in the library.
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Sep 30 23:00:44 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Thierry Thomas
>Release:        FreeBSD 5.3-BETA4 i386
>Organization:
Kabbale Eros
>Environment:
System: FreeBSD ws90bj.pompo.net 5.3-BETA4 FreeBSD 5.3-BETA4 #0: Thu Sep 16 00:17:00 CEST 2004 thierry at ws90bj.pompo.net:/usr/obj/usr/src/sys/WS90BJ-040826 i386


	
>Description:
	Trying to link a program with spooles, I get this kind of messages:
	/usr/local/lib/libspooles.a(A2_QRreduce.o)(.text+0xc91): In function `computeW1':
	: undefined reference to `DVaxpy13
	/usr/local/lib/libspooles.a(A2_QRreduce.o)(.text+0xd2c): In function `computeW1':
	: undefined reference to `DVaxpy12'
	/usr/local/lib/libspooles.a(A2_QRreduce.o)(.text+0x10e7): In function `computeW1':
	: undefined reference to `ZVaxpy13'
	/usr/local/lib/libspooles.a(A2_QRreduce.o)(.text+0x119e): In function `computeW1':
	: undefined reference to `ZVaxpy12'
	etc.

	With spooles-mpich, I get the same messages, plus others:
	undefined reference to `FrontMtx_MPI_factorInpMtx'
	etc.

	Actually, some files makeGlobalLib used to avoid perl are uncomplete,
	and the following patches fix the problem.

	Since I'm there, add CONFLICTS and pet portlint.
	Warning: USE_MPI and USE_THREADS are replaced by WITH_MPI and
	WITH_THREADS.

	Bump PORTREVISION.

>How-To-Repeat:
	Before the patch:

	nm -A /usr/local/lib/libspooles.a | grep DVaxpy
	/usr/local/lib/libspooles.a:A2_QRreduce.o:         U DVaxpy11
	/usr/local/lib/libspooles.a:A2_QRreduce.o:         U DVaxpy12
	/usr/local/lib/libspooles.a:A2_QRreduce.o:         U DVaxpy13
	/usr/local/lib/libspooles.a:A2_QRreduce.o:         U DVaxpy21
	/usr/local/lib/libspooles.a:A2_QRreduce.o:         U DVaxpy31
	/usr/local/lib/libspooles.a:Chv_factor.o:         U DVaxpy
	/usr/local/lib/libspooles.a:Chv_factor.o:         U DVaxpy2
	/usr/local/lib/libspooles.a:Utilities_DV.o:00000073 T DVaxpy
	/usr/local/lib/libspooles.a:Utilities_DV.o:00001388 T DVaxpy2
	/usr/local/lib/libspooles.a:Utilities_DV.o:00000109 T DVaxpyi

	nm -A /usr/local/lib/libspooles.a | grep FrontMtx_MPI_factorInpMtx
	
	After applying the patch:

	nm -A /usr/local/lib/libspooles.a | grep DVaxpy
	/usr/local/lib/libspooles.a:A2_QRreduce.o:         U DVaxpy11
	/usr/local/lib/libspooles.a:A2_QRreduce.o:         U DVaxpy12
	/usr/local/lib/libspooles.a:A2_QRreduce.o:         U DVaxpy13
	/usr/local/lib/libspooles.a:A2_QRreduce.o:         U DVaxpy21
	/usr/local/lib/libspooles.a:A2_QRreduce.o:         U DVaxpy31
	/usr/local/lib/libspooles.a:Chv_factor.o:         U DVaxpy
	/usr/local/lib/libspooles.a:Chv_factor.o:         U DVaxpy2
	/usr/local/lib/libspooles.a:Utilities_DV.o:00000073 T DVaxpy
	/usr/local/lib/libspooles.a:Utilities_DV.o:00001388 T DVaxpy2
	/usr/local/lib/libspooles.a:Utilities_DV.o:00000109 T DVaxpyi
	/usr/local/lib/libspooles.a:Utilities_axpy.o:000003b9 T DVaxpy11
	/usr/local/lib/libspooles.a:Utilities_axpy.o:00000370 T DVaxpy12
	/usr/local/lib/libspooles.a:Utilities_axpy.o:00000314 T DVaxpy13
	/usr/local/lib/libspooles.a:Utilities_axpy.o:000002c8 T DVaxpy21
	/usr/local/lib/libspooles.a:Utilities_axpy.o:00000258 T DVaxpy22
	/usr/local/lib/libspooles.a:Utilities_axpy.o:000001c0 T DVaxpy23
	/usr/local/lib/libspooles.a:Utilities_axpy.o:0000015c T DVaxpy31
	/usr/local/lib/libspooles.a:Utilities_axpy.o:000000c6 T DVaxpy32
	/usr/local/lib/libspooles.a:Utilities_axpy.o:00000000 T DVaxpy33

	nm -A /usr/local/lib/libspooles.a | grep FrontMtx_MPI_factorInpMtx
	/usr/local/lib/libspooles.a:MPI_factorMPI.o:00000000 T FrontMtx_MPI_factorInpMtx

>Fix:
	Please apply the following patches:

--- spooles.diff begins here ---
diff -urN math/spooles.orig/Makefile math/spooles/Makefile
--- math/spooles.orig/Makefile	Fri May  7 18:45:42 2004
+++ math/spooles/Makefile	Fri Oct  1 00:32:48 2004
@@ -7,9 +7,12 @@
 
 PORTNAME=	spooles
 PORTVERSION=	2.2
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	math
 MASTER_SITES=	http://www.netlib.org/linalg/spooles/
+.ifdef WITH_MPI
+PKGNAMESUFFIX=	-mpich
+.endif
 DISTNAME=	${PORTNAME}.${PORTVERSION}
 EXTRACT_SUFX=	.tgz
 .ifndef NOPORTDOCS
@@ -23,7 +26,7 @@
 MAINTAINER=	maho at FreeBSD.org
 COMMENT=	SParse Object Oriented Linear Equations Solver
 
-.if defined(USE_MPI)
+.if defined(WITH_MPI)
 BUILD_DEPENDS=	${LOCALBASE}/mpich/lib/libmpich.a:${PORTSDIR}/net/mpich
 .endif
 
@@ -33,59 +36,61 @@
 MAKEFILE=	makefile
 ALL_TARGET=	global
 
-.if defined(USE_THREADS)
+.if defined(WITH_THREADS)
 PLIST_SUB+=	MT=""
 CFLAGS+=	${PTHREAD_CFLAGS}
 .else
 PLIST_SUB+=	MT="@comment "
 .endif
-.if defined(USE_MPI)
+.if defined(WITH_MPI)
 PLIST_SUB+=	MPI=""
+CONFLICTS=	spooles-2*
 .else
 PLIST_SUB+=	MPI="@comment "
+CONFLICTS=	spooles-mpich-2*
 .endif
 
 .SILENT:
 
 pre-everything::
-.if !defined(USE_THREADS)
-	${ECHO_MSG} "make USE_THREADS=yes for threaded version"
+.if !defined(WITH_THREADS)
+	${ECHO_MSG} "make WITH_THREADS=yes for threaded version"
 .endif
-.if !defined(USE_MPI)
-	${ECHO_MSG} "make USE_MPI=yes for mpich version"
+.if !defined(WITH_MPI)
+	${ECHO_MSG} "make WITH_MPI=yes for mpich version"
 .endif
 
-.if defined (USE_THREADS) && (USE_MPI)
+.if defined (WITH_THREADS) && (WITH_MPI)
 BROKEN=	mpich is *NOT* threadsafe at the moment
 .endif
 
 post-patch:
-.if defined(USE_THREADS)
+.if defined(WITH_THREADS)
 	@${REINPLACE_CMD} -e 's+%%PTHREAD_LIBS%%+${PTHREAD_LIBS}+g;' ${WRKSRC}/Make.inc
 .else
 	@${REINPLACE_CMD} -e 's+%%PTHREAD_LIBS%%++g;' ${WRKSRC}/Make.inc
 	@${REINPLACE_CMD} -e 's+THREAD_TYPE TT_POSIX+THREAD_TYPE TT_NONE+;' ${WRKSRC}/Lock/Lock.h
 .endif
-.if defined(USE_MPI)
+.if defined(WITH_MPI)
 	@${REINPLACE_CMD} -e 's+%%LOCALBASE%%+${LOCALBASE}+g;' ${WRKSRC}/Make.inc
 .endif
 
 post-build:
-.if defined(USE_THREADS)
-	@(cd ${WRKSRC}/MT/src; $(GMAKE) -f makeGlobalLib)
+.if defined(WITH_THREADS)
+	@(cd ${WRKSRC}/MT/src; ${GMAKE} -f makeGlobalLib)
 .endif
-.if defined(USE_MPI)
-	@(cd ${WRKSRC}/MPI/src; $(GMAKE) -f makeGlobalLib)
+.if defined(WITH_MPI)
+	@(cd ${WRKSRC}/MPI/src; ${GMAKE} -f makeGlobalLib)
 .endif
 
 do-install:
 	${MKDIR} ${PREFIX}/include/spooles
 	${INSTALL} ${WRKSRC}/spooles.a ${PREFIX}/lib/libspooles.a
-.if defined(USE_THREADS)
+.if defined(WITH_THREADS)
 	${MKDIR} ${PREFIX}/include/spooles/MT
 	${INSTALL_DATA} ${WRKSRC}/MT/*.h ${PREFIX}/include/spooles/MT
 .endif
-.if defined(USE_MPI)
+.if defined(WITH_MPI)
 	${MKDIR} ${PREFIX}/include/spooles/MPI
 	${INSTALL_DATA} ${WRKSRC}/MPI/*.h ${PREFIX}/include/spooles/MPI
 .endif
diff -urN math/spooles.orig/files/patch-MPI+src+makeGlobalLib math/spooles/files/patch-MPI+src+makeGlobalLib
--- math/spooles.orig/files/patch-MPI+src+makeGlobalLib	Thu Jan  1 01:00:00 1970
+++ math/spooles/files/patch-MPI+src+makeGlobalLib	Fri Oct  1 00:18:56 2004
@@ -0,0 +1,11 @@
+--- MPI/src/makeGlobalLib.orig	Sat Nov 21 23:52:01 1998
++++ MPI/src/makeGlobalLib	Fri Oct  1 00:17:01 2004
+@@ -29,7 +29,7 @@
+       utilities.c
+ 
+ OBJ_FILES = ${SRC:.c=.o}
+-OBJ_FILES = MMM.o makeSendRecvIVLs.o
++#OBJ_FILES = MMM.o makeSendRecvIVLs.o
+ 
+ .c.o :
+ 	$(PURIFY) $(CC) -c $(CFLAGS) $(MPI_INCLUDE_DIR) $*.c -o $(OBJ)_$*.o
diff -urN math/spooles.orig/files/patch-Utilities+src+makeGlobalLib math/spooles/files/patch-Utilities+src+makeGlobalLib
--- math/spooles.orig/files/patch-Utilities+src+makeGlobalLib	Thu Jan  1 01:00:00 1970
+++ math/spooles/files/patch-Utilities+src+makeGlobalLib	Thu Sep 30 23:35:26 2004
@@ -0,0 +1,10 @@
+--- Utilities/src/makeGlobalLib.orig	Thu Sep 17 21:26:39 1998
++++ Utilities/src/makeGlobalLib	Thu Sep 30 23:34:16 2004
+@@ -14,6 +14,7 @@
+       PIV.c \
+       IP.c \
+       I2OP.c \
++      axpy.c \
+       iohb.c \
+       newsort.c \
+       sortAndCompress.c \
diff -urN math/spooles.orig/pkg-plist math/spooles/pkg-plist
--- math/spooles.orig/pkg-plist	Tue Jun 10 22:27:58 2003
+++ math/spooles/pkg-plist	Thu Sep 30 23:58:36 2004
@@ -137,11 +137,11 @@
 @dirrm include/spooles/ZV
 @dirrm include/spooles/misc
 @dirrm include/spooles
-%%PORTDOCS%%share/doc/spooles/AllInOne.ps.gz
-%%PORTDOCS%%share/doc/spooles/Eigen.ps.gz
-%%PORTDOCS%%share/doc/spooles/Install.ps.gz
-%%PORTDOCS%%share/doc/spooles/LinSol.ps.gz
-%%PORTDOCS%%share/doc/spooles/Ordering.ps.gz
-%%PORTDOCS%%share/doc/spooles/PP99.ps.gz
-%%PORTDOCS%%share/doc/spooles/ReferenceManual.ps.gz
-%%PORTDOCS%%@dirrm share/doc/spooles
+%%PORTDOCS%%%%DOCSDIR%%/AllInOne.ps.gz
+%%PORTDOCS%%%%DOCSDIR%%/Eigen.ps.gz
+%%PORTDOCS%%%%DOCSDIR%%/Install.ps.gz
+%%PORTDOCS%%%%DOCSDIR%%/LinSol.ps.gz
+%%PORTDOCS%%%%DOCSDIR%%/Ordering.ps.gz
+%%PORTDOCS%%%%DOCSDIR%%/PP99.ps.gz
+%%PORTDOCS%%%%DOCSDIR%%/ReferenceManual.ps.gz
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
--- spooles.diff ends here ---

--- spooles-mpich.diff begins here ---
diff -urN math/spooles-mpich.orig/Makefile math/spooles-mpich/Makefile
--- math/spooles-mpich.orig/Makefile	Fri May  7 18:45:42 2004
+++ math/spooles-mpich/Makefile	Fri Oct  1 00:05:12 2004
@@ -6,8 +6,6 @@
 #
 
 MASTERDIR=	${.CURDIR}/../spooles/
-USE_MPI=	YES
+WITH_MPI=	yes
 
 .include "${MASTERDIR}/Makefile"
-
-PKGNAMESUFFIX=	-mpich
--- spooles-mpich.diff ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list