18 Şubat 2013 Pazartesi

340. Issues when compiling Nwchem 6.1.1 -- missing *.fh in src/include

To contact us Click HERE
The problem:
If you modify the nwchem sources, build, do a make realclean and then pack them up to export your patched sources to other nodes you might find that compiling doesn't work that well, yielding errors such as (I'll list them all to help google):

make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/stdio.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(basis.o)'.  Stop.make: *** [libraries] Error 1

and
make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/nwc_const.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(basis.o)'.  Stop.make: *** [libraries] Error 1nwchem.F:3:0: fatal error: errquit.fh: No such file or directorycompilation terminated.stubs.F:15:0: fatal error: errquit.fh: No such file or directory

and
make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/errquit.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(basis.o)'.  Stop.make: *** [libraries] Error 1

and
make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/util.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(bas_input.o)'.  Stop.

and
/opt/nwchem/nwchem-6.1.1-src_mod/src/include/util.fh:1:0: fatal error: printlevels.fh: No such file or directorycompilation terminated.make[1]: *** [/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(bas_input.o)] Error 1make[1]: *** Waiting for unfinished jobs....

and
basisP.F: In function 'nbf_from_ucont':basisP.F:427:0: warning: '__result_nbf_from_ucont' may be used uninitialized in this function [-Wmaybe-uninitialized]make[2]: warning: -jN forced in submake: disabling jobserver mode.make[1]: warning: -jN forced in submake: disabling jobserver mode.make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/msgids.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(geom.o)'.  Stop.

and
make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/bitops.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(pstat_alloc.o)'.  Stop.

and
In file included from pstat_alloc.F:12:0:/opt/nwchem/nwchem-6.1.1-src_mod/src/include/bitops.fh:11:0: fatal error: bitops_decls.fh: No such file or directorycompilation terminated.make[1]: *** [/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(pstat_alloc.o)] Error 1

and
In file included from pstat_alloc.F:12:0:/opt/nwchem/nwchem-6.1.1-src_mod/src/include/bitops.fh:12:0: fatal error: bitops_funcs.fh: No such file or directorycompilation terminated.make[1]: *** [/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(pstat_alloc.o)] Error 1

and
make[2]: warning: -jN forced in submake: disabling jobserver mode.make[2]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/itri.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(sym_sh_pair.o)'.  Stop.make[2]: *** Waiting for unfinished jobs....

and
make[2]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/bgj.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwints.a(exactd_mem.o)'.  Stop.

and
make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/numerical_constants.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/librimp2.a(rimp2_v_e2.o)'.  Stop.

and
make[2]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/util_sgroup.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libdntmc.a(gibbs.o)'.  Stop.

and
nwchem.F:11:0: fatal error: bgj_common.fh: No such file or directory

Solution:
This has been mentioned before on the nwchem forum, but not in explicit enough detail.
The solution is to copy a series of files from src/util and to remove make realclean from your build instructions (or at least do the copying after the make realclean step).

Copy these files
cp src/util/stdio.fh src/include/cp src/util/nwc_const.fh src/include/cp src/util/errquit.fh src/include/cp src/util/util.fh src/include/cp src/util/printlevels.fh src/include/cp src/util/msgids.fh src/include/cp src/util/bitops.fh src/include/cp src/util/bitops_decls.fh src/include/cp src/util/bitops_funcs.fh src/include/cp src/util/itri.fh src/include/cp src/util/bgj.fh src/include/cp src/util/numerical_constants.fh src/include/cp src/util/util_sgroup.fh src/include/cp src/util/bgj_common.fh src/include/

Then build, using e.g.
export LARGE_FILES=TRUEexport TCGRSH=/usr/bin/sshexport NWCHEM_TOP=`pwd`export NWCHEM_TARGET=LINUX64export NWCHEM_MODULES="all python"export PYTHONVERSION=2.7export PYTHONHOME=/usrexport BLASOPT="-L/opt/openblas/lib -lopenblas"export USE_MPI=yexport USE_MPIF=yexport USE_MPIF4=yexport MPI_LOC=/usr/lib/openmpi/libexport MPI_INCLUDE=/usr/lib/openmpi/includeexport LIBRARY_PATH=$LIBRARY_PATH:/usr/lib/openmpi/lib:/opt/openblas/libexport LIBMPI="-lmpi -lopen-rte -lopen-pal -ldl -lmpi_f77 -lpthread"cd $NWCHEM_TOP/srcmake nwchem_configmake FC=gfortran 1>make.log 2>make.errexport FC=gfortrancd ../contrib./getmem.nwchem

Hiç yorum yok:

Yorum Gönder