Trouble building and running openmpi-1.6.4 with intel composer 13.1

Trouble building and running openmpi-1.6.4 with intel composer 13.1

I'm having trouble building and running openmpi-1.6.4 with intel composer 13.1.  When building openmpi-1.6.4 it looks for a library called "lintlc.a" which is not in the /opt/intel/composerxe/lib/intel64 directory, which is where composer is installed.  To get around this a symbolic link was created libintlc.a -> libirc.a.  Now openmpi will build but when I try to link a code with mpif90 I get

 

LINK Command:

opt/openmpi/bin/mpif90 -o randi2D -O3 -convert big_endian solver_global_vars.o sa_consts.o direct_solvers.o vandermonde.o phys_points.o state_eqn.o transport.o transport_complex.o ns_farfield_conditions.o ns_wall_conditions.o sa_bc.o sa_bc_complex.o sa_bc_jac.o bc.o bc_complex.o bc_jac.o flux_func.o flux_func_complex.o flux_jac.o ns_ind.o ns_ind_complex.o ns_ind_jac.o visc_flux.o visc_flux_complex.o visc_jac.o sa_visc_flux.o sa_visc_flux_complex.o sa_visc_jac.o sa_src.o sa_src_complex.o sa_src_jac.o av_visc_flux.o av_visc_flux_complex.o av_visc_jac.o av_src.o av_src_complex.o av_src_jac.o elem_jac.o soln_utils.o soln_utils_complex.o mpi_setup.o comm_utils.o mpi_exchange.o solver_io.o ams_io.o update_utils.o utils.o soln_alloc.o adj_alloc.o tecplot_sol.o comp_basis_func.o get_mass.o mass_matrix_module.o geo_mod.o dg_mesh_tools.o em_init.o flow_init.o turb_init.o init_module.o force_coeff.o force_coeff_complex.o soln_indicator.o soln_indicator_complex.o soln_indicator_jac.o euler_resid.o euler_resid_complex.o euler_fluxjac.o ns_resid.o ns_resid_complex.o ns_fluxjac.o residual.o residual_complex.o fluxjac.o fluxjac_T.o phys_constraint.o phys_constraint_complex.o setup_utils.o mat_utils.o ns_update.o newton_utils.o jac_utils.o line_solver.o mg_module.o ilu_module.o gmres_module.o time_step.o jacobian_verification.o newton_module.o setup.o fas_module.o fmg_module.o imp_time_scheme.o exp_solve.o exp_time_step.o solver.o obj_module.o adj_solver.o err_est_module.o randi2D.o  ../global/*.o -module ../modules  -L../METIS -lmetis -L../METIS -lparmetis -DDEBUG_MPI -DDEBUG_COMPLEX

 

ld: warning: libimf.so, needed by /opt/intel/composerxe/lib/intel64/libifport.so.5, not found (try using -rpath or -rpath-link)

ld: warning: libintlc.so.5, needed by /opt/intel/composerxe/lib/intel64/libifport.so.5, not found (try using -rpath or -rpath-link)

 

running ldd on libiport.so.5 gives:

 ldd libifport.so.5

        linux-vdso.so.1 =>  (0x00007fffb5f2f000)

        libimf.so => not found

        libm.so.6 => /lib64/libm.so.6 (0x00002b51820a8000)

        libintlc.so.5 => not found

        libc.so.6 => /lib64/libc.so.6 (0x00002b518232b000)

        /lib64/ld-linux-x86-64.so.2 (0x000000303be00000)

 

How does one fix this?  Where are libimf and libintlc.so.5?  Why is libiport.so.5 looking for these if they are not there?  Do I need to add a flag to my link to link against a different intel fortran library? 

 

Incidentally I get a similar error when trying to link a mixed language code with icpc as  icpc -o cpp_mod -O3  -lirc -lifcore  test.o test_nomod.o test_nomod_winterface.o cpp_mod.o

ld: warning: libimf.so, needed by /opt/intel/composerxe/lib/intel64/libifcore.so.5, not found (try using -rpath or -rpath-link)

ld: warning: libintlc.so.5, needed by /opt/intel/composerxe/lib/intel64/libifcore.so.5, not found (try using -rpath or -rpath-link)

 

dd libifcore.so.5

        linux-vdso.so.1 =>  (0x00007fff91bfd000)

        libimf.so => not found

        libm.so.6 => /lib64/libm.so.6 (0x00002afcad8ff000)

        libintlc.so.5 => not found

        libc.so.6 => /lib64/libc.so.6 (0x00002afcadb82000)

        /lib64/ld-linux-x86-64.so.2 (0x000000303be00000)

 

Again why is libifcore.so.5 looking for these libraries when they are not present?  How do I fix this?  Should I link against a different library?  These two issues seem too similar not be related?  

 

Compiler versions;

ifort (IFORT) 13.1.1 20130313

Copyright (C) 1985-2013 Intel Corporation.  All rights reserved.

icc (ICC) 13.1.1 20130313

Copyright (C) 1985-2013 Intel Corporation.  All rights reserved.

icpc (ICC) 13.1.1 20130313

Copyright (C) 1985-2013 Intel Corporation.  All rights reserved.

 

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

It looks like you're excluding the Intel compiler library directory from LD_LIBRARY_PATH.  I think the OpenMPI build and run FAQs suggest setting up the Intel compilers normally (as by sourceing the compilervars script).

Fixed. It was an installation issue. We shot ourselves in the foot.

Leave a Comment

Please sign in to add a comment. Not a member? Join today