Search
j0ke.net Open Build Service
>
Projects
>
multimedia
>
pvm
> pvm-3.4.5.dif
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File pvm-3.4.5.dif of Package pvm
--- Makefile +++ Makefile @@ -6,7 +6,8 @@ SHELL = /bin/sh -AIMKSTR = -here -f ./conf/`./lib/pvmtmparch`.def -f ./Makefile.aimk +ARCH = $(shell ./lib/pvmtmparch) +AIMKSTR = -here -f ./conf/$(ARCH).def -f ./Makefile.aimk default: ./lib/aimk $(AIMKSTR) default --- conf/LINUXPPC64.def +++ conf/LINUXPPC64.def @@ -0,0 +1,24 @@ +# +# Notes on readline Usage: +# +# If your Linux system has readline, then you may append the +# following flags to the defines below: +# +# ARCHCFLAGS = . . . -DHASREADLINE +# ARCHLIB = . . . -lreadline +# +# and recompile PVM. +# +# On some Linux systems, readline requires ncurses, so you +# must also add "-lncurses" to the ARCHLIB define. +# +ARCHCFLAGS = -DRSHCOMMAND=\"/usr/bin/rsh\" \ + -DNEEDENDIAN -DFDSETNOTSTRUCT -DHASERRORVARS -DNOTMPNAM \ + -DHASREADLINE +ARCHDLIB = +ARCHDOBJ = +ARCHLIB = -lreadline -lncurses +HASRANLIB = t +AR = ar +PVM_ARCH = LINUXPPC64 +MAKE = make --- conf/LINUXPPC64.m4 +++ conf/LINUXPPC64.m4 @@ -0,0 +1,19 @@ +divert(-1) +undefine(`len') +# +# append an underscore to FORTRAN function names +# +define(`FUNCTION',`$1_') +# +# FORTRAN character strings are passed as follows: +# a pointer to the base of the string is passed in the normal +# argument list, and the length is passed by value as an extra +# argument, after all of the other arguments. +# +define(`ARGS',`($1`'undivert(1))') +define(`SAVE',`divert(1)$1`'divert(0)') +define(`STRING_ARG',`$1_ptr`'SAVE(`, $1_len')') +define(`STRING_ARG_DECL',`char * $1_ptr; int $1_len') +define(`STRING_LEN',`$1_len') +define(`STRING_PTR',`$1_ptr') +divert(0) --- conf/LINUXS390.def +++ conf/LINUXS390.def @@ -0,0 +1,24 @@ +# +# Notes on readline Usage: +# +# If your Linux system has readline, then you may append the +# following flags to the defines below: +# +# ARCHCFLAGS = . . . -DHASREADLINE +# ARCHLIB = . . . -lreadline +# +# and recompile PVM. +# +# On some Linux systems, readline requires ncurses, so you +# must also add "-lncurses" to the ARCHLIB define. +# +ARCHCFLAGS = -DRSHCOMMAND=\"/usr/bin/rsh\" \ + -DHASSTDLIB -DNEEDENDIAN -DFDSETNOTSTRUCT \ + -DHASERRORVARS -DHASREADLINE -DNOTMPNAM +ARCHDLIB = +ARCHDOBJ = +ARCHLIB = -lreadline -lncurses +HASRANLIB = t +AR = ar +PVM_ARCH = LINUXS390 +MAKE = make --- conf/LINUXS390.m4 +++ conf/LINUXS390.m4 @@ -0,0 +1,19 @@ +divert(-1) +undefine(`len') +# +# append an underscore to FORTRAN function names +# +define(`FUNCTION',`$1_') +# +# FORTRAN character strings are passed as follows: +# a pointer to the base of the string is passed in the normal +# argument list, and the length is passed by value as an extra +# argument, after all of the other arguments. +# +define(`ARGS',`($1`'undivert(1))') +define(`SAVE',`divert(1)$1`'divert(0)') +define(`STRING_ARG',`$1_ptr`'SAVE(`, $1_len')') +define(`STRING_ARG_DECL',`char * $1_ptr; int $1_len') +define(`STRING_LEN',`$1_len') +define(`STRING_PTR',`$1_ptr') +divert(0) --- lib/aimk +++ lib/aimk @@ -36,12 +36,20 @@ done case "x$PVM_ROOT" in x ) -# if [ -d $HOME/pvm3 ]; then -# PVM_ROOT=$HOME/pvm3 -# else + if [ -d /usr/lib/pvm3 ]; then + PVM_ROOT=/usr/lib/pvm3 + elif [ -d /usr/share/pvm3 ]; then + PVM_ROOT=/usr/share/pvm3 + elif [ -d /usr/local/lib/pvm3 ]; then + PVM_ROOT=/usr/local/lib/pvm3 + elif [ -d /usr/pvm/pvm3 ]; then + PVM_ROOT=/usr/pvm/pvm3 + elif [ -d $HOME/pvm3 ]; then + PVM_ROOT=$HOME/pvm3 + else echo aimk: PVM_ROOT not defined >&2 exit 1 -# fi + fi ;; esac case "x$PVM_ARCH" in x | xUNKNOWN ) --- lib/pvm +++ lib/pvm @@ -22,13 +22,21 @@ if [ -d $PVM_ROOT ]; then export PVM_ROOT else - if [ -d $HOME/pvm3 ]; then + if [ -d /usr/lib/pvm3 ]; then + PVM_ROOT=/usr/lib/pvm3 + elif [ -d /usr/share/pvm3 ]; then + PVM_ROOT=/usr/share/pvm3 + elif [ -d /usr/local/lib/pvm3 ]; then + PVM_ROOT=/usr/local/lib/pvm3 + elif [ -d /usr/pvm/pvm3 ]; then + PVM_ROOT=/usr/pvm/pvm3 + elif [ -d $HOME/pvm3 ]; then PVM_ROOT=$HOME/pvm3 - export PVM_ROOT else echo pvm: PVM_ROOT not defined >&2 exit 1 fi + export PVM_ROOT fi ;; esac --- lib/pvmd +++ lib/pvmd @@ -13,25 +13,33 @@ # 03 Jun 1994 Manchek # + case "x$PVM_ROOT" in x ) case "$0" in /*) PVM_ROOT="$0" ;; *) PVM_ROOT=`pwd`/"$0" ;; esac - PVM_ROOT=`echo "$PVM_ROOT" | sed -e 's/\/lib\/pvmd//'` + PVM_ROOT=`echo "$PVM_ROOT" | sed -e 's/\/lib\/pvm//'` if [ -d $PVM_ROOT ]; then export PVM_ROOT else - if [ -d $HOME/pvm3 ]; then + if [ -d /usr/lib/pvm3 ]; then + PVM_ROOT=/usr/lib/pvm3 + elif [ -d /usr/share/pvm3 ]; then + PVM_ROOT=/usr/share/pvm3 + elif [ -d /usr/local/lib/pvm3 ]; then + PVM_ROOT=/usr/local/lib/pvm3 + elif [ -d /usr/pvm/pvm3 ]; then + PVM_ROOT=/usr/pvm/pvm3 + elif [ -d $HOME/pvm3 ]; then PVM_ROOT=$HOME/pvm3 - export PVM_ROOT else - echo pvmd: PVM_ROOT not defined >&2 + echo pvm: PVM_ROOT not defined >&2 exit 1 fi + export PVM_ROOT fi ;; esac - # # these lines let you set environment variables on systems # where a shell profile doesn't get read when rshing in. --- lib/wrapper +++ lib/wrapper @@ -0,0 +1,84 @@ +#! /bin/sh +# +# Wrapper for pvm binaries on various OS systems +# Install this as e.g. pvmfoo in /usr/bin/ and this +# script tries to start +# +# $PVM_ROOT/bin/$PVM_ARCH/pvmfoo +# $PVM_ROOT/lib/$PVM_ARCH/pvmfoo +# +# Adapted from the pvm script for SuSE Linux: <werner@suse.de> +# + +wrapped="`basename $0`" + +if test -z "$PVM_ROOT"; then + case "$0" in + /*) PVM_ROOT="$0" ;; + *) PVM_ROOT="`pwd`/$0" ;; + esac + PVM_ROOT="`echo \"$PVM_ROOT\" | sed -e \"s:/lib/${wrapped}::\"`" + if [ -d $PVM_ROOT ]; then + export PVM_ROOT + else + if test -d /usr/lib/pvm3 ; then + PVM_ROOT=/usr/lib/pvm3 + elif test -d /usr/share/pvm3 ; then + PVM_ROOT=/usr/share/pvm3 + elif test -d /usr/local/lib/pvm3 ; then + PVM_ROOT=/usr/local/lib/pvm3 + elif test -d /usr/pvm/pvm3 ; then + PVM_ROOT=/usr/pvm/pvm3 + elif test -d $HOME/pvm3 ; then + PVM_ROOT=$HOME/pvm3 + else + echo pvm: PVM_ROOT not defined >&2 + exit 1 + fi + export PVM_ROOT + fi +fi + +# +# these lines let you set environment variables on systems +# where a shell profile doesn't get read when rshing in. +# +if test -f $PVM_ROOT/.pvmprofile ; then + . $PVM_ROOT/.pvmprofile +fi +if test -f $HOME/.pvmprofile ; then + . $HOME/.pvmprofile +fi + +if test -z "$PVM_ARCH" -o "$PVM_ARCH" = "UNKNOWN" ; then + PVM_ARCH="`$PVM_ROOT/lib/pvmgetarch`" + if test -z "$PVM_ARCH"; then + echo pvm: can\'t set arch >&2 + exit 1 + fi +fi + +if test "$1" = "-exe" ; then + sfx=".exe" + shift +else + sfx="" +fi + +err="" +for d in bin lib ; do + program="${PVM_ROOT}/${d}/${PVM_ARCH}/${wrapped}${sfx}" + if test -x ${program} ; then + export PVM_ARCH + exec ${program} $@ + exit 1 + fi + err="$program $err" +done + +for p in $err ; do + echo "${wrapped}: $p doesn't exist." >&2 +done +echo "Make sure PVM is built and PVM_ROOT is set correctly" >&2 +exit 1 + --- lib/xpvm +++ lib/xpvm @@ -14,22 +14,31 @@ # 11 May 1995 Manchek, from Convex version # + case "x$PVM_ROOT" in x ) case "$0" in /*) PVM_ROOT="$0" ;; *) PVM_ROOT=`pwd`/"$0" ;; esac - PVM_ROOT=`echo "$PVM_ROOT" | sed -e 's/\/lib\/xpvm//'` + PVM_ROOT=`echo "$PVM_ROOT" | sed -e 's/\/lib\/pvm//'` if [ -d $PVM_ROOT ]; then export PVM_ROOT else - if [ -d $HOME/pvm3 ]; then + if [ -d /usr/lib/pvm3 ]; then + PVM_ROOT=/usr/lib/pvm3 + elif [ -d /usr/share/pvm3 ]; then + PVM_ROOT=/usr/share/pvm3 + elif [ -d /usr/local/lib/pvm3 ]; then + PVM_ROOT=/usr/local/lib/pvm3 + elif [ -d /usr/pvm/pvm3 ]; then + PVM_ROOT=/usr/pvm/pvm3 + elif [ -d $HOME/pvm3 ]; then PVM_ROOT=$HOME/pvm3 - export PVM_ROOT else - echo xpvm: PVM_ROOT not defined >&2 + echo pvm: PVM_ROOT not defined >&2 exit 1 fi + export PVM_ROOT fi ;; esac --- man/man1/pvm_intro.1 +++ man/man1/pvm_intro.1 @@ -130,6 +130,12 @@ LINUXSPARC Sparc running Linux .TP +LINUX64 +IA64 running Linux +.TP +LINUXS390 +S390 running Linux +.TP M88K Motorola M88100 running Real/IX .TP --- shmd/sem.c +++ shmd/sem.c @@ -16,7 +16,7 @@ #include <unistd.h> /* needed for usleep */ #include <stdio.h> -#ifdef XXX_IMA_LINUX +#ifdef LINUX /* Seems to be O.K. on latest Linux systems now. JAK - 9/25/01 */ union semun forth_arg; /* XXXX optional under all OSs except Linux ! */ #endif @@ -46,7 +46,7 @@ int sem_is (int sem, int n) { -#ifdef XXX_IMA_LINUX +#ifdef LINUX /* Seems to be O.K. on latest Linux systems now. JAK - 9/25/01 */ return (semctl( sem, n, GETVAL, forth_arg)); #else @@ -82,7 +82,7 @@ if((semid=semget (k, n, 0)) !=-1) { printf("[init_sem] sem key %lx exists with id of %d\n", (long) k, semid); -#ifdef XXX_IMA_LINUX +#ifdef LINUX /* Seems to be O.K. on latest Linux systems now. JAK - 9/25/01 */ semctl (semid, 0, IPC_RMID, forth_arg); /* existing sem destroy */ #else @@ -106,7 +106,7 @@ void del_sem (int semid) { -#ifdef XXX_IMA_LINUX +#ifdef LINUX /* Seems to be O.K. on latest Linux systems now. JAK - 9/25/01 */ semctl (semid, 0, IPC_RMID, forth_arg); /* existing sem destroy */ #else --- src/Makefile.aimk +++ src/Makefile.aimk @@ -74,6 +74,8 @@ LIBPREFIX = lib LIBPVM = $(LIBPREFIX)pvm3 +LIBVERSION = 3 +SHLIBPVM = -shared -Wl,-soname,$(LIBPVM).so.$(LIBVERSION) # # GNU Regular Expression Defines - set if needed @@ -212,7 +214,7 @@ OS2TARGETS = $(LIBDIR)/pvmd3-os2 $(LIBDIR)/lib-os2 -all: pvmd3$(EXESFX) $(LIBPVM).a +all: pvmd3$(EXESFX) $(LIBPVM).a $(LIBPVM).so all-shm: pvmd3-shm lib-shm $(LIBPVM)s.a @@ -222,7 +224,7 @@ all-os2: pvmd3-os2 lib-os2 -install: $(LIBDIR) $(LIBDIR)/pvmd3$(EXESFX) $(LIBDIR)/$(LIBPVM).a +install: $(LIBDIR) $(LIBDIR)/pvmd3$(EXESFX) $(LIBDIR)/$(LIBPVM).a $(LIBDIR)/$(LIBPVM).so install-shm: $(LIBDIR) $(SHMEMTARGETS) @@ -243,6 +245,9 @@ $(LIBDIR)/$(LIBPVM).a: $(LIBPVM).a cp $(LIBPVM).a $(LIBDIR) +$(LIBDIR)/$(LIBPVM).so: $(LIBPVM).so + cp $(LIBPVM).so $(LIBDIR) + # libdir shm pvmd3 & libpvm3*.a $(LIBDIR)/pvmd3-shm: pvmd3-shm @@ -288,10 +293,22 @@ $(LOPT) $(ARCHDLIB) $(LIBPVM).a: $(REGEXCONF) $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) - rm -f $(LIBPVM).a + @echo ------------------------------- + @echo --- Building static Library --- + @echo ------------------------------- + rm -f $(LIBPVM).a $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) $(REGEXDIR)/pvmregex.o $(REGEXDIR)/regex.o + $(MAKE) CFLOPTS="$(CFLOPTS)" $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) $(AR) cr $(LIBPVM).a $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) case x$(HASRANLIB) in xt ) echo ranlib; ranlib $(LIBPVM).a ;; esac +$(LIBPVM).so: regexconfig + @echo ------------------------------- + @echo --- Building shared Library --- + @echo ------------------------------- + rm -f $(LIBPVM).so $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) $(REGEXDIR)/pvmregex.o $(REGEXDIR)/regex.o + $(MAKE) CFLOPTS="-fPIC $(CFLOPTS)" $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) + $(CC) $(SHLIBPVM) -o $(LIBPVM).so $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) -lc + # shm pvmd3 & libpvm3*.a pvmd3-shm: $(REGEXCONF) $(DOBJ) $(SHMEMDOBJ) --- src/patch4linux +++ src/patch4linux @@ -0,0 +1,89 @@ +--- Makefile ++++ Makefile 2000/02/22 16:08:17 +@@ -56,6 +56,8 @@ + # REGEXCONF, REGEXCONFOS2, REGEXOBJS + # + ++include $(PVM_ROOT)/conf/$(PVM_ARCH).def ++ + SHELL = /bin/sh + PVMDIR = ../.. + SDIR = $(PVMDIR)/src +@@ -73,19 +75,21 @@ + + LIBPREFIX = lib + LIBPVM = $(LIBPREFIX)pvm3 ++LIBVERSION = 3 ++SHLIBPVM = -shared -Wl,-soname,$(LIBPVM).so.$(LIBVERSION) + + # + # GNU Regular Expression Defines - set if needed + # + +-REGEXCONF = +-#REGEXCONF = regexconfig ++REGEXCONF = ++#REGEXCONF = regexconfig + + REGEXCONFOS2 = + #REGEXCONFOS2 = regexconfig-os2 + +-REGEXOBJS = +-#REGEXOBJS = pvmregex.o regex.o ++REGEXOBJS = ++#REGEXOBJS = pvmregex.o regex.o + + # + # PVM Daemon & Library Objects +@@ -211,7 +215,7 @@ + + OS2TARGETS = $(LIBDIR)/pvmd3-os2 $(LIBDIR)/lib-os2 + +-all: pvmd3$(EXESFX) $(LIBPVM).a ++all: pvmd3$(EXESFX) $(LIBPVM).a $(LIBPVM).so + + all-shm: pvmd3-shm lib-shm $(LIBPVM)s.a + +@@ -221,7 +225,7 @@ + + all-os2: pvmd3-os2 lib-os2 + +-install: $(LIBDIR) $(LIBDIR)/pvmd3$(EXESFX) $(LIBDIR)/$(LIBPVM).a ++install: $(LIBDIR) $(LIBDIR)/pvmd3$(EXESFX) $(LIBDIR)/$(LIBPVM).a $(LIBDIR)/$(LIBPVM).so + + install-shm: $(LIBDIR) $(SHMEMTARGETS) + +@@ -242,6 +246,9 @@ + $(LIBDIR)/$(LIBPVM).a: $(LIBPVM).a + cp $(LIBPVM).a $(LIBDIR) + ++$(LIBDIR)/$(LIBPVM).so: $(LIBPVM).so ++ cp $(LIBPVM).so $(LIBDIR) ++ + # libdir shm pvmd3 & libpvm3*.a + + $(LIBDIR)/pvmd3-shm: pvmd3-shm +@@ -287,9 +294,22 @@ + $(LOPT) $(ARCHDLIB) + + $(LIBPVM).a: $(REGEXCONF) $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) +- rm -f $(LIBPVM).a ++ @echo ------------------------------- ++ @echo --- Building static Library --- ++ @echo ------------------------------- ++ rm -f $(LIBPVM).a $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) $(REGEXDIR)/pvmregex.o $(REGEXDIR)/regex.o ++ $(MAKE) CFLOPTS="$(CFLOPTS)" $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) + $(AR) cr $(LIBPVM).a $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) + case x$(HASRANLIB) in xt ) echo ranlib; ranlib $(LIBPVM).a ;; esac ++ ++$(LIBPVM).so: regexconfig ++ @echo ------------------------------- ++ @echo --- Building shared Library --- ++ @echo ------------------------------- ++ rm -f $(LIBPVM).so $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) $(REGEXDIR)/pvmregex.o $(REGEXDIR)/regex.o ++ $(MAKE) CFLOPTS="-fPIC $(CFLOPTS)" $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) ++ $(CC) $(SHLIBPVM) -o $(LIBPVM).so $(LOBJ) $(LPVMSOCK) $(SOCKLOBJ) -lc ++ + + # shm pvmd3 & libpvm3*.a + --- src/tdpro.c +++ src/tdpro.c @@ -1138,6 +1138,24 @@ } else { /* anywhere */ ht_merge(htp, hosts); + + /* + * remove head nodes from Beowulf machine + */ + { + char *exlist = getenv("PVM_EXCLUDE"); + while (exlist) { + char *next = exlist; + while (*exlist && *exlist != ':') + exlist++; + if (*exlist) + *exlist++ = 0; + else + exlist = 0; + if (hp = nametohost(hosts, next)) + ht_delete(htp, hp); + } + } } }