I have also put the 1.3.3 version (gfortran) on the path:

#For openmpi-1.2.6 Intel compiler

if [ "$LD_LIBRARY_PATH" ] ; then
  export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
else
  export LD_LIBRARY_PATH="/usr/local/lib"
fi

#For openmpi-1.3.3 gnu (gfortran) compiled

if [ "$LD_LIBRARY_PATH" ] ; then
  export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/lib"
else
  export LD_LIBRARY_PATH="/opt/lib"
fi


if [ "$PATH" ] ; then
  export PATH="$PATH:/opt/bin"
else
  export PATH="/opt/bin"
fi

(while "export PATH=.... does not work here)

now

francesco@tya64:~$ $PATH
bash: 
/opt/etsf/bin:/usr/local/delphi_4.1.1:/opt/intel/cce/10.1.015/bin:/opt/intel/fce/10.1.015/bin:/usr/local/bin/vmd:/usr/local/chimera/bin:/opt/etsf/bin:/usr/local/delphi_4.1.1:/opt/intel/cce/10.1.015/bin:/opt/intel/fce/10.1.015/bin:/usr/local/bin/vmd:/usr/local/chimera/bin:/opt/etsf/bin:/usr/local/delphi_4.1.1:/opt/intel/cce/10.1.015/bin:/opt/intel/fce/10.1.015/bin:/usr/local/bin/vmd:/usr/local/chimera/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/home/francesco/hole2/exe:/opt/bin:/usr/local/amber10/exe:/usr/local/dock6/bin:/home/francesco/hole2/exe:/opt/bin:/usr/local/amber10/exe:/usr/local/dock6/bin:/home/francesco/hole2/exe:/opt/bin:/usr/local/amber10/exe:/usr/local/dock6/bin:
No such file or directory
francesco@tya64:~$

To get info, I have to command

$ /opt/bin/ompi_info
which reports correctly.

$ ompi_info
reports about previous installation of 1.2.6 version (intel).

Is this situation correct for compiling a program with
FC=/opt/bin/mpif90
CC=/opt/bin/mpicc
etcetera
?
How getting the runtime for the compiled program?

I am asking all that because I have problems in the compilation, so
that I want first rule out that problems may derive from openmpi.

Thanks indeed

francesco pietra





---------- Forwarded message ----------
From: Francesco Pietra <chiendar...@gmail.com>
List-Post: users@lists.open-mpi.org
Date: Thu, Oct 22, 2009 at 7:28 PM
Subject: installation with two different compilers
To: Open MPI Users <us...@open-mpi.org>


Hi:
Sure there is the howto somewhere, though not found. With Debian Linux
amd64 lenny I have a working installation of openmpi-1.2.6, intel
compiled, mpif90 etc in /usr/local/bin. For program OCTOPUS I need
gfortran-compiled openmpi. I did so with openmpi-1.3.3, mpif90 etc (as
symlink to /opt/bin/opal_wrapper) in /opt/bin.

The compilation was carried out as follows:
./configure --prefix=/opt FC=/usr/bin/gfortran F77=/usr/bin/gfortran
CC=/usr/bin/gcc CXX=/usr/bin/g++ --with-libnuma=/usr/lib

As I am the only user, I use to place everything in my .bashrc. Specifically,

#For openmpi-1.2.6 Intel compiler

if [ "$LD_LIBRARY_PATH" ] ; then
 export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
else
 export LD_LIBRARY_PATH="/usr/local/lib"
fi

#For openmpi-1.3.3 gnu (gfortran) compiled

if [ "$LD_LIBRARY_PATH" ] ; then
 export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/lib"
else
 export LD_LIBRARY_PATH="/opt/lib"
fi



Command
$ompi_info
always reports about the intel compiled. How can I have info about the
gfortran compiled (and runtime) ?

If relevant:

francesco@tya64:~$ $PATH
bash: 
/opt/etsf/bin:/usr/local/delphi_4.1.1:/opt/intel/cce/10.1.015/bin:/opt/intel/fce/10.1.015/bin:/usr/local/bin/vmd:/usr/local/chimera/bin:/opt/etsf/bin:/usr/local/delphi_4.1.1:/opt/intel/cce/10.1.015/bin:/opt/intel/fce/10.1.015/bin:/usr/local/bin/vmd:/usr/local/chimera/bin:/opt/etsf/bin:/usr/local/delphi_4.1.1:/opt/intel/cce/10.1.015/bin:/opt/intel/fce/10.1.015/bin:/usr/local/bin/vmd:/usr/local/chimera/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/home/francesco/hole2/exe:/usr/local/amber10/exe:/usr/local/dock6/bin:/home/francesco/hole2/exe:/usr/local/amber10/exe:/usr/local/dock6/bin:/home/francesco/hole2/exe:/usr/local/amber10/exe:/usr/local/dock6/bin:
No such file or directory
francesco@tya64:~$

francesco@tya64:~$ $LD_LIBRARY_PATH
bash: 
/opt/intel/mkl/10.0.1.014/lib/em64t:/opt/intel/cce/10.1.015/lib:/opt/intel/fce/10.1.015/lib:/opt/intel/mkl/10.0.1.014/lib/em64t:/opt/intel/cce/10.1.015/lib:/opt/intel/fce/10.1.015/lib:/usr/local/lib:/opt/lib:/opt/acml4.2.0/gfortran64_mp_int64/lib:/usr/local/lib:/opt/lib:/opt/acml4.2.0/gfortran64_mp_int64/lib:
No such file or directory
francesco@tya64:~$

I do not understand this "No such file or directory"; the library
exists. Surely there is something wrong with my handling.

Under these conditions the parallel ./configure of OCTOPUS with

export FC=/opt/bin/mpif90
export CC=/opt/bin/mpicc (C++ is not used)


reports errors of the type:
configure:5478: /opt/bin/mpicc -E  conftest.c
conftest.c:13:28: error: ac_nonexistent.h: No such file or directory

and

$ make
fails, finding a lot of problems with mpi:

......
/usr/lib/libmpi.so: undefined reference to `orte_data_value_t_class'
/usr/lib/libmpi.so: undefined reference to `opal_progress_event_increment'
/usr/lib/libmpi_f77.so: undefined reference to `mpi_conversion_fn_null__'
/usr/lib/libmpi.so: undefined reference to `opal_progress_events'
/usr/lib/libmpi.so: undefined reference to `orte_hash_table_set_proc'
/usr/lib/libmpi_f77.so: undefined reference to `mpi_conversion_fn_null'
/usr/lib/libmpi.so: undefined reference to `orte_gpr'
/usr/lib/libmpi.so: undefined reference to `orte_init_stage2'
/usr/lib/libmpi.so: undefined reference to `orte_schema'
/usr/lib/libmpi.so: undefined reference to `orte_gpr_trigger_t_class'
/usr/lib/libmpi_f77.so: undefined reference to `MPI_CONVERSION_FN_NULL'
/usr/lib/libmpi.so: undefined reference to `orte_ns'
/usr/lib/libmpi_f77.so: undefined reference to `ompi_registered_datareps'
/usr/lib/libmpi_f77.so: undefined reference to `mpi_conversion_fn_null_'
/usr/lib/libmpi.so: undefined reference to `opal_progress_mpi_init'
/usr/lib/libmpi.so: undefined reference to `orte_gpr_base_selected_component'
/usr/lib/libmpi.so: undefined reference to `orte_smr'
/usr/lib/libmpi.so: undefined reference to `opal_progress_mpi_disable'
/usr/lib/libmpi.so: undefined reference to `orte_app_context_map_t_class'
/usr/lib/libmpi.so: undefined reference to `orte_ns_name_wildcard'
/usr/lib/libmpi.so: undefined reference to `orte_system_info'
/usr/lib/libmpi.so: undefined reference to `orte_buffer_t_class'
/usr/lib/libmpi.so: undefined reference to `orte_rmgr'
/usr/lib/libmpi.so: undefined reference to `opal_progress_event_decrement'
/usr/lib/libmpi.so: undefined reference to `orte_hash_table_get_proc'
/usr/lib/libmpi.so: undefined reference to `orte_init_stage1'
/usr/lib/libmpi.so: undefined reference to `orte_dss'
/usr/lib/libmpi.so: undefined reference to `orte_gpr_subscription_t_class'
/usr/lib/libmpi.so: undefined reference to `opal_progress_mpi_enable'
make[3]: *** [octopus_mpi] Error 1
make[3]: Leaving directory `/home/francesco/octopus/octopus-3.1.0/src/main'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/francesco/octopus/octopus-3.1.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/francesco/octopus/octopus-3.1.0'
make: *** [all] Error 2
francesco@tya64:~/octopus/octopus-3.1.0$

Thanks for help

francesco pietra

Reply via email to