0

I'm have compiled mpich-3.0.4 using ifort and icc in ubuntu 12.04 using the following sequence:

export CC=icc
export CXX=icpc
export CPP='icc -E'
export CXXCPP='icpc -E'
export F77=ifort
export FC=ifort
export CFLAGS='-O3 -xHost -ip -no-prec-div -static-intel'
export CXXFLAGS='-O3 -xHost -ip -no-prec-div -static-intel'
export FFLAGS='-O3 -xHost -ip -no-prec-div -static-intel'

./configure --prefix=/usr/local
make
make install

The compilation appears to be OK, but the PROBLEM is It does not build libpmpich.a Only libmpich.a built, but I need both to compile a model.

Can anyone help?

rene
  • 41,474
  • 78
  • 114
  • 152
Mercel Santos
  • 27
  • 2
  • 7
  • see if there is a target `make all`. Or maybe can you `ln ` the one to the other. Or you'll have to edit your question (using the `{}`) code tool at the top left of the edit box), to include relevant targets from the make file (or add the URL from where interested parties can download same). In general, `CC` targets in make files can only create one ouptut at a time. So examine the `makefile` with eye to discovering a way to run it a 2nd time to create your other file. Good luck. – shellter Nov 02 '13 at 14:28

2 Answers2

1

The dependency on libpmpich.a surprises me. Step back a bit. What are you looking for?

  • Either you have some 3rd party package with an explicit dependency on libpmpich.a -- which is incorrect if not dumb and you should give your 3rd party package a hard time
  • you are trying to find a library with MPI's Profiling interface (e.g. PMPI_Bcast). It has been the case for quite some time that this interface has been built into libmpich.a.

Better question: why the explicit dependency on libmpich or libpmpich? the mpicc wrapper scripts should provide you the right libraries, and if some day you want to take @Wissam Y. Khalil's advice, you won't have to change your makefiles.

Rob Latham
  • 5,085
  • 3
  • 27
  • 44
-2

Have you considered a change to openmpi it is very good and you can get it easily from the rep

Wissam Y. Khalil
  • 133
  • 1
  • 5
  • 13
  • I hesitate to downvote you, but this response doesn't really help this poor fellow. The important bit here is why he thinks he needs libpmpich. – Rob Latham Nov 03 '13 at 00:52
  • Thanks for your answer. So, I'm trying to install a model. In the makefile's model there are three lines like that. MPI_PATH=/usr/local/mpich PAR_INCS=-I$(MPI_PATH)/include PAR_LIBS=-L$(MPI_PATH)/lib -lmpich -lpmpich In other words, in the model build process is necessary the libs libpmpich.a libmpich.a When I try to install the model and libpmpich.a is missing in the "/usr/local/mpich/lib" I get the Error "lpmpich not found". – Mercel Santos Nov 03 '13 at 19:56
  • it is bloody difficult to google for RAMS, but this is definitely a problem with their build system. Probably five lines of changes to remove any references to PAR_INCS and PAR_LIBS and just compile/link with the mpicc wrapper script. – Rob Latham Nov 04 '13 at 14:57