Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] parallel configuration problem

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] parallel configuration problem


Chronological Thread 
  • From: Alain Jacques <ajs.jacques@gmail.com>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] parallel configuration problem
  • Date: Wed, 11 Feb 2009 13:55:46 +0100
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; b=DXgnRn2zx3Ke400ACmsSQGfkwCQn59kI1j38lEyacYERnD5P4AsVqzl3dQHKGhdWCV 5gsx2LsboHetK3p+e+tw9JXSgP7/Sfo49hrGdc5YEuxOEkaNOE+V2MdI1MDaUysDIpOn 6TQT1aiNSqujeIr9LwcDpt1CdMk94WA3WminA=


Hello Aaron,

There are 2 things that are strange in your config ... I don't see why abinit configure looks for /home/opt/intel/impi/3.1//bin/mpicc - I assume the right 64bit mpicc resides in /home/opt/intel/impi/3.1/bin64/mpicc (?). And the config test fails because mpicc (/home/opt/intel/impi/3.1/bin/mpicc ... a 32bit compiler) invokes gcc-4.1.2 32bit (32bit is okay but it should be the 32 bit Intel compiler) - and fails to find the /usr/lib/crt1.o lib (that should be there even on a 64bit system). So I wondering if the fact that /home/opt/intel/impi/3.1//bin/mpicc is called comes from a bug in abinit configure or a mess in your setup. So let's do a few tests (maybe after cleaning your PATH and LD_LIBRARY_PATH from pgi and pathscale links that you don't need for the moment - mixing compilers paths and libs is really asking for troubles...)

* what's the output of "echo $PATH", "echo $LD_LIBRARY_PATH", "which mpicc",  "mpicc -showme", "which mpif90" and "mpif90 -showme"

* just for the fun, try a "/home/opt/intel/impi/3.1/bin/mpicc -v"; if the output mentions gcc-4.1.2 then you can tell your system administrator that mpi has been built with gcc.

* try to compile a tiny parallel C code ... save the following lines in testparc.c:

#include <stdio.h>
#include <mpi.h>

int main(int argc, char *argv[]) {
  int numprocs, rank, namelen;
  char processor_name[MPI_MAX_PROCESSOR_NAME];

  MPI_Init(&argc, &argv);
  MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
  MPI_Comm_rank(MPI_COMM_WORLD, &rank);
  MPI_Get_processor_name(processor_name, &namelen);

  printf("Process %d on %s out of %d\n", rank, processor_name, numprocs);

  MPI_Finalize();
}


Compile it with "mpicc testparc.c". Run it with "mpirun -np 2 ./a.out". Do you see the following output (xxx will be the name of your sytem):
Process 1 on xxx out of 2
Process 0 on xxx out of 2
And a "file ./a.out" should say ./a.out: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped ... right?

* if the testparc.c runs okay, do you still have the ...
configure:8505: checking for C compiler default output file name
configure:8532: /home/opt/intel/impi/3.1//bin/mpicc    conftest.c  >&5
/usr/bin/ld: crt1.o: No such file: No such file or directory
... when running abinit configure?

Cheers,

Alain


Aaron wrote:
4101f9fe0902110140t46fbd09cuf13e85f50b7bed0c@mail.gmail.com" type="cite">hi,

Thank you for your advice. I have contacted with my system administrator and he confirmed that mpi installation does not depend on 32-bit version gcc. I cannot tell it does or not, so just let it be. I have been trying a lot of settings, including using FC=ifort CC=icc CXX=icpc and -I to set library path and -L to set path, but the same error kept showing up. 

checking for style of include used by make... GNU
checking for gcc... /home/opt/intel/impi/3.1//bin/mpicc
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log' for more details.

If I disable --enable-mpi option, configuration will complete successfully. Description about abinit-5.6.4 on www.abinit.org said if the LD_LIBRARY_PATH and PATH environment variables are not properly set up, the configure script of parallel build will abort with "configure: error: cannot run C compiled programs."  Could my problem be related to this?

LD_LIBRARY_PATH and PATH environment variables in my system are set as following:

PATH=/home/opt/intel/fce/10.1.015/bin/:/home/opt/intel/cce/10.1.015/bin/:/home/opt/pgi/linux86-64/7.0/bin:/home/opt/intel/impi/3.1/bin64:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/mfeng/bin:/home/opt/bin:/sbin:/usr/sbin:/home/opt/vasp/bin:/home/opt/crystal98/utils:/home/opt/tetr_lev00/bin:/home/opt/wien2k:/home/opt/wien2k/SRC_structeditor/bin:/home/opt/pathscale/bin:/home/mfeng/abinit/abinit-5.4.4p/tmp/src/main/

LD_LIBRARY_PATH=/home/opt/intel/fce/10.1.015/lib/:/home/opt/intel/cce/10.1.015/lib/:/home/opt/acml/4.0.0/pathscale64/lib:/home/opt/pathscale/lib/3.0:/home/opt/pathscale/lib/3.0/32:/home/opt/intel/impi/3.1/lib64:/home/opt/intel/mkl/10.0.3.020/lib/em64t

And mpi path is:   /home/opt/intel/impi/3.1/

I hope someone give me some suggestions.  Any advice is welcome. Thanks in advance.

Best regards,

Aaron

...






Archive powered by MHonArc 2.6.15.

Top of Page