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