- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I've just install the last version of the compiler, ifort version 15.0.0, on the following kernel 3.15.10-200.fc20.x86_64.
This version fails to compile a (rather large) code with the "-O2 -ipo" options .
Actually, the compilation step goes ok but the problem appears during the linking step.
Here are the warning/errors:
ipo: warning #11021: unresolved MPI_Barrier Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Comm_dup Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Put Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Get Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Isend Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Init Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Free_mem Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_unlock Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Alloc_mem Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Comm_size Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Abort Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Wait Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Recv Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Finalized Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Comm_rank Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_lock Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Finalize Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_free Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_set_errhandler Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_fence Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_create Referenced in /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so IERROR_MODULE_ID_8000 fortcom: Severe: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report. Note: File and line given may not be explicit cause of this error. in file mesh_class.f90, line 922, column 12 ipo-4: error #11005: multi-object compilation 3 returned error status 3 IERROR_MODULE_ID_8000 fortcom: Severe: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report. Note: File and line given may not be explicit cause of this error. in file bndcond_interblock_class.f90, line 118, column 12 ipo-4: error #11005: multi-object compilation 1 returned error status 3 IERROR_MODULE_ID_8000 fortcom: Severe: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report. Note: File and line given may not be explicit cause of this error. in file system2d_class.f90, line 157, column 12 ipo-4: error #11005: multi-object compilation 4 returned error status 3 ifort: error #10014: problem during multi-file optimization compilation (code 3) make[3]: *** [all] Erreur 3 make[2]: *** [all] Erreur 2 make[1]: *** [app] Erreur 2 make: *** [all] Erreur 2
Compiling the same code, with the same compilation options, but using ifort version 14.0.3 gives these warnings but no internal compiler error:
ipo: warning #11021: unresolved .st_coarray_variables_module_mp_nblkloc_caf_$205_V$2f521 Referenced in /tmp/ipo_ifortPaAtRS.o ipo: warning #11021: unresolved MPI_Barrier Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Comm_dup Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Put Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Get Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Isend Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Init Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Free_mem Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_unlock Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Alloc_mem Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Comm_size Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Abort Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Wait Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Recv Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Finalized Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Comm_rank Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_lock Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Finalize Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_free Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_set_errhandler Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_fence Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_create Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: remark #11000: performing multi-file optimizations ipo-1: remark #11006: generating object file /tmp/ipo_ifortPaAtRS1.o ipo-2: remark #11006: generating object file /tmp/ipo_ifortPaAtRS2.o ipo-3: remark #11006: generating object file /tmp/ipo_ifortPaAtRS3.o ipo-4: remark #11006: generating object file /tmp/ipo_ifortPaAtRS4.o
From the set of warning, I guess I got something wrong with my MPI installation, but I'm wondering why everything is ok for the 14 version but not for the 15 one.
Thanks for your feedback.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I should add that the file /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so
is present.
Also, the variable "LD_LIBRARY_PATH" seems correct
$ echo $LD_LIBRARY_PATH: /opt/intel/composer_xe_2015.0.090/compiler/lib/intel64:/opt/intel/composer_xe_2015.0.090/mpirt/lib/intel64:/opt/intel/composer_xe_2015.0.090/compiler/lib/intel64:/opt/intel/composer_xe_2015.0.090/mkl/lib/intel64:/opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64:/opt/intel/composer_xe_2013_sp1.3.174/mpirt/lib/intel64:/opt/intel/composer_xe_2013_sp1.3.174/ipp/../compiler/lib/intel64:/opt/intel/composer_xe_2013_sp1.3.174/ipp/lib/intel64:/opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64:/opt/intel/composer_xe_2013_sp1.3.174/mkl/lib/intel64:/opt/intel/composer_xe_2013_sp1.3.174/tbb/lib/intel64/gcc4.4:/opt/intel/composer_xe_2015.0.090/compiler/lib/intel64:/opt/intel/composer_xe_2015.0.090/mpirt/lib/intel64:/opt/intel/composer_xe_2015.0.090/compiler/lib/intel64:/opt/intel/composer_xe_2015.0.090/mkl/lib/intel64:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please provide us with a test case including the complete command line used to invoke the compiler (and the link step). You can probably avoid the error for now by turning off -ipo.
The warnings seem to suggest that the Intel MPI library isn't being named on the link command line (ifort that generates the executable), maybe -coarray isn't on that line? I'm not 100% sure how this works on Linux - I expect Lorri will clue me in.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The warnings can be ignored, and even may be disabled if you want. -diag-disable=11021
The MPI library is never set on the link line - the MPI library comes in via libicaf.so, and that's all invisible to the IPO processing.
I agree with Steve though, it would be good to see a reproducer of the internal-compiler-error; those are never good.
thanks -
--Lorri
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Attached is a test case for my problem.
The problem has nothing to do with "ipo", but it is realted to the "static" option, which is impàlicitly assumed when using the "fast" option
Compiling the prog with options "-O3 -ipo" gives
$ make; ./a.out ifort -O3 -ipo -c mymodule.f90 -o mymodule.o ifort -O3 -ipo -c main.f90 -o main.o ifort -O3 -ipo main.o mymodule.o -o a.out ipo: remark #11000: performing multi-file optimizations ipo: remark #11006: generating object file /tmp/ipo_iforteldr7h.o [Main]: Normal terminaison
while the options "-O3 -ipo -static" give
$ make clean; make; ./a.out ifort -O3 -ipo -static -c mymodule.f90 -o mymodule.o ifort -O3 -ipo -static -c main.f90 -o main.o ifort -O3 -ipo -static main.o mymodule.o -o a.out ipo: remark #11000: performing multi-file optimizations ipo: remark #11006: generating object file /tmp/ipo_ifort7ZOHF0.o ld: cannot find -lm ld: cannot find -lpthread ld: cannot find -lc ld: cannot find -ldl ld: cannot find -lc make: *** [a.out] Error 1
Is it possible that the ICE is somehow connected to the "ld" problem ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I can't reproduce the ICE or your linking problem with the example you attached.
On Linux, -fast is equivalent to -ipo, -O3, -no-prec-div, -static, and -xHost
[pbkenned@dpdrknc01 problem_static_option]$ ifort -V
Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.0.0.090 Build 20140723
Copyright (C) 1985-2014 Intel Corporation. All rights reserved.
[pbkenned@dpdrknc01 problem_static_option]$ ifort -fast -c mymodule.f90 -o mymodule.o
[pbkenned@dpdrknc01 problem_static_option]$ ifort -fast -c main.f90 -o main.o
[pbkenned@dpdrknc01 problem_static_option]$ ifort -fast main.o mymodule.o -o U530441.x -L/usr/lib/x86_64-redhat-linux5E/lib64
[pbkenned@dpdrknc01 problem_static_option]$ ./U530441.x
[Main]: Normal terminaison
[pbkenned@dpdrknc01 problem_static_option]$
I had to add -L/usr/lib/x86_64-redhat-linux5E/lib64 to link against libm.a
Patrick
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That for your reply.
Actually, I had some missing lib which were provided in the "glibc-static" package.
After installing them using "yum install glibc-static" (for fedora OS), everything went ok and the sample program could be compiled.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried to compile the program attached in the fist post with ifort version 14.0.3 and I've got the following errors:
$ make ifort -fpp -fast -coarray main.o mymodule.o -o a.out ipo: warning #11021: unresolved MPI_Barrier Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Comm_dup Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Put Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Get Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Isend Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Init Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Free_mem Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_unlock Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Alloc_mem Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Comm_size Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Abort Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Wait Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Recv Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Finalized Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Comm_rank Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_lock Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Finalize Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_free Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_set_errhandler Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_fence Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: warning #11021: unresolved MPI_Win_create Referenced in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ipo: remark #11000: performing multi-file optimizations ipo: remark #11006: generating object file /tmp/ipo_ifortou64ou.o ld: ne peut trouver -licaf make: *** [a.out] Erreur 1
The problem is that the ld command can't find the libicaf library.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I forgot to mentioned that I've compiled the fortran files with "-static -coarray"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've look in the compiler directory for the library libicaf.a but I only found libicaf.so
$ cd /opt/intel/; find . -name libicaf.* ./composer_xe_2013_sp1.3.174/compiler/lib/ia32/libicaf.so ./composer_xe_2013_sp1.3.174/compiler/lib/intel64/libicaf.so ./composer_xe_2013_sp1.3.174/compiler/lib/mic/libicaf.so ./composer_xe_2015.0.090/compiler/lib/ia32/libicaf.so ./composer_xe_2015.0.090/compiler/lib/intel64/libicaf.so ./composer_xe_2015.0.090/compiler/lib/mic/libicaf.so ./composer_xe_2015.0.064/compiler/lib/ia32/libicaf.so ./composer_xe_2015.0.064/compiler/lib/intel64/libicaf.so ./composer_xe_2015.0.064/compiler/lib/mic/libicaf.so
Does this means that something wrong with the compiler installation ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No - we don't provide a static version of libicaf.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So, does this means I can't compiler a coarray program with either the -statis of -fast (which include -static) options ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No - even with -static, some libraries are linked in shared form only.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So, is my link-time error described on post#8 a installation issue ?
Here is ther error:
ld: cannot find -licaf
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you try to link with -static or -static-intel, it will fail, because there is no static version of libicaf. There is no installation issue, it's just that there is only a dynamic version of the library. You can't link a dynamic object statically.
Patrick
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think that's a driver bug - it shouldn't be trying to find libicaf.a. I will talk to the team about this.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page