Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Problem with feupdateenv

Sangamesh_B_
Beginner
440 Views

Hello all,

Installed Intel C++ 10.1.018 compilers on Cent OS 4.5 based Rocks 4.3 linux cluster. Installation was smooth.

When I compile a parallel program with Open MPI, it gave following error:

# mpicc hellompi.c -o hellompi
/opt/intel/cce/10.1.018/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail

It produced the executable. But while running the executable its failing with Segmentation fault:

# which mpirun
/opt/openmpi_intel/1.2.8/bin/mpirun
# mpirun -np 2 ./hellompi
./hellompi: Symbol `ompi_mpi_comm_world' has different size in shared object, consider re-linking
./hellompi: Symbol `ompi_mpi_comm_world' has different size in shared object, consider re-linking
[master:17781] *** Process received signal ***
[master:17781] Signal: Segmentation fault (11)
[master:17781] Signal code: Address not mapped (1)
[master:17781] Failing at address: 0x10
[master:17781] [ 0] /lib64/tls/libpthread.so.0 [0x34b150c4f0]
[master:17781] [ 1] /usr/lib64/openmpi/libmpi.so.0 [0x34b19544b8]
[master:17781] [ 2] /usr/lib64/openmpi/libmpi.so.0(ompi_proc_init+0x14d) [0x34b1954cfd]
[master:17781] [ 3] /usr/lib64/openmpi/libmpi.so.0(ompi_mpi_init+0xba) [0x34b19567da]
[master:17781] [ 4] /usr/lib64/openmpi/libmpi.so.0(MPI_Init+0x94) [0x34b1977ab4]
[master:17781] [ 5] ./hellompi(main+0x44) [0x401c0c]
[master:17781] [ 6] /lib64/tls/libc.so.6(__libc_start_main+0xdb) [0x34b0e1c3fb]
[master:17781] [ 7] ./hellompi [0x401b3a]
[master:17781] *** End of error message ***
[master:17778] [0,0,0]-[0,1,1] mca_oob_tcp_msg_recv: readv failed: Connection reset by peer (104)
mpirun noticed that job rank 0 with PID 17781 on node master exited on signal 11 (Segmentation fault).
1 additional process aborted (not shown)

But this is not the case, during non-mpi c code compilation or execution.

# icc sample.c -o sample
# ./sample

Compiler is working

#

What might be the reason for this & how it can be resolved?

Thanks,

Sangamesh

0 Kudos
3 Replies
TimP
Honored Contributor III
440 Views

It's not clear to me if these are symptoms of just one problem. Some of this is more topical on the HPC forum. As icc doesn't support fenv, you may have to remove the dependence of your application on it, or build that part with gcc. If the problem comes from openmpi, and your openmpi is not built with icc, you may have to rebuild openmpi, or use Intel mpi. No doubt, the openmpi site would have relevant information. You could also file a feature report on premier.intel.com, if you care to explain the importance of fenv.

0 Kudos
Tim_Theisen
Beginner
440 Views
There are two separate problems here.

First of all, you a getting a link time warning. This has to do with the two different math libraries on the system and only linking one in. In this case, the Intel math library (libimf) is being linked. However, the system math library (libm) is not. According to the Intel documentation, one should include both libimf and libm on Linux systems. Try adding -limf and -lm when linking and the warning will disappear.

Secondly, I believe that you have two installations of openMPI and they are clashing. The hpc roll comes with openMPI-1.2.3 and you are compiler against openMPI 1.2.8. The 1.2.3 libraries are likely in the system library path (via /etc/ld.so.conf.d/openmpi) Try uninstalling the openMPI RPMs that came with the system.

I ran into these types of errors 6 months ago. I originally thought that openMPI compiled with the GNU compiler was incompatible with the Intel compiler. I set about getting openMPI to compile with the Intel Compiler (which was fairly easy). When that didn't solve the problem, I found the shared library problem. I did determine that you could use and Intel compiled application with a gcc compiled openMPI. However, I now use the Intel compiler to compile both the openMPI library and my application.

...Tim
0 Kudos
ken_kom
Beginner
440 Views
Hi san.

> # mpicc hellompi.c -o hellompi

> /opt/intel/cce/10.1.018/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail
---
This warning should be closedwith -limf in linking, static link would solve it than shared link?!

ex. %mpicc -limf hellompi.c -o hellompi

Next,
> ./hellompi: Symbol `ompi_mpi_comm_world' has different size in shared object, consider re-linking
---
Would not Compile & Installed mpirun verion mismatch hellompi module by mpicc ?
ex. mpirun module compiled by gcc, mpicc use Intel Compiler.
ex. mpirun 32bit module,hellompi 64bit.
ex. mpirun version 1.2.x vs. mpicc version 1.4.x.

Good luck & Best regards,
ken.com

0 Kudos
Reply