Compiling NWChem on Cygwin


Jump to page 12Next 16Last
Gets Around
Hi,

Thanks for the new version.

Unfortunately I was not able to compile it on Cygwin.

checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
configure: searching for MPI_TS...
checking mpi.h usability... no
checking mpi.h presence... no
checking for mpi.h... no
configure: error: test for COMEX_NETWORK=MPI_TS failed
configure: error: ../../ga-5-2/comex/configure failed for comex
GNUmakefile:540: recipe for target `build/config.status' failed


Is it possible to compile it without MPI?

Forum Vet
Need to have MPI installed
P99
A prerequisite for a NWChem 6.3 build is to have MPI installed.
An easy way to install MPI on Windows (that should be compatible with Cygwin)
is to grab the Mpich installer at
http://www.mpich.org/static/tarballs/1.4.1p1/mpich2-1.4.1p1-win-ia32.msi

Once you have installed mpich2,
please set MPI_INCLUDE, MPI_LIB and LIBMPI according to you installation setup.

Gets Around
Thank you for the reply.

Another couple of questions.

Does this mean that I will not be able to use NWChem without MPI on the one core?
In particular, should be MPI installed on each machine that uses NWChem binary?

I installed mpich2. However, it seems to me that Cygwin can see only its own folders, and I do not understand how to setup MPI paths.


Quote:Edoapra May 20th 9:32 am
P99
A prerequisite for a NWChem 6.3 build is to have MPI installed.
An easy way to install MPI on Windows (that should be compatible with Cygwin)
is to grab the Mpich installer at
http://www.mpich.org/static/tarballs/1.4.1p1/mpich2-1.4.1p1-win-ia32.msi

Once you have installed mpich2,
please set MPI_INCLUDE, MPI_LIB and LIBMPI according to you installation setup.

Forum Vet
Quote:P99 May 21st 5:35 am
Thank you for the reply.

Another couple of questions.

Does this mean that I will not be able to use NWChem without MPI on the one core?
In particular, should be MPI installed on each machine that uses NWChem binary?

I installed mpich2. However, it seems to me that Cygwin can see only its own folders, and I do not understand how to setup MPI paths.


In aswering your question

1) The non MPi code might still be there, but it is not maintained at all. You might try to use it at your own risk.

2) cygwin can see any Windows/DOS disk, e.g.
c:\ becomes /cygdrive/c/
d:\ becomes /cygdrive/d

There is even a utility for doing this kind conversions between windos and cygwin universes
http://cygwin-lite.sourceforge.net/html/cygpath.html

Gets Around
Unfortunately, I never got compiled.

However, my main concern is - can I provide a binary file to my users? I understand that MPI is now required for use, but does that mean that the program can not be run in single-processor mode at all? Does this mean that every user will have to install MPI, or we can do a couple of dll? Will I be able to capture the output with an external program, as well as I do it on 6.1.1?

Forum Vet
ARMCI_NETWORK=SOCKETS
You can try compiling without MPI using "export ARMCI_NETWORK=SOCKETS". This should also produce a serial binary.

Bert

Clicked A Few Times
I'm trying to compile 6.3 under cygwin as well, using the same configuration that worked with 6.1.1 (using mpich2), now gives the following errors:

In file included from /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../include/w32api/objbase.h:157:0,
                from /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../include/w32api/ole2.h:16,
from /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../include/w32api/wtypes.h:12,
from /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../include/w32api/winscard.h:10,
from /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../include/w32api/windows.h:97,
from ../ga-5-2/global/src/globalp.h:27,
from ../ga-5-2/global/src/sparse.c:16:
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../include/w32api/wtypes.h:651:7: error: expected identifier or '(' before numeric constant
Makefile:7484: recipe for target `global/src/sparse.lo' failed
make[4]: *** [global/src/sparse.lo] Error 1
Makefile:7776: recipe for target `all-recursive' failed
make[3]: *** [all-recursive] Error 1
Makefile:4939: recipe for target `all' failed
make[2]: *** [all] Error 2
GNUmakefile:525: recipe for target `build/.libs/libga.a' failed
make[1]: *** [build/.libs/libga.a] Error 1
GNUmakefile:111: recipe for target `libraries' failed
make: *** [libraries] Error 1

Any clue what goes wrong here?

Gets Around
I have the same problem with "ARMCI_NETWORK SOCKETS".

Forum Vet
We are investigating the wtypes.h error.

Forum Vet
Fix for type errors using SOCKETS
In:

  src/tools/ga-5-2/global/src/sparse.c

Swap lines 15 and 16, i.e. replace:

 #include "abstract_ops.h"
#include "globalp.h"

With:

 #include "globalp.h"
#include "abstract_ops.h"

There seems to be some order dependency with respect to definitions.

Bert

Clicked A Few Times
Yes, now it compiles properly. Thanks.

Gets Around
Thank you very much, now compiled.
I have done the following:

Swap "abstract_ops.h" and "globalp.h" in src/tools/ga-5-2/global/src/sparse.c

csh
setenv NWCHEM_TOP ~/nwchem-6.3-src.2013-05-17
setenv NWCHEM_TARGET CYGWIN
setenv NWCHEM_MODULES all
setenv ARMCI_NETWORK SOCKETS

cd $NWCHEM_TOP/src
make nwchem_config
make > & make.log


Quote:Bert May 24th 11:41 am
In:

  src/tools/ga-5-2/global/src/sparse.c

Swap lines 15 and 16, i.e. replace:

 #include "abstract_ops.h"
#include "globalp.h"

With:

 #include "globalp.h"
#include "abstract_ops.h"

There seems to be some order dependency with respect to definitions.

Bert

Gets Around
Hi Ivo,

Could you be so kind to explain how to compile with MPI.
Unfortunately, I have only a single processor version.


Quote:Ivo May 27th 1:11 am
Yes, now it compiles properly. Thanks.

Clicked A Few Times
I have mpich2 installed under /home/ivo/mpich2-install.
Then I have the following environmental variables in place:

setenv NWCHEM_TOP /home/ivo/nwchem-6.3-src.2013-05-17
setenv NWCHEM_TARGET CYGWIN
setenv NWCHEM_MODULES all
setenv FC gfortran
setenv USE_MPI y
setenv LIBMPI "-lpmpich -lmpich -lopa -lmpl -lpthread -lmpichf90"
setenv MPI_LIB /home/ivo/mpich2-install/lib
setenv MPI_INCLUDE /home/ivo/mpich2-install/include

Then from /home/ivo/nwchem-6.3-src.2013-05-17/src I do:

make nwchem_config
make >& make.log

That at least works for me.

There are still some issues with some of the QA tests though. Will post them when they are done.

Clicked A Few Times
These are the results of the small tests:
 Running tests/h2o_opt/h2o_opt 
     verifying output ... OK
 
 Running tests/c2h4/c2h4 
     verifying output ... OK
 
OK
 
 Running tests/auh2o/auh2o 
     verifying output ... OK
 
 Running tests/autosym/autosym 
     verifying output ... OK
 
 Running tests/dft_he2+/dft_he2+ 
     verifying output ... OK
 
 Running tests/h2mp2/h2mp2 
     verifying output ... OK
 
 Running tests/h2o/h2o 
     verifying output ... OK
 
 Running tests/hess_h2o/hess_h2o 
     verifying output ... OK
 
 Running tests/prop_h2o/prop_h2o 
     verifying output ... OK
 
 Running tests/pyqa/pyqa 
     NWChem execution failed			#Not using python, so this makes sense
 
Failed
 
 Running tests/geom_zmatrix/geom_zmatrix 
     verifying output ... OK
 
 Running tests/rimp2_ne/rimp2_ne 
     verifying output ... OK
 
 Running tests/rimp2_he/rimp2_he 
     verifying output ... OK
 
 Running tests/scf_feco5/scf_feco5 
     verifying output ... OK
 
 Running tests/small_intchk/small_intchk 
     verifying output ... OK
 
 Running tests/tagcheck/tagcheck 
     verifying output ... OK
 
 Running tests/testtab/testtab 
     verifying output ... OK
 
OK
 
 Running tests/h2o_dk/h2o_dk 
     verifying output ... OK
 
 Running tests/u_sodft/u_sodft 
     verifying output ... OK
 
 Running tests/cosmo_h2o/cosmo_h2o 
     verifying output ... OK
 
 Running tests/ch5n_nbo/ch5n_nbo 
     verifying output ... OK
 
 Running tests/h2s_finite/h2s_finite 
     verifying output ... OK
 
 Running tests/startag/startag 
     verifying output ... OK
 
OK
 
 Running tests/cosmo_h2o_dft/cosmo_h2o_dft 
     verifying output ... OK
 
 Running tests/cosmo_h2o_bq/cosmo_h2o_bq 
     verifying output ... OK
 
 Running tests/be/be 
     verifying output ... OK
 
 Running tests/dft_s12gh/dft_s12gh 
     verifying output ... failed		#0.0001 difference for a gradient
 
Failed
 
 Running tests/cosmo_trichloroethene/cosmo_trichloroethene 
     verifying output ... failed		#0.0005 a.u. difference in effective nuclear erpulsion energy and dft energy
 
 Running tests/esp/esp 
     verifying output ... ESP charges match
 
 Running tests/esp_uhf/esp_uhf 
     verifying output ... ESP charges match
 
 Running tests/dft_bsse/dft_bsse 
     verifying output ... OK
 
 Running tests/bsse_dft_trimer/bsse_dft_trimer 
     verifying output ... failed		#0.00014 kcal/mol difference in zero-point energy
 
Failed
 
 Running tests/cosmo_h2cco2/cosmo_h2cco2 
     verifying output ... OK
 
 Running tests/cosmo_h2cco2mg/cosmo_h2cco2mg 
     verifying output ... OK
 
 Running tests/cosmo_h2cco2mg_ecp/cosmo_h2cco2mg_ecp 
     verifying output ... OK
 
OK
 
 Running tests/cosmo_h3co/cosmo_h3co 
     verifying output ... failed		#0.0005 a.u. difference in effective nuclear repulsion energy, some numbers swapped
 
 Running tests/cosmo_h3co_ecp/cosmo_h3co_ecp 
     NWChem execution failed			#"too many iterations" "hnd_cosequ: too many iters      911"
 
 Running tests/cosmo_h2cco2na/cosmo_h2cco2na 
     verifying output ... failed		#0.0001 a.u. difference in effective nuclear repulsion energy
 
 Running tests/cosmo_h3co_gp/cosmo_h3co_gp 
     verifying output ... failed		#differences in effective nuclear repulsion energy (0.1 a.u.), coordinates (0.001) and gradients (0.002)
 
Failed
 
 Running tests/dplot/dplot 
     verifying output ... OK
 
 Running tests/dft_meta/dft_meta 
     verifying output ... OK
 
 Running tests/dft_mpwb1khf/dft_mpwb1khf 
     verifying output ... OK
 
 Running tests/dft_m05nh2ch3/dft_m05nh2ch3 
     verifying output ... OK
 
 Running tests/prop_uhf_h2o/prop_uhf_h2o 
     verifying output ... OK
 
OK
 
 Running tests/et_zn_dimer/et_zn_dimer 
     verifying output ... OK
 
 Running tests/vectors_rotate/vectors_rotate 
     verifying output ... OK
 
 Running tests/sad_ch3hf/sad_ch3hf 
     verifying output ... OK
 
OK
 
 Running tests/h2o_diag_to_cg/h2o_diag_to_cg 
     verifying output ... OK
 
 Running tests/h2o_cg_to_diag/h2o_cg_to_diag 
     verifying output ... OK
 
OK
 
 Running tests/h2o_diag_opt/h2o_diag_opt 
     verifying output ... OK
 
 Running tests/h2o_cg_opt/h2o_cg_opt 
     verifying output ... OK
 
 Running tests/h2o_diag_opt_ub3lyp/h2o_diag_opt_ub3lyp 
     verifying output ... failed		#0.0001 difference in coordinate
 
 Running tests/h2o_cg_opt_ub3lyp/h2o_cg_opt_ub3lyp 
     verifying output ... OK
 
 Running tests/h2o_cg_opt_rob3lyp/h2o_cg_opt_rob3lyp 
     verifying output ... failed		#0.0001 difference in coordiante, 0.0002 a.u. difference in effective nuclear repulsion energy
 
Failed
 
 Running tests/h2o_diag_to_cg_ub3lyp/h2o_diag_to_cg_ub3lyp 
     verifying output ... failed		#0.0001 difference in total dft energy
 
 Running tests/h2o_cg_to_diag_ub3lyp/h2o_cg_to_diag_ub3lyp 
     verifying output ... OK
 
Failed
 
The oh2 test is testing the perl parsing script and SHOULD fail
 
 Running tests/oh2/oh2 
     verifying output ... failed
 
Failed
 



Most of the differences seem to be very minor. The only job to give relatively big differences is cosmo_h3co_gp. And I don't know why cosmo_h3co_ecp crashed.


Forum >> NWChem's corner >> Compiling NWChem
Jump to page 12Next 16Last