OK, thank you for the clarification. As I said I was wondering about the
general procedure. For example I have also another machine to which I would
like to compile, that is the following

Linux other_machine 3.17.6-200.fc20.x86_64 #1 SMP Mon Dec 8 15:21:05 UTC
2014 x86_64 x86_64 x86_64 GNU/Linux

* In first place: I am not sure I am considering the correct configuration
triplets, because I have been using x86_64-pc-linux-gnu, and I would be
grateful if somebody could give me feedback about that.

*Because I am porting the code to a machine where I don't have compiler, I
would like to know if the configuration I am using is correct for
generating statically linked library (this is what I need, isn't it?). I
have compiled without specifying host and build and now I get:

     ldd ../openmpi-1.8.4-cc/bin/mpif90

     linux-vdso.so.1 =>  (0x00002aaaaaaab000)
     libm.so.6 => /lib64/libm.so.6 (0x000000322d800000)
     libdl.so.2 => /lib64/libdl.so.2 (0x000000322dc00000)
     librt.so.1 => /lib64/librt.so.1 (0x000000322e800000)
     libutil.so.1 => /lib64/libutil.so.1 (0x0000003234400000)
     libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002aaaaaac7000)
     libpthread.so.0 => /lib64/libpthread.so.0 (0x000000322e000000)
     libc.so.6 => /lib64/libc.so.6 (0x000000322d400000)
     /lib64/ld-linux-x86-64.so.2 (0x000000322d000000)

I thought that I would get no shared linking with LDFLAGS=-static-intel but
now I see this refers only to intel library, is there a way to make all the
linking static?

Moreover mpirun has some broken links:

     ldd ./openmpi-1.8.4-cc/bin/mpirun

     linux-vdso.so.1 =>  (0x00007fffc55b7000)
     libbat.so => not found
     liblsf.so => not found
     libnsl.so.1 => /lib/libnsl.so.1 (0x00007f7c3ded9000)
     libm.so.6 => /lib/libm.so.6 (0x00007f7c3dc56000)
     libdl.so.2 => /lib/libdl.so.2 (0x00007f7c3da51000)
     librt.so.1 => /lib/librt.so.1 (0x00007f7c3d849000)
     libutil.so.1 => /lib/libutil.so.1 (0x00007f7c3d646000)
     libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f7c3d42f000)
     libpthread.so.0 => /lib/libpthread.so.0 (0x00007f7c3d212000)
     libc.so.6 => /lib/libc.so.6 (0x00007f7c3ce8e000)
     /lib64/ld-linux-x86-64.so.2 (0x00007f7c3e10d000)

*Moreover,when I try to compile with mpif90 on system B I get an error:

     Cannot open configuration file
/data/user/data/local/openmpi-1.8.4-cc/share/openmpi/mpif90-wrapper-data.txt

(that is a file that refers to the full path on system A, but on system B
it has a different path, the fact is that I have no root-access on any of
the two systems)

Thanks

2015-02-08 18:57 GMT+01:00 Ralph Castain <r...@open-mpi.org>:

> Well, the first thing is that there is no reason to cross compile in this
> arrangement. Your target and host are the same, and the configuration won’t
> do anything with it.
>
> Normally you would set host and target. However, like I said, in this case
> you are providing the same argument to both, and so nothing will happen.
>
>
> > On Feb 8, 2015, at 3:45 AM, simona bellavista <afy...@gmail.com> wrote:
> >
> > I have two systems A (aka Host) and B (aka Target). On A a compiler
> suite is installed (intel 14.0.2), on B there is no compiler. I want to
> compile openmpi on A for running it on system B (in particular, I want to
> use mpirun and mpif90), so I want to have static linking to the intel
> libraries. First of all, I would like to know if it is possible to do this.
> >
> > The output of  uname -a on the two systems is:
> > 1) Host
> > Linux host 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011
> x86_64 x86_64 x86_64 GNU/Linux
> >
> > 2) Target
> > Linux target 2.6.35-32-server #67-Ubuntu SMP Mon Mar 5 21:13:25 UTC 2012
> x86_64 GNU/Linux
> >
> > I am using the following configuration:
> >
> > export CC=icc
> > export FC=ifort
> > export CXX=icpc
> > export LDFLAGS=-static-intel
> > export LANG=C
> >
> > ./configure --prefix=/home/user/local/openmpi-1.8.4-cc/
> --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --enable-static
> --disable-shared
> >
> > I am not sure if the configuration triplets I am using are correct. I
> know that in this case I am not technically cross-compiling, but I was
> wondering if in the general case I have also to set --target and to what.
> >
> > I get this error:
> >
> > Catastrophic error: could not set locale "" to allow processing of
> multibyte characters
> >
> > I attach make.out and output.out (zipped)
> >
> <config.out.bz2><make.out.bz2>_______________________________________________
> > users mailing list
> > us...@open-mpi.org
> > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
> > Link to this post:
> http://www.open-mpi.org/community/lists/users/2015/02/26305.php
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
> Link to this post:
> http://www.open-mpi.org/community/lists/users/2015/02/26306.php

Reply via email to