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