1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-25 00:51:21 +00:00

update to 2012/5/1 R2 version.

This commit is contained in:
Maho Nakata 2013-03-05 11:43:18 +00:00
parent a795caea20
commit 773f134396
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=313450
12 changed files with 714 additions and 421 deletions

View File

@ -7,7 +7,6 @@
PORTNAME= gamess
PORTVERSION= ${SNAPDATE}
PORTREVISION= 2
CATEGORIES= science
MASTER_SITES= #http://www.msg.ameslab.gov/GAMESS/License_Agreement.html
DISTNAME= gamess-current
@ -18,7 +17,7 @@ COMMENT= A freely obtainable ab-initio molecular orbital calculation program
USE_GMAKE= yes
WRKSRC= ${WRKDIR}/gamess
SNAPDATE= 20090112.3
SNAPDATE= 20120501.2
USE_FORTRAN= yes
@ -55,8 +54,6 @@ BLAS= -lptf77blas
LAPACK= -lalapack -lptcblas
.endif
MAKE_ENV+= LANG="C"
.if defined(WITH_OPTIMIZED_FLAGS)
.if ${ARCH} == "amd64"
CFLAGS+= -pipe -O3 -ffast-math -funroll-all-loops -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time
@ -88,18 +85,31 @@ FORTRAN= gfortran
.endif
pre-build:
${CP} ${FILESDIR}/install.info ${WRKSRC}
${CP} ${FILESDIR}/Makefile.top ${WRKSRC}/Makefile
@${REINPLACE_CMD} -e 's+%%PREFIX%%+${PREFIX}+g' ${WRKSRC}/gms-files.csh
.if ${ARCH} == "amd64"
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd-amd64+g' ${WRKSRC}/comp
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd-amd64+g' ${WRKSRC}/compall
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd-amd64+g' ${WRKSRC}/ddi/compddi
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd-amd64+g' ${WRKSRC}/lked
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd64+g' ${WRKSRC}/comp
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd64+g' ${WRKSRC}/compall
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd64+g' ${WRKSRC}/ddi/compddi
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd64+g' ${WRKSRC}/lked
@${REINPLACE_CMD} -e 's+%%GMS_TARGET%%+freebsd64+g' ${WRKSRC}/install.info
.elif ${ARCH} == "i386"
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd-i386+g' ${WRKSRC}/comp
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd-i386+g' ${WRKSRC}/compall
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd-i386+g' ${WRKSRC}/ddi/compddi
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd-i386+g' ${WRKSRC}/lked
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd32+g' ${WRKSRC}/comp
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd32+g' ${WRKSRC}/compall
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd32+g' ${WRKSRC}/ddi/compddi
@${REINPLACE_CMD} -e 's+%%ARCH%%+freebsd32+g' ${WRKSRC}/lked
@${REINPLACE_CMD} -e 's+%%GMS_TARGET%%+freebsd32+g' ${WRKSRC}/install.info
.endif
@${REINPLACE_CMD} -e 's+%%FC%%+${FC}+g ; \
@${REINPLACE_CMD} -e 's+%%GMS_PATH%%+${WRKSRC}+g ; \
s+%%GMS_BUILD_DIR%%+${WRKSRC}+g ; \
s+%%GMS_FORTRAN%%+${FORTRAN}+g ; \
s+%%FC%%+${FC}+g ; \
s+%%GMS_GFORTRAN_VERNO%%+${GCC_DEFAULT_VERSION}+g ; \
s+%%GMS_DDI_COMM%%+sockets+g ; \
s+%%GMS_MATHLIB%%+none+g ; \
s+%%GMS_MATHLIB_PATH%%+${LOCALBASE}/lib+g' ${WRKSRC}/install.info
${REINPLACE_CMD} -e 's+%%FC%%+${FC}+g ; \
s+%%LDFLAGS%%+${LDFLAGS}+g ; \
s+%%LOCALBASE%%+${LOCALBASE}+g ; \
s+%%LIBSVM%%+${LIBSVM}+g ; \
@ -107,26 +117,26 @@ pre-build:
s+%%BLAS%%+${BLAS}+g ; \
s+%%PTHREAD_LIBS%%+${PTHREAD_LIBS}+g' \
${WRKSRC}/lked
@${REINPLACE_CMD} -e 's+%%FC%%+${FC}+g ; \
s+%%FFLAGS%%+${FFLAGS}+g ; \
s+%%FORTRAN%%+${FORTRAN}+g' \
${REINPLACE_CMD} -e 's+%%FC%%+${FC}+g ; \
s+%%FFLAGS%%+${FFLAGS}+g' \
${WRKSRC}/comp
@${REINPLACE_CMD} -e 's+%%CC%%+${CC}+g' \
${REINPLACE_CMD} -e 's+%%CC%%+${CC}+g' \
${WRKSRC}/compall
@${REINPLACE_CMD} -e 's+%%PREFIX%%+${PREFIX}+g' \
${REINPLACE_CMD} -e 's+%%PREFIX%%+${PREFIX}+g' \
${WRKSRC}/rungms
@${REINPLACE_CMD} -e 's+%%PTHREAD_CFLAGS%%+${PTHREAD_CFLAGS}+g ; \
${REINPLACE_CMD} -e 's+%%FC%%+${FC}+g ; \
s+%%GMS_FORTRAN%%+${FORTRAN}+g ; \
s+%%PTHREAD_CFLAGS%%+${PTHREAD_CFLAGS}+g ; \
s+%%PTHREAD_LIBS%%+${PTHREAD_LIBS}+g ; \
s+%%UNDERSCORES%%+${UNDERSCORES}+g ; \
s+%%FORTRAN%%+${FORTRAN}+g ; \
s+%%CC%%+${CC}+g' \
${WRKSRC}/ddi/compddi
${CP} ${FILESDIR}/Makefile.top ${WRKSRC}/Makefile
${CP} ${FILESDIR}/Makefile.tools ${WRKSRC}/tools/Makefile
@${REINPLACE_CMD} -e 's+%%FC%%+${FC}+g ; \
${REINPLACE_CMD} -e 's+%%FC%%+${FC}+g ; \
s+%%FFLAGS%%+${FFLAGS}+g' \
${WRKSRC}/tools/Makefile
do-build:
(cd ${WRKSRC}; ${GMAKE})
@ -138,12 +148,21 @@ do-install:
${MKDIR} ${PREFIX}/share/examples/gamess
${INSTALL_SCRIPT} ${WRKDIR}/gamess/rungms ${PREFIX}/bin/gamess
${CHMOD} 555 ${PREFIX}/bin/gamess
${INSTALL_SCRIPT} ${WRKDIR}/gamess/gms-files.csh ${PREFIX}/bin/gms
${INSTALL_PROGRAM} ${WRKDIR}/gamess/gamess.00.x ${PREFIX}/bin/gms
${INSTALL_PROGRAM} ${WRKDIR}/gamess/ddi/ddikick.x ${PREFIX}/bin/gms
${INSTALL_DATA} ${WRKDIR}/gamess/*.DOC ${PREFIX}/share/doc/gamess/
${INSTALL_DATA} ${WRKDIR}/gamess/tests/*.inp ${PREFIX}/share/examples/gamess/
${INSTALL_DATA} ${WRKDIR}/gamess/ericfmt.dat ${PREFIX}/share/gamess/
${INSTALL_DATA} ${WRKDIR}/gamess/mcpdata/* ${PREFIX}/share/gamess/mcpdata/
${INSTALL_DATA} ${WRKDIR}/gamess/tests/standard/*.inp ${PREFIX}/share/examples/gamess/
${MKDIR} ${PREFIX}/share/gamess/auxdata
${MKDIR} ${PREFIX}/share/gamess/auxdata/BASES
${MKDIR} ${PREFIX}/share/gamess/auxdata/EFP
${MKDIR} ${PREFIX}/share/gamess/auxdata/MCP
${MKDIR} ${PREFIX}/share/gamess/auxdata/QUANPOL
${INSTALL_DATA} ${WRKDIR}/gamess/auxdata/ericfmt.dat ${PREFIX}/share/gamess/auxdata/
${INSTALL_DATA} ${WRKDIR}/gamess/auxdata/BASES/* ${PREFIX}/share/gamess/auxdata/BASES
${INSTALL_DATA} ${WRKDIR}/gamess/auxdata/EFP/* ${PREFIX}/share/gamess/auxdata/EFP
${INSTALL_DATA} ${WRKDIR}/gamess/auxdata/MCP/* ${PREFIX}/share/gamess/auxdata/MCP
${INSTALL_DATA} ${WRKDIR}/gamess/auxdata/QUANPOL/* ${PREFIX}/share/gamess/auxdata/QUANPOL
${INSTALL_DATA} ${WRKDIR}/gamess/ddi/readme.ddi ${PREFIX}/share/doc/gamess/
.include <bsd.port.post.mk>

View File

@ -1,2 +1,2 @@
SHA256 (gamess/20090112.3/gamess-current.tar.gz) = 0502c216c792a1c0fcebd6d3955f0feaeb4f9295b75cf0cb3af04c3516cec0bd
SIZE (gamess/20090112.3/gamess-current.tar.gz) = 11000803
SHA256 (gamess/20120501.2/gamess-current.tar.gz) = 8004bcc09e7a18252144b54934668786eeb02ff382b9762186568844e4b749c1
SIZE (gamess/20120501.2/gamess-current.tar.gz) = 28353096

View File

@ -2,7 +2,7 @@
all: gamess_exe
gamess_exe:
(cd tools ; make )
(cd tools ; ${MAKE} )
(cd ddi ; ./compddi )
./compall
csh lked

View File

@ -0,0 +1,15 @@
#!/bin/csh
# $FreeBSD$
# compilation configuration for GAMESS
setenv GMS_PATH %%GMS_PATH%%
setenv GMS_BUILD_DIR %%GMS_BUILD_DIR%%
# machine type
setenv GMS_TARGET %%GMS_TARGET%%
# FORTRAN compiler setup
setenv GMS_FORTRAN %%GMS_FORTRAN%%
setenv GMS_GFORTRAN_VERNO %%GMS_GFORTRAN_VERNO%%
# mathematical library setup
setenv GMS_MATHLIB %%GMS_MATHLIB%%
setenv GMS_MATHLIB_PATH %%GMS_MATHLIB_PATH%%
# parallel message passing model setup
setenv GMS_DDI_COMM %%GMS_DDI_COMM%%

View File

@ -1,292 +1,322 @@
--- comp.orig 2009-01-11 00:10:02.000000000 +0900
+++ comp 2009-05-08 12:12:09.000000000 +0900
@@ -9,11 +9,11 @@
# axp64,compaq-sc,cray-pvp,cray-t3e,cray-x1,cray-xd1,cray-xt3,
# fuji-pp32,fuji-pp64,hpux32,hpux64,ibm32,ibm64,ibm64-sp,ibm-bg,
# linux32,linux64,linux-ia64,mac32,mac64,macG5,necsx,
-# sgi32,sgi64,sun32,sun64
+# sgi32,sgi64,sun32,sun64,freebsd-amd64,freebsd-i386
# 2. Choose your GAMESS directory tree.
#
-set TARGET=ibm64
-chdir /u1/mike/gamess
+set TARGET=%%ARCH%%
+#chdir /u1/mike/gamess
#
# ---- and now the script begins...
#
@@ -49,6 +49,8 @@
--- comp.orig 2012-12-05 05:49:41.000000000 +0900
+++ comp 2013-02-27 15:56:56.000000000 +0900
@@ -97,6 +97,8 @@
if ($TARGET == ibm-bg) set OK=true
if ($TARGET == linux32) set OK=true
if ($TARGET == linux64) set OK=true
if ($TARGET == linux-ia64) set OK=true
+if ($TARGET == freebsd-amd64) set OK=true
+if ($TARGET == freebsd-i386) set OK=true
+if ($TARGET == freebsd32) set OK=true
+if ($TARGET == freebsd64) set OK=true
if ($TARGET == mac32) set OK=true
if ($TARGET == mac64) set OK=true
if ($TARGET == macG5) set OK=true
@@ -110,6 +112,8 @@
if ($TARGET == necsx) set OK=true
@@ -149,6 +151,8 @@
if ($TARGET == ibm-bg) set BLAS3=true
if (($TARGET == linux32) && ($GMS_MATHLIB != none)) set BLAS3=true
if (($TARGET == linux64) && ($GMS_MATHLIB != none)) set BLAS3=true
+if (($TARGET == freebsd32) && ($GMS_MATHLIB != none)) set BLAS3=true
+if (($TARGET == freebsd64) && ($GMS_MATHLIB != none)) set BLAS3=true
if ($TARGET == mac32) set BLAS3=true
if ($TARGET == mac64) set BLAS3=true
if ($TARGET == macG5) set BLAS3=true
+if ($TARGET == freebsd-i386) set BLAS3=true
+if ($TARGET == freebsd-amd64) set BLAS3=true
if ($TARGET == sgi32) set BLAS3=true
if ($TARGET == sgi64) set BLAS3=true
if (($TARGET == sun32) && (-e /opt/SUNWspro/lib/libsunperf.so)) set BLAS3=true
@@ -493,6 +497,19 @@
if ($MODULE == iolib) setenv MACHIN '*UNX'
if ($MODULE == unport) setenv MACHIN '*INT'
@@ -579,6 +583,26 @@
endif
endif
+if ($TARGET == freebsd-amd64) then
+ setenv MACHIN '*I64'
+ if ($MODULE == ddi) setenv MACHIN '*SOC'
+ if ($MODULE == iolib) setenv MACHIN '*UNX'
+ if ($MODULE == unport) setenv MACHIN '*L64'
+endif
+if ($TARGET == freebsd-i386) then
#
+if ($TARGET == freebsd32) then
+ setenv MACHIN '*I32'
+ if ($MODULE == ddi) setenv MACHIN '*SOC'
+ if ($MODULE == iolib) setenv MACHIN '*UNX'
+ if ($MODULE == unport) setenv MACHIN '*L32'
+endif
+#
+if ($TARGET == freebsd64) then
+ setenv MACHIN '*I64'
+ if ($MODULE == ddi) setenv MACHIN '*SOC'
+ if ($MODULE == iolib) setenv MACHIN '*UNX'
+ if ($MODULE == unport) then
+ if ($GMS_FORTRAN == ifort) then
+ setenv MACHIN '*INT'
+ else
+ setenv MACHIN '*L64'
+ endif
+ endif
+endif
+
if (($TARGET == mac32) || ($TARGET == macG5)) then
if ($TARGET == mac32) then
setenv MACHIN '*I32'
if ($MODULE == ddi) setenv MACHIN '*SOC'
@@ -1832,6 +1849,236 @@
#-- f77 -c $OPT -stackvar $MODULE.f
#-- unset echo
#--endif
+
@@ -1640,6 +1664,137 @@
endsw
# ... end of Linux on 32 bit processors.
endif
+if ($TARGET == freebsd32) then
+#
+# FreeBSD (i386)
+#
+if ($TARGET == freebsd-i386) then
+#
+# The target of freebsd-i386 requires that you select a FORTRAN compiler.
+# There are five choices,
+# there are three supported 32 bit compilers: g77, gfortran, ifort
+# g77,
+# the default, because it is on our PCs at Iowa State!
+# the gnu FORTRAN being included in older Linux distributions
+# lacks support for unit numbers over 99, or REAL*16
+# gfortran,
+# the gnu FORTRAN being included in recent Linux distributions
+# the gnu FORTRAN being included in newer Linux distributions
+# this allows unit numbers over 99, but not REAL*16
+# Intel's commercial ifort,
+# this is usually a bit faster, and supports both unit
+# numbers above 99 and REAL*16 (i.e. runs all of GAMESS)
+# Portland's commercial pgf77,
+# lacks support for REAL*16
+# the obsolete combination of f2c/gcc.
+# lacks support for unit numbers over 99, or REAL*16
+#
+# Note that the source code is the same for any of the possibilities, so
+# something missing means only that you can't run that particular thing:
+# Use of RUNTYP=TDHFX requires file numbers over 99.
+# Use of quadruple precision (MODEQR) in relativity requires REAL*16.
+#
+# The only thing you need to change is the next line.
+# Note: you must make the analogous choice in compddi and lked, as well.
+#
+ set FORTRAN=%%FORTRAN%% # choose from g77, gfortran, ifort, pgf77, f2c
+#
+ switch ($FORTRAN)
+#
+# 1. Using g77 compiler. compiler version query: rpm -q gcc-g77
+# If your RedHat is older than 6.0, see the f2c/gcc clause below.
+# supports unit numbers above 99 and REAL*16 (runs all of GAMESS)
+
+ switch ($GMS_FORTRAN)
+#
+# The meaning of g77's flags are
+# -O0, -O1, -O2, -O3 are the optimization levels, -O means -O1
+# -Wno-globals -fno-globals together suppress argument type checking.
+# -fautomatic defeats use of static storage
+# -malign-double uses 64 bit data alignment
+# Tests on a representative GAMESS test suite (executing energy, gradient
+# hessian code, as well as various SCF, MCSCF, MP2 runs, show that each
+# of the more aggressive optimizations -ffast-math, -march=i586, and -O3
+# gave speedups of less than 1% each. (-march=i686 slows a Celeron type
+# Pentium II fractionally). None of these optimizations are used below.
+# g77 does not support FORTRAN logical units above 99, or 128 bit math.
+#
+ case g77:
+ set OPT = '-O2'
+ if ($MODULE == ormas1) set OPT='-O2 -fno-move-all-movables' # RH9, g77 3.3
+ if ($MODULE == zheev) set OPT='-O0' # defensive compiling
+#
+# g77 does not support FORTRAN logical units above 99, or 128 bit math.
+#
+ if (($MODULE == qeigen) || ($MODULE == int2c)) then
+ mv $MODULE.f $MODULE.junk
+ mv -f $MODULE_F $MODULE.junk
+ sed -e "s/Q-/D-/g" \
+ -e "s/Q+00/D+00/g" \
+ -e "s/REAL\*16/DOUBLE PRECISION/" $MODULE.junk > $MODULE.f
+ -e "s/REAL\*16/DOUBLE PRECISION/" $MODULE.junk > $MODULE_F
+ rm -f $MODULE.junk
+ endif
+ if (($MODULE == iolib) || ($MODULE == inputa)) then
+ mv $MODULE.f $MODULE.junk
+ sed -e "s/MXUNIT=299/MXUNIT=99/g" $MODULE.junk > $MODULE.f
+ if (($MODULE == iolib) || ($MODULE == inputa) || \
+ ($MODULE == gamess) || ($MODULE == mp2ims)) then
+ mv -f $MODULE_F $MODULE.junk
+ sed -e "s/MXUNIT=299/MXUNIT=99/g" $MODULE.junk > $MODULE_F
+ rm -f $MODULE.junk
+ endif
+ set echo
+ %%FC%% -c %%FFLAGS%% $OPT -malign-double -fautomatic \
+ -Wno-globals -fno-globals $MODULE.f
+ g77 -c $OPT -malign-double -fautomatic \
+ -Wno-globals -fno-globals $MODULE_F
+ unset echo
+ breaksw
+#
+# 2. Using gfortran compiler. Tested with gfortran 4.1.1 on FC5.
+# gfortran was included with Fedora Core distributions starting around FC4.
+# compiler version query: rpm -q gcc-gfortran
+#
+# This is a 32 bit version, i.e. not using -fdefault-integer-8!
+# Unlike g77, gfortran allows for unit numbers above 100.
+# Like g77, gfortran does not support quadruple precision.
+#
+# -Ox optimization level is from the gcc back end, x can be 0,1,2,3
+# -std=legacy suppresses warnings about use of f77 constructs.
+#
+ case gfortran:
+ set OPT='-O2'
+ if ($MODULE == zheev) set OPT='-O0' # defensive compiling
+ if (($MODULE == qeigen) || ($MODULE == int2c)) then
+ mv $MODULE.f $MODULE.junk
+ sed -e "s/Q-/D-/g" \
+ -e "s/Q+00/D+00/g" \
+ -e "s/REAL\*16/DOUBLE PRECISION/" $MODULE.junk > $MODULE.f
+ rm -f $MODULE.junk
+ if ($MODULE == pcmcv2) set OPT='-O1' # EFP+CPCM, ala Francois, v4.1.2
+ if ($GMS_GFORTRAN_VERNO == 4.6) then
+ if ($MODULE == cosmo) set OPT='-O0' # this issue seen in 4.6.x
+ if ($MODULE == tddgrd) set OPT='-O0' # this issue seen in 4.6.1
+ endif
+ if ($GMS_GFORTRAN_VERNO == 4.7) then
+ if ($MODULE == cosmo) set OPT='-O0'
+ if ($MODULE == dcscf) set OPT='-O0'
+ if ($MODULE == rohfcc) set OPT='-O0'
+ if ($MODULE == tddgrd) set OPT='-O0'
+ endif
+# as of 4.6 tested in late 2011, gfortran can do q.p.!
+ switch ($GMS_GFORTRAN_VERNO)
+ case 4.0:
+ case 4.1:
+ case 4.2:
+ case 4.3:
+ case 4.4:
+ case 4.5:
+ set extraflags=''
+ if (($MODULE == qeigen) || ($MODULE == int2c)) then
+ mv -f $MODULE_F $MODULE.junk
+ sed -e "s/Q-/D-/g" \
+ -e "s/Q+00/D+00/g" \
+ -e "s/REAL\*16/DOUBLE PRECISION/" $MODULE.junk > $MODULE_F
+ rm -f $MODULE.junk
+ endif
+ breaksw
+ case 4.6:
+ case 4.7:
+ set extraflags='-fno-whole-file'
+ breaksw
+ default:
+ echo Unrecognized gfortran version
+ exit 4
+ breaksw
+ endsw
+#
+ set echo
+ %%FC%% -c $OPT %%FFLAGS%% -std=legacy $MODULE.f
+ %%FC%% -c $OPT -std=legacy $MODULE_F
+ unset echo
+ breaksw
+#
+# 3. Intel Fortran Compiler for Linux
+# Please see the 64 bit Linux target for more details as to where
+# to get this compiler, and its cost, and for an explanation of
+# the command line arguments.
+#
+# Note that this is more agressive (-O3 compared to -O2) than the
+# other two places in this file where ifort is used. If some
+# version gives you problems, drop this back to -O2.
+#
+# 64 bit compile below. If an ifort version gives you problems,
+# drop the optimization back to -O2.
+# Dmitri likes to use "-O3 -xN -ssp -unroll8 -ip -pad -opt_report",
+# but that may cause certain ifort versions to fail on some files.
+# See http://staff.aist.go.jp/d.g.fedorov/compgms.html for aggressive
+# optimizations in 32 bit mode, as a function of the ifort version.
+#
+ case ifort:
+ set OPT = '-O3'
+ if ($MODULE == delocl) set OPT='-O0' # from Cheol
+ if ($MODULE == prpamm) set OPT='-O0' # for exam13
+ if ($MODULE == zheev) set OPT='-O0'
+ set EXTRAOPT=" "
+ if ($GMS_IFORT_VERNO >= 8) set EXTRAOPT="$EXTRAOPT -assume byterecl"
+ if ($GMS_IFORT_VERNO >= 10) set EXTRAOPT="$EXTRAOPT -vec-report0"
+ if ($GMS_IFORT_VERNO < 12) set EXTRAOPT="$EXTRAOPT -w95 -cm"
+ if ($GMS_IFORT_VERNO >= 12) set EXTRAOPT="$EXTRAOPT -warn nousage -inline-level=0"
+ set echo
+ %%FC%% -c -i4 $OPT -auto -assume byterecl -w95 -cm $MODULE.f
+ unset echo
+ breaksw
+#
+# 4. Portland Group compiler.
+# This is a synthesis of recommendations from Fred Arnold and Brian
+# Salter-Duke. -fast means -O2 -Munroll -Mnoframe, the latter option
+# seems to be the source of several incorrect results. It is said that
+# "-Munroll" and "-tp p6" gives no significant improvement in run times.
+# The -Mlfs flag is supposed to cure the 2 GB file size limit.
+# exam19 may hang when using this compiler. -Mlfs at link-time
+# enables large file support. Your login script must set
+# up the use of this compiler, along the lines of
+# setenv PATH $PATH\:/usr/pgi/linux86/bin
+# setenv PGI /usr/pgi
+#
+ case pgf77:
+ if (($MODULE == qfmm) || ($MODULE == solib) || ($MODULE == zheev)) then
+ mv $MODULE.f $MODULE.junk
+ sed -e s/DREAL/DBLE/g $MODULE.junk > $MODULE.f
+ rm -f $MODULE.junk
+ endif
+ if (($MODULE == qeigen) || ($MODULE == int2c)) then
+ mv $MODULE.f $MODULE.junk
+ sed -e "s/Q-/D-/g" \
+ -e "s/Q+00/D+00/g" \
+ -e "s/REAL\*16/DOUBLE PRECISION/" $MODULE.junk > $MODULE.f
+ rm -f $MODULE.junk
+ endif
+ set OPT = '-O2'
+ if ($MODULE == zheev) set OPT = '-O2 -Kieee'
+ if ($MODULE == bassto) set OPT = '-O0' # Takako
+ set echo
+ pgf77 -c $OPT -Msecond_underscore $MODULE.f
+ unset echo
+ breaksw
+#
+# 5. RedHat 4.x and 5.x's FORTRAN compiler was f2c/gcc.
+# This is a totally obsolete option, actually.
+#
+ case f2c:
+ if (($MODULE == qfmm) || ($MODULE == solib) || ($MODULE == zheev)) then
+ mv $MODULE.f $MODULE.junk
+ sed -e s/DREAL/DBLE/g $MODULE.junk > $MODULE.f
+ rm -f $MODULE.junk
+ endif
+ if (($MODULE == qeigen) || ($MODULE == int2c)) then
+ mv $MODULE.f $MODULE.junk
+ sed -e "s/Q-/D-/g" \
+ -e "s/Q+00/D+00/g" \
+ -e "s/REAL\*16/DOUBLE PRECISION/" $MODULE.junk > $MODULE.f
+ rm -f $MODULE.junk
+ endif
+ if (($MODULE == iolib) || ($MODULE == inputa)) then
+ mv $MODULE.f $MODULE.junk
+ sed -e "s/MXUNIT=299/MXUNIT=99/g" $MODULE.junk > $MODULE.f
+ rm -f $MODULE.junk
+ endif
+ set OPT = '-O3 -malign-double'
+ set echo
+ f2c -w66 -a -Nn1604 -Nx800 $MODULE.f
+ gcc -c $OPT $MODULE.c
+ rm -f $MODULE.c
+ ifort -c -i4 $OPT -ftz -auto $EXTRAOPT $MODULE_F
+ unset echo
+ breaksw
+#
+ default:
+ echo Please spell your ia32 compiler correctly.
+ echo "Please spell your Linux 32 bit FORTRAN compiler name correctly."
+ exit 4
+ breaksw
+ endsw
+# ... end of FreeBSD on 32 bit PC compiler choices.
+# ... end of FreeBSD on 32 bit processors.
+endif
+if ($TARGET == freebsd-amd64) then
+
+
#
# ------ Linux on 64 bit chips ------
# This should work on any 64 bit Linux release, for any type of
@@ -1897,6 +2052,136 @@
endsw
# ... end of Linux on 64 bit processors.
endif
+
+if ($TARGET == freebsd64) then
+#
+# The only thing you need to change is the next line.
+# Note: you must make the analogous choice in compddi and lked, as well.
+# there are two supported 64 bit compilers: gfortran, ifort
+#
+ set FORTRAN=%%FORTRAN%% # choose from gfortran, ifort
+#
+ switch ($FORTRAN)
+ switch ($GMS_FORTRAN)
+
+ case gfortran:
+# -finit-real=<zero|inf|-inf|nan> could be interesting debug opt
+# -fno-automatic forces static storage of all local variables
+# -fno-whole-file suppresses argument's data type checking
+ set OPT='-O2'
+ if ($MODULE == zheev) set OPT='-O0' # defensive compiling
+ if (($MODULE == qeigen) || ($MODULE == int2c)) then
+ mv -f $MODULE.f $MODULE.junk
+ sed -e "s/Q-/D-/g" \
+ -e "s/Q+00/D+00/g" \
+ -e "s/REAL\*16/DOUBLE PRECISION/" $MODULE.junk > $MODULE.f
+ rm -f $MODULE.junk
+ if (".$GMS_DEBUG_FLAGS" != .) set OPT="$GMS_DEBUG_FLAGS"
+
+ if ($GMS_GFORTRAN_VERNO == 4.6) then
+ if ($MODULE == cosmo) set OPT='-O0' # this issue seen in 4.6.1
+ if ($MODULE == tddgrd) set OPT='-O0' # exam41, seen in 4.6.1
+ endif
+ if ($GMS_GFORTRAN_VERNO == 4.7) then
+ if ($MODULE == cosmo) set OPT='-O0'
+ if ($MODULE == dcscf) set OPT='-O0' # exam44, seen in 4.7 only
+ if ($MODULE == rohfcc) set OPT='-O0' # exam47, seen in 4.7 only
+ if ($MODULE == tddgrd) set OPT='-O0'
+ endif
+ if ($MODULE == zheev) set OPT='-O0' # defensive compiling
+
+ set EXTRAOPT=" "
+
+ if (($MODULE == cchem) || ($MODULE == ga)) then
+ mv $MODULE.f $MODULE.F
+ set MODULE_F=$MODULE.F
+ if ($GMS_LIBCCHEM == true) then
+ if ($MODULE == cchem) set EXTRAOPT="-DHAVE_CCHEM $extraflags"
+ if ($MODULE == ga) set EXTRAOPT="-I$GMS_PATH/libcchem/ga/include"
+ endif
+ endif
+#
+# as of 4.6 tested in late 2011, gfortran can do q.p.!
+ switch ($GMS_GFORTRAN_VERNO)
+ case 4.0:
+ case 4.1:
+ case 4.2:
+ case 4.3:
+ case 4.4:
+ case 4.5:
+ if (($MODULE == qeigen) || ($MODULE == int2c)) then
+ mv -f $MODULE_F $MODULE.junk
+ sed -e "s/Q-/D-/g" \
+ -e "s/Q+00/D+00/g" \
+ -e "s/REAL\*16/DOUBLE PRECISION/" $MODULE.junk > $MODULE_F
+ rm -f $MODULE.junk
+ endif
+ breaksw
+ case 4.6:
+ case 4.7:
+ set EXTRAOPT="$EXTRAOPT -fno-whole-file"
+ breaksw
+ default:
+ echo Unrecognized gfortran version
+ exit 4
+ breaksw
+ endsw
+
+ set echo
+ %%FC%% -c %%FFLAGS%% -fdefault-integer-8 $OPT -std=legacy $MODULE.f
+ %%FC%% -c -fdefault-integer-8 $OPT -std=legacy $EXTRAOPT $MODULE_F
+ unset echo
+ breaksw
+
+ case ifort:
+# -i4/-i8 set default integer length
+# -On can have n=1,2,3. Use of 3 caused problems with earlier
+# compilers, so it isn't being used here. Try it if you like.
+# stack storage for locals is governed by -auto versus -save.
+# -assume byterecl was introduced at ifort 8.0 (older versions will
+# print a message saying this flag is ignored). Newer versions
+# need this so that direct access file opens are measured in
+# bytes rather than the new default in v8.0, namely 4-byte units.
+# -vec-report0 suppresses loop vectorization messages (new in 10.0)
+# -w95 suppresses Hollerith initialization and other f90-like warnings
+# -cm means suppress comments about programming practices,
+# these two options spelled '-warn nousage' at version 12.
+# -WB means warn but don't fail on out-of-bounds array references
+# -ftz flushes underflow results to zero
+#
+ set OPT = '-O2'
+ if ($MODULE == delocl) set OPT='-O0'
+ if ($MODULE == zheev) set OPT='-O0'
+ if (".$GMS_DEBUG_FLAGS" != .) set OPT="$GMS_DEBUG_FLAGS"
+# alas, I'm so tired of hearing about so many versions failing to
+# diagonalize, that this time critical code is run w/o optimization.
+# Very many (all?) ifort versions have problems with eigen.src.
+ if ($MODULE == eigen) set OPT='-O0' # read note just above.
+ if ($MODULE == fmo) set OPT='-O1' # 12.0.4, exam37
+ if ($MODULE == guess) set OPT='-O0' # 10.0, exam39
+ if ($MODULE == locpol) set OPT='-O1' # 10.0, makefp/gmres
+ if ($MODULE == morokm) set OPT='-O0' # Jan Fredin
+ if ($MODULE == prpel) set OPT='-O1' # 10.0, exam13
+ if (($MODULE == rohfcc) && ($GMS_IFORT_VERNO == 12)) \
+ set OPT='-O0' # exam42+exam47 (op.sh.CC,IP-EOM)
+ if ($MODULE == tdxitr) set OPT='-O1' # 10.0, exam39
+ if ($MODULE == vscf) set OPT='-O0' # intensities for combinations
+ if ($MODULE == zheev) set OPT='-O0' # defensive compiling
+
+ set EXTRAOPT=" "
+
+ if (($MODULE == cchem) || ($MODULE == ga)) then
+ mv $MODULE.f $MODULE.F
+ set MODULE_F=$MODULE.F
+ if ($GMS_LIBCCHEM == true) then
+ if ($MODULE == cchem) set EXTRAOPT="-DHAVE_CCHEM"
+ if ($MODULE == ga) set EXTRAOPT="-I$GMS_PATH/libcchem/ga/include"
+ endif
+ endif
+
+ if ($GMS_IFORT_VERNO >= 8) set EXTRAOPT="$EXTRAOPT -assume byterecl"
+ if ($GMS_IFORT_VERNO >= 10) set EXTRAOPT="$EXTRAOPT -vec-report0"
+ if ($GMS_IFORT_VERNO < 12) set EXTRAOPT="$EXTRAOPT -w95 -cm"
+ if ($GMS_IFORT_VERNO >= 12) set EXTRAOPT="$EXTRAOPT -warn nousage -inline-level=0"
+ set echo
+ %%FC%% -c -i8 %%FFLAGS%% $OPT -auto -assume byterecl -w95 -cm $MODULE.f
+ ifort -c -i8 $OPT -ftz -auto $EXTRAOPT $MODULE_F
+ unset echo
+ breaksw
+#
+ default:
+ echo "Please spell your AMD64's FORTRAN compiler name correctly."
+ echo "Please spell your FreeBSD 64 bit FORTRAN compiler name correctly."
+ exit 4
+ breaksw
+ endsw
+# ... end of FreeBSD on 64 bit AMD processors.
+# ... end of FreeBSD on 64 bit processors.
+endif
+
+
#
# Store the generated object code, clean up, and quit
#
# Apple Macintosh system using OS X
# jargon: 10.0=cheetah, 10.1=puma, 10.2=jaguar, 10.3=panther,

View File

@ -1,35 +1,38 @@
--- compall.orig 2009-01-07 06:20:46.000000000 +0900
+++ compall 2009-05-08 12:14:14.000000000 +0900
@@ -10,11 +10,11 @@
# axp64,compaq-sc,cray-pvp,cray-t3e,cray-x1,cray-xd1,cray-xt3,
# fuji-pp32,fuji-pp64,hpux32,hpux64,ibm32,ibm64,ibm64-sp,ibm-bg,
# linux32,linux64,linux-ia64,mac32,mac64,macG5,necsx,
-# sgi32,sgi64,sun32,sun64
+# sgi32,sgi64,sun32,sun64,freebsd-i386,freebsd-amd64
# 2. Choose your GAMESS directory tree.
#
-set TARGET=ibm64
-chdir /u1/mike/gamess
+set TARGET=%%ARCH%%
+#chdir /u1/mike/gamess
#
# ----- and now the script begins...
#
@@ -69,6 +69,8 @@
if ($TARGET == linux64) set CCOMP='gcc'
if ($TARGET == linux-ia64) set CCOMP='gcc'
if ($TARGET == necsx) set CCOMP='c++'
+if ($TARGET == freebsd-amd64) set CCOMP=%%CC%%
+if ($TARGET == freebsd-i386) set CCOMP=%%CC%%
--- compall.orig 2012-09-07 22:32:57.000000000 +0900
+++ compall 2013-02-27 15:59:37.000000000 +0900
@@ -58,6 +58,8 @@
if (($TARGET == ibm-bg) && ($GMS_BG_MODEL == P)) set CCOMP='bgxlc_r'
if ($TARGET == linux32) set CCOMP='gcc'
if ($TARGET == linux64) set CCOMP='gcc'
+if ($TARGET == freebsd32) set CCOMP='%%CC%%'
+if ($TARGET == freebsd64) set CCOMP='%%CC%%'
if ($TARGET == necsx) set CCOMP='c++'
#
unset extraflags
if ($TARGET == axp64) set extraflags='-DCOMPAQ'
@@ -99,6 +101,8 @@
if (`uname -p` == x86_64) set extraflags='-DLINUX64 -m64'
if (`uname -p` == ia64) set extraflags='-DLINUX64' # its always 64 bits
@@ -96,6 +98,8 @@
if ($chip == x86_64) set extraflags='-DLINUX64 -m64'
if ($chip == ia64) set extraflags='-DLINUX64' # this always 64 bits
endif
+if ($TARGET == freebsd-amd64) set extraflags='-DLINUX64 -m64'
+if ($TARGET == freebsd-i386) set extraflags='-DLINUX32'
+if ($TARGET == freebsd32) set extraflags='-DLINUX32'
+if ($TARGET == freebsd64) set extraflags='-DLINUX64 -m64'
if ($TARGET == mac32) set extraflags='-DLINUX32'
if ($TARGET == mac64) set extraflags='-DLINUX64 -m64 -I/usr/include/malloc'
if ($TARGET == macG5) set extraflags='-DLINUX32'
if ($TARGET == necsx) set extraflags='-DNECSX -size_t64'
@@ -211,6 +215,8 @@
if ($TARGET == ibm-bg) ./comp blas
if ($TARGET == linux32) ./comp blas
if ($TARGET == linux64) ./comp blas
+if ($TARGET == freebsd32) ./comp blas
+if ($TARGET == freebsd64) ./comp blas
if ($TARGET == mac64) ./comp blas
if ($TARGET == sun32) ./comp blas
if ($TARGET == sun64) ./comp blas
@@ -547,6 +553,8 @@
set VB2000=false
if ($TARGET == linux64) set VB2000=true
if ($TARGET == linux32) set VB2000=true
+if ($TARGET == freebsd64) set VB2000=true
+if ($TARGET == freebsd32) set VB2000=true
if ($TARGET == mac64) set VB2000=true
if ($VB2000 == true) then
./comp vb2000

View File

@ -1,28 +1,16 @@
--- ddi/compddi.orig 2008-12-04 01:22:29.000000000 +0900
+++ ddi/compddi 2009-05-08 12:15:46.000000000 +0900
@@ -13,9 +13,9 @@
# axp64,compaq-sc,cray-pvp,cray-t3e,cray-x1,cray-xd1,cray-xt3,
# fuji-pp32,fuji-pp64,hpux32,hpux64,ibm32,ibm64,ibm64-sp,ibm-bg,
# linux32,linux64,linux-ia64,mac32,mac64,macG5,necsx,
-# sgi32,sgi64,sun32,sun64
+# sgi32,sgi64,sun32,sun64,freebsd-i386,freebsd-amd64
#
- set TARGET = ibm64
+ set TARGET = %%ARCH%%
# 2. Choose DDI communication layer, the only legal values are
# sockets,mixed,mpi,shmem,lapi,armci
@@ -639,7 +639,77 @@
set RANLIB_FLAGS = ' '
--- ddi/compddi.orig 2013-03-05 12:39:40.000000000 +0900
+++ ddi/compddi 2013-03-05 12:40:52.000000000 +0900
@@ -630,7 +630,79 @@
set FORT_FLAGS = '-O2 -qarch=440 -qflag=W:W -qhalt=W -qnosave '
set FORT_LIBS = ''
endif
+# --------------------------------------- #
+# FreeBSD for x86 PCs #
+# --------------------------------------- #
+ if($TARGET == freebsd-i386) then
+ if($TARGET == freebsd32) then
+
+ set FORTRAN=%%FORTRAN%% # choose from g77, gfortran, ifort, pgf77, f2c
+ set FORTRAN=%%GMS_FORTRAN%% # choose from g77, gfortran, ifort, pgf77, f2c
+
+ set CC = %%CC%%
+ set CFLAGS = "-DLINUX -O3 -fstrict-aliasing -I./include"
@ -48,20 +36,21 @@
+
+ set CLIBS = "%%PTHREAD_LIBS%%"
+ set F77_OPTS = "-DINT_SIZE=int -D_UNDERSCORES=$NumUS"
+ set FORT_FLAGS = '-O2'
+ set AR_FLAGS = 'cr'
+ set RANLIB_FLAGS = ' '
+
+ set FORT_LIBS = ' '
+ endif
+
+# ------------- #
+# FreeBSD amd64 #
+# ------------- #
+ if($TARGET == freebsd-amd64) then
+ if($TARGET == freebsd64) then
+
+ set CC = %%CC%%
+ set CFLAGS = "-DLINUX -m64 -O3 -fstrict-aliasing -I./include"
+
+ set FORTRAN=%%FORTRAN%%
+ set FORTRAN=%%GMS_FORTRAN%%
+ switch ($FORTRAN)
+ case g77:
+ case pgf77:
@ -71,6 +60,7 @@
+ case gfortran:
+ set CFLAGS = "$CFLAGS -Dgetarg_=_gfortran_getarg_i4"
+ set CFLAGS = "$CFLAGS -Diargc_=_gfortran_iargc"
+ set FORT_FLAGS = "-O2 $ARCH -fdefault-integer-8 -std=legacy"
+ set NumUS=1
+ breaksw
+ case ifort:
@ -85,8 +75,8 @@
+ set F77_OPTS = "-DINT_SIZE=long -D_UNDERSCORES=$NumUS"
+ set AR_FLAGS = 'cr'
+ set RANLIB_FLAGS = ' '
+
+ set FORT_LIBS = ' '
+ endif
# -------- #
# Mac OS X #
# ---------------------------------------- #
# Linux for 32 bit systems (Red Hat, etc.) #

View File

@ -0,0 +1,13 @@
$FreeBSD$
--- gms-files.csh 2013-03-05 18:04:02.000000000 +0900
+++ gms-files.csh 2013-03-05 18:05:38.000000000 +0900
@@ -28,7 +28,7 @@
# to see all the file definitions (one is just below).
#
#---quiet---set echo
-setenv AUXDATA $GMSPATH/auxdata
+setenv AUXDATA %%PREFIX%%/share/gamess/auxdata
setenv EXTBAS /dev/null
setenv NUCBAS /dev/null
setenv POSBAS /dev/null

View File

@ -1,26 +1,264 @@
--- lked.orig 2009-05-05 05:59:41.000000000 +0900
+++ lked 2010-02-01 10:29:52.000000000 +0900
@@ -12,11 +12,11 @@
# axp64,compaq-sc,cray-pvp,cray-t3e,cray-x1,cray-xd1,cray-xt3,
# fuji-pp32,fuji-pp64,hpux32,hpux64,ibm32,ibm64,ibm64-sp,ibm-bg,
# linux32,linux64,linux-ia64,mac32,mac64,macG5,necsx,
-# sgi32,sgi64,sun32,sun64
+# sgi32,sgi64,sun32,sun64,freebsd-i386,freebsd-amd64
# 2. Choose your GAMESS directory tree.
--- lked.orig 2012-10-27 01:12:07.000000000 +0900
+++ lked 2013-02-27 16:06:32.000000000 +0900
@@ -57,6 +57,8 @@
set VB2000=false
if ($TARGET == linux64) set VB2000=true
if ($TARGET == linux32) set VB2000=true
+if ($TARGET == freebsd64) set VB2000=true
+if ($TARGET == freebsd32) set VB2000=true
if ($TARGET == mac64) set VB2000=true
set XMVB=false
#
-set TARGET=ibm64
-chdir /u1/mike/gamess
+set TARGET=%%ARCH%%
+#chdir /u1/mike/gamess
@@ -632,6 +634,243 @@
endif
#
# ---- and now the script begins...
endif
+
+if ($TARGET == freebsd32) then
+ set VECTOR=' '
+ set QUICHE='zunix.o'
+#
+# settings which depend on the compiler choice:
+#
+ switch ($GMS_FORTRAN)
+ case g77:
+ set LDR='g77'
+ set LDOPTS=' ' # add '-Wl,-M' to see load map
+ set FORTLIBS=' '
+ breaksw
+ case gfortran:
+ set LDR=%%FC%%
+ set LDOPTS=' '
+ set FORTLIBS=' '
+ breaksw
+ case ifort:
+ set LDR='ifort'
+ set LDOPTS=' ' # add '-Wl,-M' to see load map
+ set FORTLIBS='-Vaxlib'
+ breaksw
+ case f2c:
+ set LDR='gcc'
+ set LDOPTS=' '
+ set FORTLIBS='-lf2c -lm'
+ breaksw
+ default:
+ echo Please spell your freebsd32 compiler correctly.
+ exit 4
+ endsw
+#
+# settings which depend on the math library: mkl, atlas, acml, none
+#
+ switch ($GMS_MATHLIB)
+
+# for MKL, we lack experience. The following is the 64-bit
+# stuff, with all 64's removed. It might be right!
+# For the case of "11", this has actually been verified.
+ case mkl:
+ set mpath=$GMS_MATHLIB_PATH
+ switch ($GMS_MKL_VERNO)
+ case 8:
+ set MATHLIBS="-L$mpath -lmkl_lapack -lmkl -lguide -lpthread"
+ breaksw
+ case 9:
+ set MATHLIBS="-L$mpath -lmkl_lapack -lmkl -lguide -lpthread"
+ breaksw
+ case 10:
+ # next one forces single-threaded usage only...exactly what we want.
+ set MATHLIBS="-L$mpath -lmkl_intel -lmkl_sequential -lmkl_core"
+ breaksw
+ case 11:
+ case 12:
+ # next attempts a static link, whereas 10 above is a dynamic link.
+ # if this fails to work, try the version 10 lines shown just above.
+ set MATHLIBS="$mpath/libmkl_intel.a"
+ set MATHLIBS="$MATHLIBS $mpath/libmkl_sequential.a"
+ set MATHLIBS="$MATHLIBS $mpath/libmkl_core.a"
+ breaksw
+ default:
+ echo "unknown version number for MKL/linux32"
+ echo "please edit 'lked' to select the right 32 bit MKL libraries."
+ exit
+ breaksw
+ endsw
+ set BLAS=' '
+ breaksw
+
+ case atlas:
+ # If the ATLAS comes with static libraries, link to them,
+ # so that only the compile node has to have the libraries.
+ # Otherwise, attempt a link against shared object libs.
+ # See the 64 bit Atlas below for a way to fix the linker's
+ # not being able to locate -lf77blas, if that happens.
+ if (-e $GMS_MATHLIB_PATH/libf77blas.a) then
+ set MATHLIBS="$GMS_MATHLIB_PATH/libf77blas.a"
+ set MATHLIBS="$MATHLIBS $GMS_MATHLIB_PATH/libatlas.a"
+ else
+ set MATHLIBS="-L$GMS_MATHLIB_PATH -lf77blas -latlas"
+ endif
+ set BLAS=' '
+ breaksw
+
+ case acml:
+ # do a static link so that only compile node needs to install ACML
+ set MATHLIBS="$GMS_MATHLIB_PATH/libacml.a"
+ set BLAS=' '
+ breaksw
+
+ case none:
+ default:
+ echo "Warning. No math library was found, you should install one."
+ echo " MP2 calculations speed up about 2x with a math library."
+ echo "CCSD(T) calculations speed up about 5x with a math library."
+ set BLAS='%%BLAS%% %%LAPACK%%'
+ set MATHLIBS=' '
+ breaksw
+ endsw
+#
+ set LIBRARIES="$FORTLIBS $MATHLIBS"
+endif
+#
+# ------ FreeBSD on 64 bit chips -----
+#
+if ($TARGET == freebsd64) then
+ set VECTOR=' '
+ set QUICHE='zunix.o'
+#
+# settings which depend on the FORTRAN:
+#
+ switch ($GMS_FORTRAN)
+ case gfortran:
+ set LDR=%%FC%%
+ set LDOPTS=' '
+ set FORTLIBS=' '
+ breaksw
+ case ifort:
+ set LDR='ifort'
+ set LDOPTS='-i8' # -Wl,-M generates a load map
+# this auxiliary library seems to have disappeared in ifort 10
+ set FORTLIBS=' '
+ if($GMS_IFORT_VERNO < 10) set FORTLIBS='-Vaxlib'
+ breaksw
+ default:
+ echo "don't know how to use a freebsd64 compiler named $GMS_FORTRAN"
+ exit 4
+ breaksw
+ endsw
+#
+# settings which depend on the math library: mkl, atlas, acml, none
+#
+ switch ($GMS_MATHLIB)
+
+ case mkl:
+ set mpath=$GMS_MATHLIB_PATH
+ set mklver=$GMS_MKL_VERNO
+ if ($CCHEM == true) set mklver=${mklver}-so
+ switch ($mklver)
+ case 8:
+ set MATHLIBS="-L$mpath -lmkl_lapack64 -lmkl -lguide -lpthread"
+ breaksw
+ case 9:
+ set MATHLIBS="-L$mpath -lmkl_lapack -lmkl -lguide -lpthread"
+ breaksw
+ breaksw
+ case 10:
+ case 11:
+ case 12:
+ # next are a static link, in single-threaded mode (serial BLAS).
+ # The choices preclude any need to
+ # a) install .so shared object libraries on every node,
+ # b) define LD_LIBRARY_PATH to find the .so libraries, or
+ # c) define MKL_NUM_THREADS=1
+ # If desired, there is a single-threaded shared object link below.
+ # Note, there's now a gfortran-specific compiler interface library.
+ set iflib=intel
+ if ($GMS_FORTRAN == gfortran) set iflib=gf
+ set MATHLIBS=" $mpath/libmkl_${iflib}_ilp64.a"
+ set MATHLIBS="$MATHLIBS $mpath/libmkl_sequential.a"
+ set MATHLIBS="$MATHLIBS $mpath/libmkl_core.a"
+ breaksw
+ case 10-so:
+ case 11-so:
+ case 12-so:
+ # next one chooses dynamic linking (so= shared object libs)
+ # Just hand edit GMS_MKL_VERNO in your 'install.info' to use this.
+ # run-time libs (and LD_LIBRARY_PATH) needed on every compute node!
+ # note that it does force single-threaded usage.
+ # LIBCCHEM fails to link properly against static libraries.
+ # LIBCCHEM prefers to use threading
+ set iflib=intel
+ if ($GMS_FORTRAN == gfortran) set iflib=gf
+ if ($CCHEM == false) then
+ set MATHLIBS="-L$mpath -lmkl_${iflib}_ilp64 -lmkl_sequential -lmkl_core"
+ else
+ set MATHLIBS="-L$mpath -lmkl_${iflib}_ilp64 -lmkl_${iflib}_thread -lmkl_core -liomp5"
+ endif
+ breaksw
+ default:
+ echo "unknown version number for MKL/linux64"
+ echo "please edit 'lked' to select the right 64 bit MKL libraries."
+ exit
+ breaksw
+ endsw
+ set BLAS=' '
+ breaksw
+
+ case atlas:
+ # If the ATLAS comes with static libraries, link to them,
+ # so that only the compile node has to have the libraries.
+ # Otherwise, attempt a link against shared object libs.
+ #
+ # Some versions of Atlas come without proper setup to use them.
+ # For example, you may need to give some specific version such
+ # as 3.0 some generic names, by doing the right soft links:
+ # chdir /usr/lib64/atlas (just 'lib' for linux32)
+ # ln -s libatlas.so.3.0 libatlas.so
+ # ln -s libblas.so.3.0 libblas.so
+ # ln -s libcblas.so.3.0 libcblas.so
+ # ln -s libf77blas.so.3.0 libf77blas.so
+ # ln -s liblapack_atlas.so.3.0 liblapack.so
+ # ln -s liblapack.so.3.0 liblapack.so
+ # It is strange the RPM's don't do these soft links for us.
+ if (-e $GMS_MATHLIB_PATH/libf77blas.a) then
+ set MATHLIBS="$GMS_MATHLIB_PATH/libf77blas.a"
+ set MATHLIBS="$MATHLIBS $GMS_MATHLIB_PATH/libatlas.a"
+ else
+ set MATHLIBS="-L$GMS_MATHLIB_PATH -lf77blas -latlas"
+ endif
+ set BLAS=' '
+ breaksw
+
+ case acml:
+ # do a static link so that only compile node needs to install ACML
+ set MATHLIBS="$GMS_MATHLIB_PATH/libacml.a"
+ # if you want to try a dynamic link, use this:
+ #---set MATHLIBS="-L$GMS_MATHLIB_PATH -lacml -lacml_mv"
+ set BLAS=' '
+ breaksw
+
+ case none:
+ default:
+ echo "Warning. No math library was found, you should install one."
+ echo " MP2 calculations speed up about 2x with a math library."
+ echo "CCSD(T) calculations speed up about 5x with a math library."
+ set BLAS='%%BLAS%% %%LAPACK%%'
+ set MATHLIBS=' '
+ breaksw
+ endsw
+#
+ set LIBRARIES="$FORTLIBS $MATHLIBS"
+endif
+#
+endif
+
#
@@ -605,6 +605,23 @@
# MacIntosh
#
@@ -675,6 +914,23 @@
set VECTOR=' '
set QUICHE='zunix.o'
endif
+#FreeBSD settings
+if ($TARGET == freebsd-i386) then
+if ($TARGET == freebsd32) then
+ set LDR=%%FC%%
+ set LDOPTS='%%LDFLAGS%%'
+ set LIBRARIES=''
@ -28,7 +266,7 @@
+ set VECTOR=' '
+ set QUICHE='zunix.o'
+endif
+if ($TARGET == freebsd-amd64) then
+if ($TARGET == freebsd64) then
+ set LDR=%%FC%%
+ set LDOPTS='%%LDFLAGS%%'
+ set LIBRARIES=''
@ -39,21 +277,12 @@
#
if ($TARGET == necsx) then
set LDR='f90'
@@ -693,6 +710,8 @@
@@ -1199,6 +1199,8 @@
case ibm64:
case linux32:
case linux64:
case linux-ia64:
+ case freebsd-amd64:
+ case freebsd-i386:
+ case freebsd32:
+ case freebsd64:
case mac32:
case mac64:
case macG5:
@@ -707,7 +726,7 @@
# -lmpigf -lmpigi -lrt -lpthread'
# The following is for TCP/IP sockets.
#
- set MSG_LIBRARIES='../ddi/libddi.a -lpthread'
+ set MSG_LIBRARIES='../ddi/libddi.a %%PTHREAD_LIBS%%'
# Solaris 2.6 needs -lposix4 instead of -lrt
if (($TARGET == sun32) || ($TARGET == sun64) || \
($TARGET == fuji-pp32) || ($TARGET == fuji-pp64)) then
case sgi32:

View File

@ -1,114 +1,21 @@
--- rungms.orig 2009-01-17 03:17:33.000000000 +0900
+++ rungms 2009-05-08 14:27:35.000000000 +0900
--- rungms 2013-03-05 17:53:14.000000000 +0900
+++ rungms 2013-03-05 17:53:45.000000000 +0900
@@ -1,4 +1,4 @@
-#!/bin/csh
+#!/bin/csh -f
+#!/bin/csh -f
#
# last update = 6 January 2009
# last update = 26 October 2012
#
@@ -55,7 +55,13 @@
# of using LoadLeveler via a "llgms" front end in ~/gamess/misc.
@@ -60,9 +60,9 @@
# See also a very old LoadLeveler "ll-gms" for some IBM systems.
#
set TARGET=sockets
-set SCR=/scr/$USER
-set USERSCR=~$USER/scr
-set GMSPATH=/u1/mike/gamess
+set SCR=.
+if ($#argv == 0 ) then
+ echo "Usage: gamess <input file>"
+ exit
+endif
+set GMSPATH=%%PREFIX%%/bin/gms
+
+set USERSCR=.
+set GMSPATH=%%PREFIX%%/bin/gms/
#
set JOB=$1 # name of the input file xxx.inp, give only the xxx part
set VERNO=$2 # revision number of the executable created by 'lked' step
@@ -67,36 +73,29 @@
#
# ---- the top third of the script is input and other file assignments ----
#
-echo ----- GAMESS execution script -----
+#echo ----- GAMESS execution script -----
set master=`hostname`
-echo This job is running on host $master
-echo under operating system `uname` at `date`
-echo "Available scratch disk space (Kbyte units) at beginning of the job is"
-df -k $SCR
+#echo This job is running on host $master
+#echo under operating system `uname` at `date`
+#echo "Available scratch disk space (Kbyte units) at beginning of the job is"
+#df -k $SCR
# this added as experiment, February 2007
# its intent is to detect large arrays allocated off the stack
-limit stacksize 8192
+#limit stacksize 8192
+
+set JOBORG=$JOB
+set JOB=$JOB:r # strip off possible .inp
+
+if (-e $JOBORG) then
+ cp $JOBORG $SCR/$JOB.F05
+else
+ echo "Input file $JOBORG does not exist. Please fix and resubmit."
+ exit 4
+endif
# Grab a copy of the input file.
# In the case of EXAMnn jobs, this file might be in the "tests" subdirectory.
-if ($JOB:r.inp == $JOB) set JOB=$JOB:r # strip off possible .inp
-if (-e $JOB.inp) then
- set echo
- cp $JOB.inp $SCR/$JOB.F05
- unset echo
-else
- if (-e tests/$JOB.inp) then
- set echo
- cp tests/$JOB.inp $SCR/$JOB.F05
- unset echo
- else
- echo "Input file $JOB.inp does not exist."
- echo "This job expected the input file to be in directory `pwd`"
- echo "Please fix your file name problem, and resubmit."
- exit 4
- endif
-endif
# file assignments.
#
@@ -120,19 +119,20 @@
# d. see NEO plug-in code's documentation regarding the NUCBAS file.
# Note that you must edit a+b, but will probably skip c+d.
#
-set echo
+# set echo
# ASCII input files (see explanation above)
-setenv ERICFMT ~mike/gamess/ericfmt.dat
-setenv MCPPATH ~mike/gamess/mcpdata
+setenv ERICFMT %%PREFIX%%/share/gamess/ericfmt.dat
+setenv MCPPATH %%PREFIX%%/share/gamess/mcpdata
setenv EXTBAS /dev/null
setenv NUCBAS /dev/null
#
-setenv MAKEFP ~$USER/scr/$JOB.efp
-setenv GAMMA ~$USER/scr/$JOB.gamma
-setenv TRAJECT ~$USER/scr/$JOB.trj
-setenv RESTART ~$USER/scr/$JOB.rst
+setenv MAKEFP $SCR/scr/$JOB.efp
+setenv GAMMA $SCR/scr/$JOB.gamma
+setenv TRAJECT $SCR/scr/$JOB.trj
+setenv RESTART $SCR/scr/$JOB.rst
+setenv IRCDATA $SCR/$JOB.irc
setenv INPUT $SCR/$JOB.F05
-setenv PUNCH ~$USER/scr/$JOB.dat
+setenv PUNCH $SCR/$JOB.dat
setenv AOINTS $SCR/$JOB.F08
setenv MOINTS $SCR/$JOB.F09
setenv DICTNRY $SCR/$JOB.F10
@@ -308,7 +308,7 @@
if (null$4 == null) set ELGNAME=ELGFILE
set echo
setenv AOINTS $SCR/$ELGNAME.F08
- setenv ELGDOS ~$USER/scr/$JOB.ldos
+ setenv ELGDOS $SCR/$JOB.ldos
setenv ELGDAT $SCR/$ELGNAME.F71
setenv ELGPAR $SCR/$ELGNAME.F72
setenv ELGCUT $SCR/$ELGNAME.F74

View File

@ -3,11 +3,11 @@ WARNING!!WARNING!!WARNING!!WARNING!!
If you got the following error
'Error ENOMEM: Not enough memory to allocate ** bytes of shared memory.',
then add ipc memory by:
sudo sysctl -w kern.ipc.shmmax=67108864
sudo sysctl -w kern.ipc.shmall=32768
sudo sysctl -w kern.ipc.shmmax=3064372224
sudo sysctl -w kern.ipc.shmall=748137
or if you want to enable at boot time
add following lines to
kern.ipc.shmmax=67108864
kern.ipc.shmall=32768
kern.ipc.shmmax=3064372224
kern.ipc.shmall=748137
/boot/loader.conf
.

View File

@ -1,6 +1,7 @@
bin/gamess
bin/gms/ddikick.x
bin/gms/gamess.00.x
bin/gms/gms-files.csh
share/doc/gamess/INPUT.DOC
share/doc/gamess/INTRO.DOC
share/doc/gamess/IRON.DOC
@ -8,14 +9,92 @@ share/doc/gamess/PROG.DOC
share/doc/gamess/REFS.DOC
share/doc/gamess/TESTS.DOC
share/doc/gamess/readme.ddi
share/gamess/ericfmt.dat
share/gamess/mcpdata/IMCP-NR1
share/gamess/mcpdata/IMCP-NR2
share/gamess/mcpdata/IMCP-SR1
share/gamess/mcpdata/IMCP-SR2
share/gamess/mcpdata/MCP-DZP
share/gamess/mcpdata/MCP-QZP
share/gamess/mcpdata/MCP-TZP
share/gamess/auxdata/ericfmt.dat
share/gamess/auxdata/BASES/SPK-TZP
share/gamess/auxdata/BASES/SPKRDZC
share/gamess/auxdata/BASES/SPK-DZC
share/gamess/auxdata/BASES/SPKRQZCD
share/gamess/auxdata/BASES/SPK-QZP
share/gamess/auxdata/BASES/SPKRTZP
share/gamess/auxdata/BASES/SPKRAQZP
share/gamess/auxdata/BASES/SPK-ADZP
share/gamess/auxdata/BASES/SPKRTZC
share/gamess/auxdata/BASES/SPK-ATZP
share/gamess/auxdata/BASES/SPKRDZP
share/gamess/auxdata/BASES/SPK-AQZP
share/gamess/auxdata/BASES/SPKRQZP
share/gamess/auxdata/BASES/SPKRQZC
share/gamess/auxdata/BASES/SPKRATZP
share/gamess/auxdata/BASES/SPK-QZC
share/gamess/auxdata/BASES/SPKRADZP
share/gamess/auxdata/BASES/SPKRDZCD
share/gamess/auxdata/BASES/SPKRTZCD
share/gamess/auxdata/BASES/SPK-DZP
share/gamess/auxdata/BASES/SPK-QZCD
share/gamess/auxdata/BASES/SPK-TZC
share/gamess/auxdata/BASES/SPK-DZCD
share/gamess/auxdata/BASES/SPK-TZCD
share/gamess/auxdata/EFP/ADENI2.efp
share/gamess/auxdata/EFP/THYMI2.efp
share/gamess/auxdata/EFP/PYRAZI.efp
share/gamess/auxdata/EFP/ADENIN.efp
share/gamess/auxdata/EFP/PENTAN.efp
share/gamess/auxdata/EFP/INDOLE.efp
share/gamess/auxdata/EFP/PHENOL.efp
share/gamess/auxdata/EFP/ACNH2B.efp
share/gamess/auxdata/EFP/FORMID.efp
share/gamess/auxdata/EFP/CYCPEN.efp
share/gamess/auxdata/EFP/HCN.efp
share/gamess/auxdata/EFP/URACIL.efp
share/gamess/auxdata/EFP/BENZEN.efp
share/gamess/auxdata/EFP/MENH2.efp
share/gamess/auxdata/EFP/FORMIC.efp
share/gamess/auxdata/EFP/PEPTID.efp
share/gamess/auxdata/EFP/ACOHG.efp
share/gamess/auxdata/EFP/METHAN.efp
share/gamess/auxdata/EFP/MEOH.efp
share/gamess/auxdata/EFP/THYMIN.efp
share/gamess/auxdata/EFP/NEOPEN.efp
share/gamess/auxdata/EFP/AMINOP.efp
share/gamess/auxdata/EFP/PYRIDI.efp
share/gamess/auxdata/EFP/AMONIA.efp
share/gamess/auxdata/EFP/WATER.efp
share/gamess/auxdata/EFP/PYRIDO.efp
share/gamess/auxdata/EFP/ACNH2G.efp
share/gamess/auxdata/EFP/ETHENE.efp
share/gamess/auxdata/EFP/URACG.efp
share/gamess/auxdata/EFP/ETHYNE.efp
share/gamess/auxdata/EFP/ACOHB.efp
share/gamess/auxdata/MCP/MCP-ATZP
share/gamess/auxdata/MCP/MCPCDZP
share/gamess/auxdata/MCP/ZFK5-DK3
share/gamess/auxdata/MCP/MCPCTZP
share/gamess/auxdata/MCP/MCPACQZP
share/gamess/auxdata/MCP/ZFK4-DK3
share/gamess/auxdata/MCP/IMCP-SR2
share/gamess/auxdata/MCP/MCP-DZP
share/gamess/auxdata/MCP/MCP-QZP
share/gamess/auxdata/MCP/MCP-TZP
share/gamess/auxdata/MCP/ZFK3-DK3
share/gamess/auxdata/MCP/MCPACTZP
share/gamess/auxdata/MCP/IMCP-NR1
share/gamess/auxdata/MCP/ZFK5LDK3
share/gamess/auxdata/MCP/MCPCQZP
share/gamess/auxdata/MCP/ZFK3LDK3
share/gamess/auxdata/MCP/MCPACDZP
share/gamess/auxdata/MCP/ZFK4LDK3
share/gamess/auxdata/MCP/IMCP-SR1
share/gamess/auxdata/MCP/MCP-AQZP
share/gamess/auxdata/MCP/IMCP-NR2
share/gamess/auxdata/QUANPOL/RXNFLD3840.DAT
share/gamess/auxdata/QUANPOL/CHARMM22.CMAP
share/gamess/auxdata/QUANPOL/RXNFLD0060.DAT
share/gamess/auxdata/QUANPOL/RXNFLD0240.DAT
share/gamess/auxdata/QUANPOL/LOUT314159.TOP
share/gamess/auxdata/QUANPOL/CHARMM22.LIB
share/gamess/auxdata/QUANPOL/RXNFLD0960.DAT
share/gamess/auxdata/QUANPOL/WATER4096.DAT
share/gamess/auxdata/QUANPOL/LOUT314159.PAR
share/examples/gamess/exam01.inp
share/examples/gamess/exam02.inp
share/examples/gamess/exam03.inp
@ -60,8 +139,16 @@ share/examples/gamess/exam41.inp
share/examples/gamess/exam42.inp
share/examples/gamess/exam43.inp
share/examples/gamess/exam44.inp
share/examples/gamess/exam45.inp
share/examples/gamess/exam46.inp
share/examples/gamess/exam47.inp
@dirrm bin/gms
@dirrm share/doc/gamess
@dirrm share/gamess/mcpdata
@dirrm share/gamess
@dirrm share/examples/gamess
@dirrm share/gamess/auxdata/QUANPOL
@dirrm share/gamess/auxdata/MCP
@dirrm share/gamess/auxdata/EFP
@dirrm share/gamess/auxdata/BASES
@dirrm share/gamess/auxdata
@dirrm share/gamess