From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Jan 23 22:00:22 2011 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 32EF41065674 for ; Sun, 23 Jan 2011 22:00:22 +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 E148B8FC15 for ; Sun, 23 Jan 2011 22:00:21 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p0NM0L2u097475 for ; Sun, 23 Jan 2011 22:00:21 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p0NM0LU3097472; Sun, 23 Jan 2011 22:00:21 GMT (envelope-from gnats) Resent-Date: Sun, 23 Jan 2011 22:00:21 GMT Resent-Message-Id: <201101232200.p0NM0LU3097472@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, Rainer Hurling Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 32893106566B for ; Sun, 23 Jan 2011 21:53:23 +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 202FE8FC16 for ; Sun, 23 Jan 2011 21:53:23 +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 p0NLrM2e074449 for ; Sun, 23 Jan 2011 21:53:22 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id p0NLrMRn074448; Sun, 23 Jan 2011 21:53:22 GMT (envelope-from nobody) Message-Id: <201101232153.p0NLrMRn074448@red.freebsd.org> Date: Sun, 23 Jan 2011 21:53:22 GMT From: Rainer Hurling To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: ports/154249: [NEW PORT] math/sprng: Scalable Parallel Pseudo Random Number Generator 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: Sun, 23 Jan 2011 22:00:22 -0000 >Number: 154249 >Category: ports >Synopsis: [NEW PORT] math/sprng: Scalable Parallel Pseudo Random Number Generator >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Jan 23 22:00:21 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Rainer Hurling >Release: FreeBSD 9.0 CURRENT (amd64) >Organization: >Environment: FreeBSD xxx.xxx.xxx 9.0-CURRENT FreeBSD 9.0-CURRENT #0: Sun Jan 23 09:10:10 CET 2011 xxx@xxx.xxx.xxx:/usr/obj/usr/src/sys/xxx amd64 >Description: I created a port for SPRNG version 2, the Scalable Parallel Pseudo Random Number Generators Library ( http://sprng.cs.fsu.edu/ ). It is needed at least for some math/R stuff, packages like rsprng, Rmpi etc. >How-To-Repeat: The sources seem to be incomplete in some way. They only build static libraries and there is no install target in the code. I had to patch the sources on several places to get it compiled. Now it builds and installs but it is not usable so far because of some problems with the method of building shared libraries. Several problems remain with the installed libraries 'libsprng*': (1) After installation with ${INSTALL_LIB} they do not have any symbols any more. nm /usr/ports/math/sprng/work/sprng2.0/lib/libsprng.so.2.0 shows symbols built in, the next does not nm /usr/local/lib/libsprng.so.2.0 (2) The fortran stuff is not build in correctly. SPRNG has two scripts to test the installed sprng code, 'checksprng' and 'timesprng', see pkg-message. Both give correct results for the C interface and both fail for the fortran interface. Probably there a more issues with the port and patches. >Fix: I have only little experience in creating ports and almost no skills in C/C++ programming, so I could really need some help. (b.f. advised me to file a PR, thanks in advance) 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 # files # files/patch-SRC_make.INTEL # files/patch-SRC_sprng_Makefile # files/patch-EXAMPLES_checkpoint-simple.c # files/patch-EXAMPLES_pi-simple.c # files/patch-EXAMPLES_spawn.c # files/patch-TESTS_chisquare.c # files/patch-TESTS_collisions.c # files/patch-TESTS_coupon.c # files/patch-TESTS_maxt.c # files/patch-TESTS_poker.c # files/patch-TESTS_random__walk.c # files/patch-TESTS_sum.c # files/patch-TESTS_init__tests.c # files/patch-SRC_primes__32.c # files/patch-SRC_primes__64.c # files/patch-EXAMPLES_checkpoint.c # files/patch-TESTS_stirling.c # files/patch-TESTS_Makefile # files/patch-TESTS_communicate.c # files/patch-TESTS_metropolis.c # files/patch-SRC_pmgcg_pmlcg.c # pkg-descr # pkg-plist # pkg-message # echo x - Makefile sed 's/^X//' >Makefile << 'b67911656ef5d18c4ae36cb6741b7965' X# Ports collection makefile for: sprng X# Date created: 23 January 2011 X# Whom: Rainer Hurling X# X# $FreeBSD$ X XPORTNAME= sprng XPORTVERSION= 2.0b XCATEGORIES= math parallel XMASTER_SITES= http://sprng.fsu.edu/Version2.0/ XDISTNAME= ${PORTNAME}${PORTVERSION} X XMAINTAINER= rhurlin@gwdg.de XCOMMENT= The Scalable Parallel Random Number Generators Library X XLIB_DEPENDS= pthread.20:${PORTSDIR}/devel/pth \ X gmp.10:${PORTSDIR}/math/gmp \ X mpich.2:${PORTSDIR}/net/mpich2 X XWRKSRC= ${WRKDIR}/${PORTNAME}2.0 X XUSE_LDCONFIG= yes XUSE_GCC= 4.4+ X X.include X Xpost-patch: X# [Activate MPI usage] X @${REINPLACE_CMD} -e 's|#MPIDEF = -DSPRNG_MPI|MPIDEF = -DSPRNG_MPI|' \ X ${WRKSRC}/make.CHOICES X# [Activate GMP usage] X @${REINPLACE_CMD} -e 's|GMPLIB = -lgmp|GMPLIB = -L/usr/local/lib -lgmp|' \ X ${WRKSRC}/make.CHOICES X @${REINPLACE_CMD} -e 's|"mpi.h"||' \ X ${WRKSRC}/EXAMPLES/pi-simple_mpi.c \ X ${WRKSRC}/TESTS/fft.c \ X ${WRKSRC}/TESTS/sum.c X @${FIND} ${WRKSRC} -name "*.c" | ${XARGS} ${REINPLACE_CMD} -e \ X 's|void main|int main|g' X# [Workaround] poker.c:19: error: 'index' redeclared as different kind of symbol X @${REINPLACE_CMD} -e 's|index|indexx|' \ X ${WRKSRC}/TESTS/poker.c X Xpost-build: X @${REINPLACE_CMD} -e 's|./||' \ X ${WRKSRC}/checksprng \ X ${WRKSRC}/timesprng X @${REINPLACE_CMD} -e 's|< gen|< ${DATADIR}/gen|' \ X ${WRKSRC}/checksprng \ X ${WRKSRC}/timesprng X Xdo-install: X ${MKDIR} ${DATADIR} X ${INSTALL_LIB} ${WRKSRC}/lib/libsprng.a ${PREFIX}/lib X ${INSTALL_LIB} ${WRKSRC}/lib/libsprngtest.a ${PREFIX}/lib X ${INSTALL_LIB} ${WRKSRC}/lib/libsprng.so.2.0 ${PREFIX}/lib X ${INSTALL_LIB} ${WRKSRC}/lib/libsprngtest.so.2.0 ${PREFIX}/lib X ${LN} -sf ${PREFIX}/lib/libsprng.so.2.0 ${PREFIX}/lib/libsprng.so.2 X ${LN} -sf ${PREFIX}/lib/libsprng.so.2 ${PREFIX}/lib/libsprng.so X ${LN} -sf ${PREFIX}/lib/libsprngtest.so.2.0 ${PREFIX}/lib/libsprngtest.so.2 X ${LN} -sf ${PREFIX}/lib/libsprngtest.so.2 ${PREFIX}/lib/libsprngtest.so X (cd ${WRKSRC}/include && ${INSTALL_DATA} sprng.h sprng_f.h interface.h ${PREFIX}/include) X ${INSTALL} ${WRKSRC}/checksprng ${PREFIX}/bin X ${INSTALL} ${WRKSRC}/check.csprng ${PREFIX}/bin X ${INSTALL} ${WRKSRC}/check.fsprng ${PREFIX}/bin X ${INSTALL} ${WRKSRC}/check_sim.csprng ${PREFIX}/bin X ${INSTALL} ${WRKSRC}/check_sim.fsprng ${PREFIX}/bin X ${INSTALL} ${WRKSRC}/check_ptr.csprng ${PREFIX}/bin X ${INSTALL} ${WRKSRC}/check_ptr.fsprng ${PREFIX}/bin X ${INSTALL} ${WRKSRC}/timesprng ${PREFIX}/bin X ${INSTALL} ${WRKSRC}/timingcsprng ${PREFIX}/bin X ${INSTALL} ${WRKSRC}/timingfsprng ${PREFIX}/bin X Xpost-install: X ${INSTALL_DATA} ${WRKSRC}/gen* ${DATADIR} X ${INSTALL_DATA} ${WRKSRC}/DOCS/new_sprng.ps ${DATADIR}/sprng.ps X @${ECHO_MSG} "" X @${CAT} ${PKGMESSAGE} X @${ECHO_MSG} "" X X.include b67911656ef5d18c4ae36cb6741b7965 echo x - distinfo sed 's/^X//' >distinfo << '57677d168a5ec21bdf22c9501f075a8f' XSHA256 (sprng2.0b.tar.gz) = 8985d7cae4f20f57889bc7ba11dfed226a02057d396731f4a5cc174704131ac2 XSIZE (sprng2.0b.tar.gz) = 1780931 57677d168a5ec21bdf22c9501f075a8f echo c - files mkdir -p files > /dev/null 2>&1 echo x - files/patch-SRC_make.INTEL sed 's/^X//' >files/patch-SRC_make.INTEL << 'a19f7b5f540407a4020afa8f2b84b9cc' X--- SRC/make.INTEL 2007-01-26 17:30:06.000000000 +0100 X+++ SRC/make.INTEL 2011-01-23 11:04:47.000000000 +0100 X@@ -3,16 +3,16 @@ X #If your system does not have ranlib, then replace next statement with X #RANLIB = echo X RANLIB = ranlib X-CC = gcc X+CC = gcc45 X CLD = $(CC) X # Set f77 to echo if you do not have a FORTRAN compiler X-F77 = g77 X+F77 = gfortran45 X #F77 = echo X F77LD = $(F77) X-FFXN = -DAdd__ X+FFXN = -DAdd_ X FSUFFIX = F X X-MPIF77 = mpif77 X+MPIF77 = mpif90 X MPICC = mpicc X X # To use MPI, set the MPIDIR to location of mpi library, and MPILIB X@@ -21,16 +21,16 @@ X # before compiling for mpi. X # X # COMMENTED BY ME X-#MPIDIR = -L/usr/local/mpi/build/LINUX/ch_p4/lib X-#MPILIB = -lmpich X+MPIDIR = -L/usr/local/lib X+MPILIB = -lmpich -lmpl -lpthread X X # Please include mpi header file path, if needed X X #CFLAGS = -O3 -DLittleEndian $(PMLCGDEF) $(MPIDEF) -D$(PLAT) -I/usr/local/mpi/include -I/usr/local/mpi/build/LINUX/ch_p4/include X-CFLAGS = -O3 -DLittleEndian $(PMLCGDEF) $(MPIDEF) -D$(PLAT) X-CLDFLAGS = -O3 X+CFLAGS = -O -fpic $(PMLCGDEF) $(MPIDEF) -D$(PLAT) -I/usr/local/include X+CLDFLAGS = -O X #FFLAGS = -O3 $(PMLCGDEF) $(MPIDEF) -D$(PLAT) -I/usr/local/mpi/include -I/usr/local/mpi/build/LINUX/ch_p4/include -I. X-FFLAGS = -O3 $(PMLCGDEF) $(MPIDEF) -D$(PLAT) X-F77LDFLAGS = -O3 X+FFLAGS = -O $(PMLCGDEF) $(MPIDEF) -D$(PLAT) -I/usr/local/include -I. X+F77LDFLAGS = -O X X-CPP = cpp -P X+CPP = cpp45 -P a19f7b5f540407a4020afa8f2b84b9cc echo x - files/patch-SRC_sprng_Makefile sed 's/^X//' >files/patch-SRC_sprng_Makefile << '52ba6067d48d96b989dbde185b8c32eb' X--- SRC/sprng/Makefile X+++ SRC/sprng/Makefile X@@ -44,16 +44,23 @@ X $(LIBDIR)/libsprng.a : sprng.o \ X $(SRCDIR)/lcg/lcg.o $(SRCDIR)/lfg/lfg.o \ X $(SRCDIR)/lcg64/lcg64.o \ X- $(SRCDIR)/mlfg/mlfg.o $(SRCDIR)/cmrg/cmrg.o \ X $(SRCDIR)/pmlcg/pmlcg.o \ X+ $(SRCDIR)/mlfg/mlfg.o $(SRCDIR)/cmrg/cmrg.o \ X $(SPRNG_COMMON_DEPEND) X $(AR) $(ARFLAGS) $(LIBDIR)/libsprng.a sprng.o \ X $(SRCDIR)/lcg/lcg.o $(SRCDIR)/lfg/lfg.o \ X $(SRCDIR)/lcg64/lcg64.o \ X- $(SRCDIR)/mlfg/mlfg.o $(SRCDIR)/cmrg/cmrg.o \ X $(SRCDIR)/pmlcg/pmlcg.o \ X+ $(SRCDIR)/mlfg/mlfg.o $(SRCDIR)/cmrg/cmrg.o \ X $(SPRNG_COMMON_DEPEND) X $(RANLIB) $(LIBDIR)/libsprng.a X+ $(CC) -shared -Wl,-soname,libsprng.so.2 \ X+ -o $(LIBDIR)/libsprng.so.2.0 sprng.o \ X+ $(SRCDIR)/lcg/lcg.o $(SRCDIR)/lfg/lfg.o \ X+ $(SRCDIR)/lcg64/lcg64.o \ X+ $(SRCDIR)/pmlcg/pmlcg.o \ X+ $(SRCDIR)/mlfg/mlfg.o $(SRCDIR)/cmrg/cmrg.o \ X+ $(SPRNG_COMMON_DEPEND) $(GMPLIB) X X sprng.o : $(SRCDIR)/interface.h sprng.c $(SRCDIR)/memory.h \ X $(SRCDIR)/multiply.h $(SRCDIR)/store.h $(SRCDIR)/fwrap_.h 52ba6067d48d96b989dbde185b8c32eb echo x - files/patch-EXAMPLES_checkpoint-simple.c sed 's/^X//' >files/patch-EXAMPLES_checkpoint-simple.c << 'ffd30d00b1e80c51d8c07c984c152a5a' X--- EXAMPLES/checkpoint-simple.c 1999-06-29 18:42:03.000000000 +0200 X+++ EXAMPLES/checkpoint-simple.c 2011-01-16 11:41:48.000000000 +0100 X@@ -8,6 +8,7 @@ X /****************************************************************************/ X X X+#include X #include X X #define SIMPLE_SPRNG /* simple interface */ ffd30d00b1e80c51d8c07c984c152a5a echo x - files/patch-EXAMPLES_pi-simple.c sed 's/^X//' >files/patch-EXAMPLES_pi-simple.c << 'e34e8594876ca1569f1aa31faf496c4d' X--- EXAMPLES/pi-simple.c 1999-06-29 18:42:03.000000000 +0200 X+++ EXAMPLES/pi-simple.c 2011-01-16 11:43:20.000000000 +0100 X@@ -6,6 +6,7 @@ X /***************************************************************************/ X X X+#include X #include X #include X #include e34e8594876ca1569f1aa31faf496c4d echo x - files/patch-EXAMPLES_spawn.c sed 's/^X//' >files/patch-EXAMPLES_spawn.c << '69b157c2cc2ce6ad934e8b74fff921f7' X--- EXAMPLES/spawn.c 1999-06-29 18:42:03.000000000 +0200 X+++ EXAMPLES/spawn.c 2011-01-16 11:44:47.000000000 +0100 X@@ -5,6 +5,7 @@ X /* is printed. */ X /***************************************************************************/ X X+#include X #include X X /* Uncomment the following line to get the interface with pointer checking */ 69b157c2cc2ce6ad934e8b74fff921f7 echo x - files/patch-TESTS_chisquare.c sed 's/^X//' >files/patch-TESTS_chisquare.c << '2a516c58b026b369dedeb38ede81fdea' X--- TESTS/chisquare.c 1999-06-29 18:42:11.000000000 +0200 X+++ TESTS/chisquare.c 2011-01-16 12:06:04.000000000 +0100 X@@ -2,7 +2,9 @@ X Chi-Square Probability Function and Kolmogorv-Smirnov X **********************************************************/ X X+#include X #include X+#include X #include X #include "util.h" X 2a516c58b026b369dedeb38ede81fdea echo x - files/patch-TESTS_collisions.c sed 's/^X//' >files/patch-TESTS_collisions.c << '7a0cce925605f37248523b79e8ba1fa9' X--- TESTS/collisions.c 1999-06-29 18:42:11.000000000 +0200 X+++ TESTS/collisions.c 2011-01-16 12:09:10.000000000 +0100 X@@ -1,4 +1,6 @@ X+#include X #include X+#include X #include "tests.h" X #include X 7a0cce925605f37248523b79e8ba1fa9 echo x - files/patch-TESTS_coupon.c sed 's/^X//' >files/patch-TESTS_coupon.c << '199a78221c6a3faeccb5b4f07ceede66' X--- TESTS/coupon.c 1999-06-29 18:42:11.000000000 +0200 X+++ TESTS/coupon.c 2011-01-16 12:10:34.000000000 +0100 X@@ -1,4 +1,6 @@ X+#include X #include X+#include X #include "tests.h" X X #ifndef ANSI_ARGS 199a78221c6a3faeccb5b4f07ceede66 echo x - files/patch-TESTS_maxt.c sed 's/^X//' >files/patch-TESTS_maxt.c << '18073bc1568cc7eab353386094ddedde' X--- TESTS/maxt.c 1999-06-29 18:42:11.000000000 +0200 X+++ TESTS/maxt.c 2011-01-16 11:48:38.000000000 +0100 X@@ -1,3 +1,4 @@ X+#include X #include X #include "tests.h" X #include 18073bc1568cc7eab353386094ddedde echo x - files/patch-TESTS_poker.c sed 's/^X//' >files/patch-TESTS_poker.c << '3dc4be4b4d4587424d36052cbae0006c' X--- TESTS/poker.c 1999-06-29 18:42:11.000000000 +0200 X+++ TESTS/poker.c 2011-01-16 12:11:22.000000000 +0100 X@@ -1,4 +1,6 @@ X+#include X #include X+#include X #include "tests.h" X #include X 3dc4be4b4d4587424d36052cbae0006c echo x - files/patch-TESTS_random__walk.c sed 's/^X//' >files/patch-TESTS_random__walk.c << '2863b2ccf9289f9ac2ce851781b98a5c' X--- TESTS/random_walk.c 1999-06-29 18:42:11.000000000 +0200 X+++ TESTS/random_walk.c 2011-01-16 11:50:16.000000000 +0100 X@@ -1,6 +1,7 @@ X /* A two-dimensional random walk test based on the code of I. Vattulainen, X et al */ X X+#include X #include X #include "tests.h" X #include 2863b2ccf9289f9ac2ce851781b98a5c echo x - files/patch-TESTS_sum.c sed 's/^X//' >files/patch-TESTS_sum.c << '247fa2ea2d442d42abbba335981033d0' X--- TESTS/sum.c 1999-06-29 18:42:11.000000000 +0200 X+++ TESTS/sum.c 2011-01-16 11:51:15.000000000 +0100 X@@ -1,6 +1,7 @@ X /* Note: This test is not in the regular SPRNG test format */ X X X+#include X #include X #if defined(SPRNG_MPI) X #include "mpi.h" 247fa2ea2d442d42abbba335981033d0 echo x - files/patch-TESTS_init__tests.c sed 's/^X//' >files/patch-TESTS_init__tests.c << '3aa39f7d92dd398d8f7027f00ab77fae' X--- TESTS/init_tests.c 1999-06-29 18:42:11.000000000 +0200 X+++ TESTS/init_tests.c 2011-01-16 11:55:28.000000000 +0100 X@@ -1,6 +1,7 @@ X #ifdef SPRNG_MPI X #include X #endif X+#include X #include X /*#define READ_FROM_STDIN*/ /* read random numbers from stdin */ X #ifndef READ_FROM_STDIN 3aa39f7d92dd398d8f7027f00ab77fae echo x - files/patch-SRC_primes__32.c sed 's/^X//' >files/patch-SRC_primes__32.c << 'cf2e5300418a95691f3791555c238c6e' X--- SRC/primes_32.c~ 1999-06-29 18:42:11.000000000 +0200 X+++ SRC/primes_32.c 2011-01-16 11:59:08.000000000 +0100 X@@ -1,5 +1,6 @@ X #include X #include X+#include X #include "primes_32.h" X #include "primelist_32.h" X cf2e5300418a95691f3791555c238c6e echo x - files/patch-SRC_primes__64.c sed 's/^X//' >files/patch-SRC_primes__64.c << 'b5b4e3d381d3092d1adb11bc4e9bd2ee' X--- SRC/primes_64.c 1999-06-29 18:42:11.000000000 +0200 X+++ SRC/primes_64.c 2011-01-16 12:01:30.000000000 +0100 X@@ -1,5 +1,6 @@ X #include X #include X+#include X #include "primes_64.h" X #include "primelist_64.h" X b5b4e3d381d3092d1adb11bc4e9bd2ee echo x - files/patch-EXAMPLES_checkpoint.c sed 's/^X//' >files/patch-EXAMPLES_checkpoint.c << 'bd5b9135d4e37e3681661c8e379f1e5f' X--- EXAMPLES/checkpoint.c 1999-06-29 18:42:03.000000000 +0200 X+++ EXAMPLES/checkpoint.c 2011-01-16 12:02:44.000000000 +0100 X@@ -8,6 +8,7 @@ X /****************************************************************************/ X X X+#include X #include X X /* Uncomment the following line to get the interface with pointer checking */ bd5b9135d4e37e3681661c8e379f1e5f echo x - files/patch-TESTS_stirling.c sed 's/^X//' >files/patch-TESTS_stirling.c << '3df0c522fb453404adf0c06bc799117b' X--- TESTS/stirling.c 1999-06-29 18:42:11.000000000 +0200 X+++ TESTS/stirling.c 2011-01-23 12:18:43.000000000 +0100 X@@ -1,3 +1,4 @@ X+#include X #include X #include "util.h" X 3df0c522fb453404adf0c06bc799117b echo x - files/patch-TESTS_Makefile sed 's/^X//' >files/patch-TESTS_Makefile << 'f2f92588b7522a9f98532e7ffa8a583a' X--- TESTS/Makefile 1999-07-08 21:46:39.000000000 +0200 X+++ TESTS/Makefile 2011-01-23 17:16:48.000000000 +0100 X@@ -29,7 +29,7 @@ X SRCDIR = ../SRC X include $(SRCDIR)/make.$(PLAT) X TESTLIB = sprngtest X-#GMPLIB = -lgmp #uncomment for pmlcg X+GMPLIB = -lgmp #uncomment for pmlcg X X ############################################################################# X # Random number libraries X@@ -63,6 +63,10 @@ X $(AR) $(ARFLAGS) $(LIBDIR)/lib$(TESTLIB).a \ X init_tests.o util.o chisquare.o stirling.o communicate.o X $(RANLIB) $(LIBDIR)/lib$(TESTLIB).a X+ $(CC) -shared -Wl,-soname,libsprngtest.so.2 \ X+ -o $(LIBDIR)/lib$(TESTLIB).so.2.0 \ X+ init_tests.o util.o chisquare.o stirling.o communicate.o \ X+ $(SPRNG_COMMON_DEPEND) $(GMPLIB) X X init_tests.o : init_tests.c X $(CC) -c $(CFLAGS) $(INCLUDEDIR) $(DEF) init_tests.c f2f92588b7522a9f98532e7ffa8a583a echo x - files/patch-TESTS_communicate.c sed 's/^X//' >files/patch-TESTS_communicate.c << 'fb81fbf1d9070f074922c0c571c81aab' X--- TESTS/communicate.c 1999-06-29 18:42:11.000000000 +0200 X+++ TESTS/communicate.c 2011-01-23 12:27:57.000000000 +0100 X@@ -1,3 +1,5 @@ X+#include X+#include X #ifdef SPRNG_MPI X #include X #endif fb81fbf1d9070f074922c0c571c81aab echo x - files/patch-TESTS_metropolis.c sed 's/^X//' >files/patch-TESTS_metropolis.c << '2f8e04e89cc0cfffba6626a0ccc6e80c' X--- TESTS/metropolis.c 1999-06-29 18:42:11.000000000 +0200 X+++ TESTS/metropolis.c 2011-01-23 17:01:07.000000000 +0100 X@@ -154,7 +154,8 @@ X X #ifdef SYNC X printf("\n\tStreams are synchronized!\n"); X- #elif !SYNC X+ #endif X+ #ifndef SYNC X printf("\n\tStreams are not synchronized!\n"); X #endif X printf(" \tEnergy\t\tEnergy_error\tSigma_Energy\tCv\t\tCv_error\tSigma_Cv\n"); X@@ -169,7 +170,8 @@ X dE = energy_difference(k); X #ifdef SYNC X if(expJ[dE]>sprng(genptr[k])){ X-#elif !SYNC X+#endif X+#ifndef SYNC X if(dE<=0 || expJ[dE]>sprng(genptr[k])){ X #endif X energy += dE; X@@ -321,7 +323,8 @@ X dE = energy_difference(k); X #ifdef SYNC X if(expJ[dE]>sprng(genptr[k])) X-#elif !SYNC X+#endif X+#ifndef SYNC X if(dE<=0 || expJ[dE]>sprng(genptr[k])) X #endif X { 2f8e04e89cc0cfffba6626a0ccc6e80c echo x - files/patch-SRC_pmgcg_pmlcg.c sed 's/^X//' >files/patch-SRC_pmgcg_pmlcg.c << '6e67bf647e57be470bbb41c54dda189c' X--- SRC/pmlcg/pmlcg.c 1999-06-29 18:42:11.000000000 +0200 X+++ SRC/pmlcg/pmlcg.c 2011-01-23 18:44:04.000000000 +0100 X@@ -30,7 +30,7 @@ X #include "memory.h" X #include "interface.h" X #include "pmlcg.h" X-#include "gmp.h" X+#include X #include "basic.h" X #include X 6e67bf647e57be470bbb41c54dda189c echo x - pkg-descr sed 's/^X//' >pkg-descr << '7f9555c3c1089940396b503dd37f3979' XComputational stochastic approaches (Monte Carlo methods) based on the random Xsampling are becoming important research tools. XAn indication of importance is, for example, the fact that Monte Carlo Xcalculations consume about one half of the supercomputer cycles. One of the Xindispensable and important ingredients for reliable and statistically sound Xcalculations is the source of pseudo random numbers. X XWhile SPRNG 4.0 is the newest version, this port only implements SPRNG 2.0, Xwhich is needed by some other parts of software like packages of math/R. X XWWW: http://sprng.fsu.edu/Version2.0/ 7f9555c3c1089940396b503dd37f3979 echo x - pkg-plist sed 's/^X//' >pkg-plist << '842cde48cf18b70a11b15515ca566742' Xbin/checksprng Xbin/check.csprng Xbin/check.fsprng Xbin/check_sim.csprng Xbin/check_sim.fsprng Xbin/check_ptr.csprng Xbin/check_ptr.fsprng Xbin/timesprng Xbin/timingcsprng Xbin/timingfsprng Xinclude/sprng.h Xinclude/sprng_f.h Xinclude/interface.h Xlib/libsprng.a Xlib/libsprngtest.a Xlib/libsprng.so Xlib/libsprng.so.2 Xlib/libsprng.so.2.0 Xlib/libsprngtest.so Xlib/libsprngtest.so.2 Xlib/libsprngtest.so.2.0 Xshare/sprng/gen0_lfg Xshare/sprng/gen0_lfg.data Xshare/sprng/gen1_lcg Xshare/sprng/gen1_lcg.data Xshare/sprng/gen2_lcg64 Xshare/sprng/gen2_lcg64.data Xshare/sprng/gen3_cmrg Xshare/sprng/gen3_cmrg.data Xshare/sprng/gen4_mlfg Xshare/sprng/gen4_mlfg.data Xshare/sprng/gen5_pmlcg Xshare/sprng/gen5_pmlcg.data Xshare/sprng/sprng.ps X@dirrm share/sprng 842cde48cf18b70a11b15515ca566742 echo x - pkg-message sed 's/^X//' >pkg-message << '90c81c06929c43140502a9f17b449376' X******************************************************************************* X XThe SPRNG libraries of generators produce good quality random numbers, Xand are also fast. They have been subjected to some of the largest Xrandom number tests. X XLanguages: C, C++, FORTRAN X XGenerators: Modified Additive Lagged Fibonacci, Multiplicative Lagged X Fibonacci, Combined Multiple Recursive generator, three types of X Linear Congruential. X XSPRNG version 2.0b is an old library from 1999 with only a few changes in 2007. XThere is a newer version 4.0 (from 2007) with many changes on the API. For Xdifferent reasons version 2.0 is needed from other stuff like multiprocessing Xwith math/R (package rsprng ...). X XThe installed library can be testet with 'checksprng' and 'timesprng'. They Xuse test datasets from ${LOCALBASE}/share/sprng. X XDocumentation can be found under ${LOCALBASE}/share/sprng/sprng.ps. X X******************************************************************************* 90c81c06929c43140502a9f17b449376 exit >Release-Note: >Audit-Trail: >Unformatted: