Page 1 of 1

[SOLVED] compilation error w/ gfortran 4.5 and openmpi-1.4.4

Posted: Wed May 09, 2012 11:28 pm
by makhyoun
Dear All: I encounter the following errors during the make command and I appreciate any help.

system PC linux suse-11.3 64bit
mpi : openmpi-1.4.4
F-compiler gfortran 4.5
abinit-6.12.3
./configure --prefix=$A --enable-mpi --enable-64bit-flags
The Makefile was edited to include the required libs of mpi and the include files.

gfortran -m64 -ffree-form -J/home/mohamed/abinit-6.12.3/src/mods -O2 -mtune=native -march=native -mfpmath=sse -m64 -g -ffree-line-length-none -Wstrict-aliasing=2 -m64 -g -ffree-line-length-none -Wstrict-aliasing=2 -o abinetcdf abinetcdf-abinetcdf.o ../../src/13_memory_mpi/lib13_memory_mpi.a ../../src/12_hide_mpi/lib12_hide_mpi.a ../../src/10_defs/lib10_defs.a -L/home/mohamed/abinit-6.12.3/fallbacks/exports/lib -lnetcdf -L/usr/lib64/gcc/x86_64-suse-linux/4.5 -L/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.5/../../.. -lgfortran -lm -L/usr/lib64/gcc/x86_64-suse-linux/4.5 -L/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.5/../../.. -lgfortran -lm
../../src/12_hide_mpi/lib12_hide_mpi.a(m_xmpi.o): In function `__m_xmpi_MOD_xmpio_create_fsubarray_4d':
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2365: undefined reference to `mpi_type_size_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2381: undefined reference to `mpi_type_contiguous_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2383: undefined reference to `mpi_type_hvector_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2385: undefined reference to `mpi_type_hvector_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2387: undefined reference to `mpi_type_hvector_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2389: undefined reference to `mpi_type_commit_'
../../src/12_hide_mpi/lib12_hide_mpi.a(m_xmpi.o): In function `__m_xmpi_MOD_xmpio_create_fsubarray_3d':
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2281: undefined reference to `mpi_type_size_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2295: undefined reference to `mpi_type_contiguous_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2297: undefined reference to `mpi_type_hvector_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2299: undefined reference to `mpi_type_hvector_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2301: undefined reference to `mpi_type_commit_'
../../src/12_hide_mpi/lib12_hide_mpi.a(m_xmpi.o): In function `__m_xmpi_MOD_xmpio_create_fsubarray_2d':
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2196: undefined reference to `mpi_type_size_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2212: undefined reference to `mpi_type_contiguous_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2214: undefined reference to `mpi_type_hvector_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/m_xmpi.F90:2216: undefined reference to `mpi_type_commit_'
../../src/12_hide_mpi/lib12_hide_mpi.a(m_xmpi.o): In function `__m_xmpi_MOD_xsum_mpi_log3d':
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/xsum_mpi.F90:2905: undefined reference to `mpi_allreduce_'
../../src/12_hide_mpi/lib12_hide_mpi.a(m_xmpi.o): In function `__m_xmpi_MOD_xsum_mpi_log2d':
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/xsum_mpi.F90:2828: undefined reference to `mpi_allreduce_'
../../src/12_hide_mpi/lib12_hide_mpi.a(m_xmpi.o): In function `__m_xmpi_MOD_xsum_mpi_log1d':
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/xsum_mpi.F90:2750: undefined reference to `mpi_allreduce_'
../../src/12_hide_mpi/lib12_hide_mpi.a(m_xmpi.o): In function `__m_xmpi_MOD_xsum_mpi_c6cplx':
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/xsum_mpi.F90:2661: undefined reference to `mpi_comm_size_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/xsum_mpi.F90:2673: undefined reference to `mpi_allreduce_'
../../src/12_hide_mpi/lib12_hide_mpi.a(m_xmpi.o): In function `__m_xmpi_MOD_xsum_mpi_c5cplx':
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/xsum_mpi.F90:2578: undefined reference to `mpi_comm_size_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/xsum_mpi.F90:2589: undefined reference to `mpi_allreduce_'
../../src/12_hide_mpi/lib12_hide_mpi.a(m_xmpi.o): In function `__m_xmpi_MOD_xsum_mpi_c4cplx':
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/xsum_mpi.F90:2496: undefined reference to `mpi_comm_size_'
/home/mohamed/abinit-6.12.3/src/12_hide_mpi/xsum_mpi.F90:2507: undefined reference to `mpi_allreduce_'
../../src/12_hide_mpi/lib12_hide_mpi.a(m_xmpi.o): In function `__m_xmpi_MOD_xsum_mpi_c3cplx':

.............and many more errors.

Best Regard
Mohamed Makhyoun

Faculty of Science
Alexandria Egypt

Re: compilation error with gfortran 4.5 and openmpi-1.4.4

Posted: Thu May 10, 2012 1:12 am
by kaneod
Hi Mohamed,

You are going about compilation the wrong way - look at the forum banner in red at the top of this page. If you want to compile with respect to MPI, you should use the mpif90, mpicc, mpicxx wrappers provided by your MPI distribution. The compilation step you posted above the error messages shows you aren't really linking against MPI and are in fact using gfortran directly.

To properly link against MPI you need to set FC="mpif90" and so on in the hostname.ac file as mentioned in the doc/config/build-config.ac prototype.

Kane

compilation error with gfortran 4.5 and openmpi-1.4.4

Posted: Thu May 10, 2012 3:04 pm
by makhyoun
Dear Dr. Kane O' Donnell, Dear All

Thank you very much. I followed your suggestions and the problem solved.

Best Wishes

Mohamed Makhyoun