Exabayes compilation error with intel (icc + impi)

145 views
Skip to first unread message

Mikaël

unread,
May 10, 2016, 9:13:46 AM5/10/16
to ExaBayes
Hi,

I can't compile exabayes with intel mpi support.

I join the result of :

./configure --enable-mpi

I don't understand why LINE var bellow show g++ in configure output.

LINE: g++ -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread g++ -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread
DEFINES
:
INCLUDES
: -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include
LINK_PATHS
:
LIBS
: -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread
LINK_ARGS
:
REMAIN
: -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker


I don't understand the REMAIN var content.
I have set CC and CXX to icc

When I look in config.log, I found this :

configure:7622: icc -o conftest -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx   conftest.cpp -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread >&5
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-fenable-new-dtags'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10120: overriding '-msse' with '-msse3'
icc
: command line warning #10120: overriding '-msse3' with '-mssse3'
icc
: command line warning #10120: overriding '-mssse3' with '-msse4.1'
icc
: command line warning #10120: overriding '-msse4.1' with '-msse4.2'
icc
: command line warning #10120: overriding '-msse4.2' with '-mavx'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-fenable-new-dtags'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
ld
: unrecognised emulation mode: mmx
Supported emulations: elf_x86_64 elf_i386 i386linux elf_l1om



I tried to create the conftest.cpp and conftest.h and compile it with this command :

icc -o conftest -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx   conftest.cpp -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread
icc
: command line warning #10120: overriding '-msse' with '-msse3'
icc
: command line warning #10120: overriding '-msse3' with '-mssse3'
icc
: command line warning #10120: overriding '-mssse3' with '-msse4.1'
icc
: command line warning #10120: overriding '-msse4.1' with '-msse4.2'
icc
: command line warning #10120: overriding '-msse4.2' with '-mavx'



It well produce the conftest program.


conftest.cpp I use from config.log :

#include "conftest.h"
#include <mpi.h>

int
main
()
{
 
int rank, size;
  MPI_Comm_rank
(MPI_COMM_WORLD, &rank);
  MPI_Comm_size
(MPI_COMM_WORLD, &size);

 
return 0;
}






result_configure.log

Alexandros Stamatakis

unread,
May 10, 2016, 9:15:47 AM5/10/16
to exab...@googlegroups.com
hi mikael,

do you have a working MPI installation on your system?

the error indicates that you probably don't.

can you compile and run simple MPI programs (e.g., a MPI "hello world"?)

alexis

On 10.05.2016 15:13, Mikaël wrote:
> Hi,
>
> I can't compile exabayes with intel mpi support.
>
> I join the result of :
>
> ./configure --enable-mpi
>
> I don't understand why LINE var bellow show g++ in configure output.
>
> |
> LINE:g++-I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include
> -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt
> -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib
> -Xlinker--enable-new-dtags -Xlinker-rpath
> -Xlinker/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt
> -Xlinker-rpath
> -Xlinker/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib
> -Xlinker-rpath -Xlinker/opt/intel/mpi-rt/5.1/intel64/lib/release_mt
> -Xlinker-rpath -Xlinker/opt/intel/mpi-rt/5.1/intel64/lib -lmpicxx
> -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread
> g++-I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include
> -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt
> -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib
> -Xlinker--enable-new-dtags -Xlinker-rpath
> -Xlinker/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt
> -Xlinker-rpath
> -Xlinker/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib
> -Xlinker-rpath -Xlinker/opt/intel/mpi-rt/5.1/intel64/lib/release_mt
> -Xlinker-rpath -Xlinker/opt/intel/mpi-rt/5.1/intel64/lib -lmpicxx
> -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread
> DEFINES:
> INCLUDES:-I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include
> -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include
> LINK_PATHS:
> LIBS:-lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lmpicxx
> -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread
> LINK_ARGS:
> REMAIN:-Xlinker--enable-new-dtags -Xlinker-rpath -Xlinker-Xlinker-rpath
> -Xlinker-Xlinker-rpath -Xlinker-Xlinker-rpath
> -Xlinker-Xlinker--enable-new-dtags -Xlinker-rpath -Xlinker-Xlinker-rpath
> -Xlinker-Xlinker-rpath -Xlinker-Xlinker-rpath -Xlinker
> Supportedemulations:elf_x86_64 elf_i386 i386linux elf_l1om
> |
>
>
>
> I tried to create the conftest.cpp and conftest.h and compile it with
> this command :
>
> |
> icc -o conftest
> -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include
> -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include
> -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1-msse4.2-mavx conftest.cpp
> -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt
> -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib
> -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt
> -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib
> -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lmpicxx -lmpifort
> -lmpi -lmpigi -ldl -lrt -lpthread
> icc:command line warning #10120: overriding '-msse' with '-msse3'
> icc:command line warning #10120: overriding '-msse3' with '-mssse3'
> icc:command line warning #10120: overriding '-mssse3' with '-msse4.1'
> icc:command line warning #10120: overriding '-msse4.1' with '-msse4.2'
> icc:command line warning #10120: overriding '-msse4.2' with '-mavx'
> |
>
>
>
> It well produce the conftest program.
>
>
> conftest.cpp I use from config.log :
>
> |
> #include"conftest.h"
> #include<mpi.h>
>
> int
> main ()
> {
> intrank,size;
> MPI_Comm_rank(MPI_COMM_WORLD,&rank);
> MPI_Comm_size(MPI_COMM_WORLD,&size);
>
> return0;
> }
> |
>
>
>
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "ExaBayes" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to exabayes+u...@googlegroups.com
> <mailto:exabayes+u...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout.

--
Alexandros (Alexis) Stamatakis

Research Group Leader, Heidelberg Institute for Theoretical Studies
Full Professor, Dept. of Informatics, Karlsruhe Institute of Technology
Adjunct Professor, Dept. of Ecology and Evolutionary Biology, University
of Arizona at Tucson

www.exelixis-lab.org

Mikaël

unread,
May 10, 2016, 9:22:35 AM5/10/16
to ExaBayes
Yes, I compiled the conftest.cpp of the configure script :



I tried to create the conftest.cpp and conftest.h and compile it with this command :

icc -o conftest -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx   conftest.cpp -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread
icc
: command line warning #10120: overriding '-msse' with '-msse3'

icc
: command line warning #10120: overriding '-msse3' with '-mssse3'
icc
: command line warning #10120: overriding '-mssse3' with '-msse4.1'
icc
: command line warning #10120: overriding '-msse4.1' with '-msse4.2'
icc
: command line warning #10120: overriding '-msse4.2' with '-mavx'



It well produce the conftest program.


conftest.cpp I use from config.log :

#include "conftest.h"
#include <mpi.h>

int
main
()
{

 
int rank, size;
  MPI_Comm_rank
(MPI_COMM_WORLD, &rank);
  MPI_Comm_size
(MPI_COMM_WORLD, &size);

 
return 0;
}

Alexandros Stamatakis

unread,
May 10, 2016, 9:26:32 AM5/10/16
to exab...@googlegroups.com
yeah, but can you run the conftest program?

alexis

On 10.05.2016 15:22, Mikaël wrote:
> Yes, I compiled the conftest.cpp of the configure script :
>
>
> I tried to create the conftest.cpp and conftest.h and compile it
> with this command :
>
>
> |
> icc -o conftest
> -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include
> -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include
> -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1-msse4.2-mavx conftest.cpp

Mikaël

unread,
May 10, 2016, 9:47:21 AM5/10/16
to ExaBayes
Yes, I can run conftest :

> ./conftest
Attempting to use an MPI routine before initializing MPI

I tried this hello world too :

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

int main(int argc, char** argv) {
   
// Initialize the MPI environment
    MPI_Init
(NULL, NULL);

   
// Get the number of processes
   
int world_size;
    MPI_Comm_size
(MPI_COMM_WORLD, &world_size);

   
// Get the rank of the process
   
int world_rank;
    MPI_Comm_rank
(MPI_COMM_WORLD, &world_rank);

   
// Get the name of the processor
   
char processor_name[MPI_MAX_PROCESSOR_NAME];
   
int name_len;
    MPI_Get_processor_name
(processor_name, &name_len);

   
// Print off a hello world message
    printf
("Hello world from processor %s, rank %d"
           
" out of %d processors\n",
           processor_name
, world_rank, world_size);

   
// Finalize the MPI environment.
    MPI_Finalize
();
}

Result is :

> ./hello
Hello world from processor HOST, rank 0 out of 1 processors

Thanks for your help.

Mikaël

Alexandros Stamatakis

unread,
May 10, 2016, 9:50:54 AM5/10/16
to exab...@googlegroups.com
okay let me check what else could be wrong then, might take a while,

alexis

On 10.05.2016 15:47, Mikaël wrote:
> Yes, I can run conftest :
>
> |
>>./conftest
> Attemptingto usean MPI routine before initializing MPI
> > an email to exabayes+u...@googlegroups.com <javascript:>
> > <mailto:exabayes+u...@googlegroups.com <javascript:>>.
> > For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.
>
> --
> Alexandros (Alexis) Stamatakis
>
> Research Group Leader, Heidelberg Institute for Theoretical Studies
> Full Professor, Dept. of Informatics, Karlsruhe Institute of Technology
> Adjunct Professor, Dept. of Ecology and Evolutionary Biology,
> University
> of Arizona at Tucson
>
> www.exelixis-lab.org <http://www.exelixis-lab.org>

Andre Aberer

unread,
May 11, 2016, 4:47:43 AM5/11/16
to exab...@googlegroups.com
Hi Mikaël,

TL;DR: try

$ ./configure CC=icc CXX=icpc MPICXX=mpiicpc
or
$ ./configure CC=icc CXX=icpc MPICXX='mpicxx -cxx=icpc'

================================================================================

More details:

g++ popping up in the LINE variable is the strongest hint at what could
go wrong here.

Unfortunately, MPI compiler wrappers are pretty diverse (in contrast to
nature diversity is a bad thing here). While you have set CC and CXX to
icc (btw: isn't there a icpc for C++?), this does not necessarily mean
that mpicxx picked that up (although the config.log output suggests
otherwise). So my guess is that mpicxx tries to use the standard
compiler on your system which is g++.

On clusters, you sometimes have to load/unload respective modules to
ensure that for instance icc is configured as the standard compiler
(e.g., try to unload everything gcc-related). If there is an option to
solve this via modules, then I highly recommend it to do it that way,
since otherwise you may run into trouble later again.

The following intel manual suggests the following way for forcing the
MPI compiler to use a specific underlying compiler:

$ mpicc -cxx=icc
$ mpicxx -cxx=icpc

Alternatively, there may exist an executable called "mpiicpc" that uses
icpc by default.

https://software.intel.com/sites/default/files/managed/16/5f/intel-mpi-5.1.2-reference-manual-linux.pdf

================================================================================


A few random things to try out when fighting the configure script:

* exporting variables sometimes helps:
$ export CC=<path to compiler>
$ ./configure ....

* You can explicitly set the mpicxx compiler via the variable MPICXX
(see ./configure --help). May be worth a try, if you have trouble with
passing command line args to mpicxx, e.g.,
$ ./configure MPICXX="mpicxx --cxx='icpc'"

For further reference:
* could you let us know, which version of exabayes you are compiling?

--
Best regards,
Andre
> Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --enable-
> new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -
> Xlinker -Xlinker -rpath -Xlinker
>
>
> I don't understand the REMAIN var content.
> I have set CC and CXX to icc
>
> When I look in config.log, I found this :
>
> configure:7622: icc -o conftest -I/opt/intel/impi/5.1/
> compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -I/opt/intel/impi/
> 5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -Xlinker --
> enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -
> rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --enable-new-dtags -Xlinker -
> rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -
> rpath -Xlinker -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx Â
> conftest.cpp -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -
> rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --
> enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -
> rpath -Xlinker -Xlinker -rpath -Xlinker -L/opt/intel/impi/5.1/
> compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -L/opt/
> intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -L/opt/
> intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/
> release_mt -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/
> intel64/lib -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lmpicxx -
> linux/mpi/intel64/include -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -
> mavx  conftest.cpp -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/
> linux/mpi/intel64/lib/release_mt -L/opt/intel/impi/5.1/
> compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -L/opt/intel/impi/5.1/
> compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -L/opt/
> intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -
> lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lmpicxx -lmpifort -lmpi -
> lmpigi -ldl -lrt -lpthread
> icc: command line warning #10120: overriding '-msse' with '-msse3'
> icc: command line warning #10120: overriding '-msse3' with '-mssse3'
> icc: command line warning #10120: overriding '-mssse3' with '-msse4.1'
> icc: command line warning #10120: overriding '-msse4.1' with '-msse4.2'
> icc: command line warning #10120: overriding '-msse4.2' with '-mavx'
>
>
>
> It well produce the conftest program.
>
>
> conftest.cpp I use from config.log :
>
> #include "conftest.h"
> #include <mpi.h>
>
> int
> main ()
> {
> Â int rank, size;
> Â MPI_Comm_rank(MPI_COMM_WORLD, &rank);
> Â MPI_Comm_size(MPI_COMM_WORLD, &size);
>
> Â return 0;
> }

Mikaël

unread,
May 11, 2016, 5:03:23 AM5/11/16
to ExaBayes, an...@aberer.io
I just try it this morning :

export CC=icc
export CXX=icc
export MPICXX=mpiicc
./configure --enable-mpi

I forgot to set mpicxx to mpiicc yesterday. The result is the same in config.log but output of ./configure show LINE var using icc :

LINE: icc -I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib/release_mt -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread icc -I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib/release_mt -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread
DEFINES
:
INCLUDES
: -I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include -I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include
LINK_PATHS
:
LIBS
: -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread
LINK_ARGS
:
REMAIN
: -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker


MPI_CXXFLAGS
=
MPI_CXXLDFLAGS
=

configure
: error:  "error: could not setup a working MPI environment. Please contact the exabayes user group with this output and details about your MPI installation.

When I read config.log, error seems to come from ld :

icc -o conftest -I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include -I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx   conftest.cpp -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib/release_mt -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib/release_mt -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread >&5

icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-fenable-new-dtags'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10120: overriding '-msse' with '-msse3'
icc
: command line warning #10120: overriding '-msse3' with '-mssse3'
icc
: command line warning #10120: overriding '-mssse3' with '-msse4.1'
icc
: command line warning #10120: overriding '-msse4.1' with '-msse4.2'
icc
: command line warning #10120: overriding '-msse4.2' with '-mavx'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-fenable-new-dtags'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
icc
: command line warning #10006: ignoring unknown option '-rpath'
ld
: unrecognised emulation mode: mmx
Supported emulations:
elf_x86_64 elf_i386 i386linux elf_l1om
configure
:7622: $? = 1
...

When I compile manually the conftest, I have same warning but no ld error ...

I try with MPICXX='mpicxx -cxx=icpc' and MPICXX=mpiicpc

Thanks
Mikaël

Mikaël

unread,
May 11, 2016, 5:14:22 AM5/11/16
to ExaBayes, an...@aberer.io
A try with :

./configure CC=icc CXX=icpc MPICXX=mpiicpc --enable-mpi


Output of ./configure :

LINE: icpc -I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib/release_mt -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread icpc -I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib/release_mt -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread
DEFINES
:
INCLUDES
: -I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include -I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include
LINK_PATHS
:
LIBS
: -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread
LINK_ARGS
:

REMAIN
: -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker


MPI_CXXFLAGS
=
MPI_CXXLDFLAGS
=

configure
: error:  "error: could not setup a working MPI environment. Please contact the exabayes user group with this output and details about your MPI installation.

Same error with ld in config.log






Le mercredi 11 mai 2016 10:47:43 UTC+2, Andre Aberer a écrit :

Andre Aberer

unread,
May 11, 2016, 5:26:14 AM5/11/16
to exab...@googlegroups.com
Hi Mikaël,

yes, it appears, "ld" interprets the vectorization flags (e.g., "-mmmx"
which should only be used for compilation) as emulation mode and refuses
to continue.

I think, there has been a similar problem in the past.

* Are you using the latest code from the github repo?
For a tar-ball, see http://aberer.io/software/exabayes-devel.tar.gz

* could you check, whether the flag --disable-sse for ./configure
changes anything?

--
Best regards,
Andre

Mikaël writes:

> I just try it this morning :
>
> export CC=icc
> export CXX=icc
> export MPICXX=mpiicc
> ./configure --enable-mpi
>
> I forgot to set mpicxx to mpiicc yesterday. The result is the same in
> config.log but output of ./configure show LINE var using icc :
>
> LINE: icc -I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include -L/opt/intel/
> impi/5.1/impi/5.1.0.079/intel64/lib/release_mt -L/opt/intel/impi/5.1/impi/
> 5.1.0.079/intel64/lib -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /
> opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib/release_mt -Xlinker -rpath -
> Xlinker /opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib -Xlinker -rpath -Xlinker
> /opt/intel/mpi-rt/5.1/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/
> intel/mpi-rt/5.1/intel64/lib -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread icc -
> I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include -L/opt/intel/impi/5.1/impi/
> 5.1.0.079/intel64/lib/release_mt -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/
> lib -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/
> impi/5.1.0.079/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/impi/
> 5.1/impi/5.1.0.079/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/
> intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/
> lib -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread
> DEFINES:
> INCLUDES: -I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include -I/opt/intel/
> impi/5.1/impi/5.1.0.079/intel64/include
> LINK_PATHS:
> LIBS: -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lmpifort -lmpi -lmpigi -ldl
> -lrt -lpthread
> LINK_ARGS:
> REMAIN: -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -
> Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --enable-
> new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -
> Xlinker -Xlinker -rpath -Xlinker
>
>
> MPI_CXXFLAGS=
> MPI_CXXLDFLAGS=
>
> configure: error: Â"error: could not setup a working MPI environment. Please
> contact the exabayes user group with this output and details about your MPI
> installation.
>
> When I read config.log, error seems to come from ld :
>
> icc -o conftest -I/opt/intel/impi/5.1/impi/5.1.0.079/intel64/include -I/opt/
> intel/impi/5.1/impi/5.1.0.079/intel64/include -Xlinker --enable-new-dtags -
> Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -
> Xlinker -rpath -Xlinker -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -
> Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -mmmx
> -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx  conftest.cpp -Xlinker --
> enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -
> rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --enable-new-dtags -Xlinker -
> rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -
> rpath -Xlinker -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib/release_mt -L/
> opt/intel/impi/5.1/impi/5.1.0.079/intel64/lib -L/opt/intel/impi/5.1/impi/
> 5.1.0.079/intel64/lib/release_mt -L/opt/intel/impi/5.1/impi/5.1.0.079/intel64/
> lib -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread -lmpifort -lmpi -lmpigi -ldl -
> Mikaël
>
> Le mercredi 11 mai 2016 10:47:43 UTC+2, Andre Aberer a écritÂ:
> Hi Mikaël,
> Â $ export CC=<path to compiler>
> Â $ ./configure ....
>
> * You can explicitly set the mpicxx compiler via the variable MPICXX
> Â (see ./configure --help). May be worth a try, if you have trouble
> with
> Â passing command line args to mpicxx, e.g.,
> Â $ ./configure MPICXX="mpicxx --cxx='icpc'"

Mikaël

unread,
May 11, 2016, 10:55:05 AM5/11/16
to ExaBayes, an...@aberer.io
I understand the error in configure script but I don't know how to solve it.

configure use "mpiicpc -compile_info" and "mpiicpc -link_info" result to build mpi call. Result is the same for both :

icpc -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/include -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib -lmpicxx -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread


Using this command line with conftest work perfectly. We can see in this command line groups of :
-Xlinker -rpath -Xlinker /opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt


It means pass this next command to linker :
-rpath /opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt


Problem is the configure script explode the command line in few vars. Var REMAIN become :
-Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker

We lost the path parts to pass to rpath linker option.

It should be :
-Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib


It's probably the source of the visible "ld mmx" error.


Another var SIMD_FLAGS that contains "-mmmx -msse ..." is added just after remain var. It results in "-Xlinker -mmmx ..." that produce the ld error. If I remove -mmmx from command line, ld error is about sse ... but the source is the uncomplete -Xlinker option.

I'm not sure to be clear enough.


Thanks
Mikaël

Andre Aberer

unread,
May 12, 2016, 5:07:36 AM5/12/16
to exab...@googlegroups.com
Hi Mikaël,

I have tried to fix the broken test and I would expect it to work now.

Please have a look at the development version
https://github.com/aberer/exabayes

For convenience, the respective tar-ball for installation is on
http://aberer.io/software/exabayes-devel.tar.gz
> icpc -I/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/
> intel64/include -L/opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/
> mpi/intel64/lib/release_mt -L/opt/intel/impi/5.1/
> compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib -Xlinker --enable-new-
> dtags -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/
> compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -Xlinker -
> rpath -Xlinker /opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/
> mpi/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib/
> release_mt -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib -lmpicxx
> -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread
>
>
> Using this command line with conftest work perfectly. We can see in this
> command line groups of :
> -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/
> compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt
>
>
> It means pass this next command to linker :
> -rpath /opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/mpi/
> intel64/lib/release_mt
>
>
> Problem is the configure script explode the command line in few vars. Var
> REMAIN become :
> -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -
> Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker --enable-new-dtags -
> Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -Xlinker -rpath -Xlinker -
> Xlinker -rpath -Xlinker
>
> We lost the path parts to pass to rpath linker option.
>
> It should be :
> -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /opt/intel/impi/5.1/
> compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib/release_mt -Xlinker -
> rpath -Xlinker /opt/intel/impi/5.1/compilers_and_libraries_2016.1.150/linux/
> mpi/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib/
> release_mt -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.1/intel64/lib
>
>
> It's probably the source of the visible "ld mmx" error.
>
>
> Another var SIMD_FLAGS that contains "-mmmx -msse ..." is added just after
> remain var. It results in "-Xlinker -mmmx ..." that produce the ld error. If I
> remove -mmmx from command line, ld error is about sse ... but the source is the
> uncomplete -Xlinker option.
>
> I'm not sure to be clear enough.
>
>
> Thanks
> Mikaël
>
>
> Le mercredi 11 mai 2016 11:26:14 UTC+2, Andre Aberer a écritÂ:
> Hi Mikaël,
>
> yes, it appears, "ld" interprets the vectorization flags (e.g., "-
> mmmx"
> which should only be used for compilation) as emulation mode and
> refuses
> to continue.
>
> I think, there has been a similar problem in the past.
>
> * Are you using the latest code from the github repo?
> Â For a tar-ball, see http://aberer.io/software/exabayes-
> devel.tar.gz
>
> * could you check, whether the flag --disable-sse for ./configure
> Â changes anything?
>
> --
> Best regards,
> Andre
>
> Mikaël writes:

Mikaël

unread,
May 12, 2016, 5:35:54 AM5/12/16
to ExaBayes, an...@aberer.io
Hi and great !!!

Configure well produce the Makefile.

Now I have a lot of compilation error but It will be the purpose of another thread if I can't resolve it.

Thanks a lot.


Reply all
Reply to author
Forward
0 new messages