However, those instructions don't include python support.
0. Download, extract nwchem and install blas etc. as shown in http://verahill.blogspot.com.au/2012/03/nwchem-60-with-openmpi-support-on.html
1. Edit nwchem-6.0/src/config/makefile.h
Change line 1962 from
EXTRA_LIBS += -lnwcutil -lpthread -lutil -ldlto
EXTRA_LIBS += -lnwcutil -lpthread -lutil -ldl -lz -lssl2. Install python headers
sudo apt-get install python2.7-dev
3. Execute the following commands (one by one or by putting them in a shell script)
export LARGE_FILES=TRUE
export TCGRSH=/usr/bin/ssh
export NWCHEM_TOP=`pwd`
export NWCHEM_TARGET=LINUX64
export NWCHEM_MODULES="all python"
export PYTHONHOME=/usr
export PYTHONVERSION=2.7
export USE_MPI=y
export USE_MPIF=y
export MPI_LOC=/usr/lib/openmpi/lib
export MPI_INCLUDE=/usr/lib/openmpi/include
export LIBRARY_PATH=$LIBRARY_PATH:/usr/lib/openmpi/lib
export LIBMPI="-lmpi -lopen-rte -lopen-pal -ldl -lmpi_f77 -lpthread"
cd $NWCHEM_TOP/src
make clean
make nwchem_config
make FC=gfortran
It should work fine and after a long build you'll have python enabled binaries.
4. Testing
You can test whether there's python support by creating test.nw with
Done.
Note:
for ROCKS/CENTOS it was not necessary to edit src/config/makefile.h
The relevant parts in the the build configuration are
Other than that, just follow http://verahill.blogspot.com.au/2012/03/building-nwchem-60-on-rocks-543centos.html
Error:
gfortran: error: /usr/include/python2.7/lib/python2.7/config/libpython2.7.a: No such file or directory
export TCGRSH=/usr/bin/ssh
export NWCHEM_TOP=`pwd`
export NWCHEM_TARGET=LINUX64
export NWCHEM_MODULES="all python"
export PYTHONHOME=/usr
export PYTHONVERSION=2.7
export USE_MPI=y
export USE_MPIF=y
export MPI_LOC=/usr/lib/openmpi/lib
export MPI_INCLUDE=/usr/lib/openmpi/include
export LIBRARY_PATH=$LIBRARY_PATH:/usr/lib/openmpi/lib
export LIBMPI="-lmpi -lopen-rte -lopen-pal -ldl -lmpi_f77 -lpthread"
cd $NWCHEM_TOP/src
make clean
make nwchem_config
make FC=gfortran
4. Testing
You can test whether there's python support by creating test.nw with
python
for n in range(1,6):
print n, n*2,n**2
end
task python
and running it with
mpirun -n 1 nwchem test.nw
which gives
NWChem Input Module
-------------------
NWChem Python program
---------------------
for n in range(1,6):
print n, n*2,n**2
1 2 1
2 4 4
3 6 9
4 8 16
5 10 25
1 2 1
2 4 4
3 6 9
4 8 16
5 10 25
Task times cpu: 0.0s wall: 0.0s
Done.
Note:
for ROCKS/CENTOS it was not necessary to edit src/config/makefile.h
The relevant parts in the the build configuration are
export NWCHEM_MODULES="all python"
export PYTHONHOME=/opt/rocks
export PYTHONVERSION=2.4
Other than that, just follow http://verahill.blogspot.com.au/2012/03/building-nwchem-60-on-rocks-543centos.html
Error:
gfortran: error: /usr/include/python2.7/lib/python2.7/config/libpython2.7.a: No such file or directory
make: *** [all] Error 1
locate libpython2.7.a
/usr/lib/libpython2.7.a
/usr/lib/python2.7/config/libpython2.7.a
Reason:
export PYTHONHOME=/usr/include/python2.7
Solution:
export PYTHONHOME=/usr
Error:
In function `PyZlib_compress':
(.text+0x1540): undefined reference to `deflateEnd'
Solution:
http://www.emsl.pnl.gov/docs/nwchem/nwchem-support/2012/02/0065.Re:_NWCHEM_undocumented_compilation_flag
Edit nwchem-6.0/src/config/makefile.h
For LINUX64 look at lines 1960-1964
1960 ifeq ($(BUILDING_PYTHON),python)
1961 # EXTRA_LIBS += -ltk -ltcl -L/usr/X11R6/lib -lX11 -ldl
1962 EXTRA_LIBS += -lnwcutil -lpthread -lutil -ldl
1963 LDOPTIONS = -Wl,--export-dynamic
1964 endif
Change line 1962 to
EXTRA_LIBS += -lnwcutil -lpthread -lutil -ldl -lz -lssl
No comments:
Post a Comment