1

I built opencv with the following cmake options:

cmake  -G "Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_TBB=OFF -DWITH_OPENMP=ON -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_CXX_FLAGS="-debug inline-debug-info -parallel-source-info=2 -ipo -parallel -xCORE-AVX2 -Bdynamic" ..

However, when I try to build (with icpc) the application which uses opencv (built with icpc) these warning messages appears:

icpc -shared-intel -L/home/luca/ParallelOpenCV/originalOpenCV/lib -parallel -o "SURFAllInOne"  ./main.o ./surf.o   -lopencv_core -lopencv_xfeatures2d -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs
ipo: warning #11021: unresolved gzeof
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_core.so
ipo: warning #11021: unresolved gzrewind
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_core.so
ipo: warning #11021: unresolved gzopen
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_core.so
ipo: warning #11021: unresolved gzclose
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_core.so
ipo: warning #11021: unresolved gzgets
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_core.so
ipo: warning #11021: unresolved gzputs
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_core.so
ipo: warning #11021: unresolved _ZNK2cv9Feature2D14descriptorSizeEv
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZN2cv9Feature2D4readERKNS_8FileNodeE
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZNK2cv9Feature2D14descriptorTypeEv
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZN2cv9Feature2D7computeERKNS_11_InputArrayERSt6vectorINS_8KeyPointESaIS5_EERKNS_12_OutputArrayE
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZTTN2cv9Feature2DE
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZN2cv15KeyPointsFilter16runByImageBorderERSt6vectorINS_8KeyPointESaIS2_EENS_5Size_IiEEi
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZN2cv15KeyPointsFilter10retainBestERSt6vectorINS_8KeyPointESaIS2_EEi
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZN2cv9Feature2DD2Ev
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZN2cv9Feature2D16detectAndComputeERKNS_11_InputArrayES3_RSt6vectorINS_8KeyPointESaIS5_EERKNS_12_OutputArrayEb
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZN2cv15KeyPointsFilter16removeDuplicatedERSt6vectorINS_8KeyPointESaIS2_EE
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZN2cv9Feature2D6detectERKNS_11_InputArrayERSt6vectorINS_8KeyPointESaIS5_EES3_
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZN2cv9Feature2D6detectERKNS_11_InputArrayERSt6vectorIS4_INS_8KeyPointESaIS5_EESaIS7_EES3_
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZTIN2cv9Feature2DE
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZN2cv9Feature2D7computeERKNS_11_InputArrayERSt6vectorIS4_INS_8KeyPointESaIS5_EESaIS7_EERKNS_12_OutputArrayE
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZNK2cv9Feature2D5emptyEv
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZNK2cv9Feature2D11defaultNormEv
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZNK2cv9Feature2D5writeERNS_11FileStorageE
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved _ZN2cv15KeyPointsFilter15runByPixelsMaskERSt6vectorINS_8KeyPointESaIS2_EERKNS_3MatE
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_xfeatures2d.so
ipo: warning #11021: unresolved gtk_file_chooser_set_do_overwrite_confirmation
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_mutex_lock
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_main_iteration
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_window_resize
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_get_current_time
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_file_chooser_set_current_name
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_type_check_instance_cast
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_widget_destroy
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_window_fullscreen
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_mutex_unlock
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_box_pack_end
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_widget_get_colormap
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_cond_broadcast
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_box_pack_start
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gdk_cairo_set_source_pixbuf
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_signal_connect_data
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_widget_add_events
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_window_set_title
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved cairo_paint
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_free
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_dialog_run
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gdk_window_move_resize
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_range_set_range
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_source_remove
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_range_get_type
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_main_iteration_do
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_cond_new
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_init
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_file_chooser_add_filter
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_range_set_value
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_window_get_title
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_cond_timed_wait
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_file_filter_new
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_thread_yield
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_return_if_fail_warning
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_window_set_geometry_hints
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_window_set_resizable
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_widget_queue_resize
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_widget_get_events
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_file_chooser_set_filter
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_label_new
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_dialog_get_type
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_file_filter_add_pattern
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_time_val_add
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_object_get_type
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_box_get_type
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gdk_window_set_user_data
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_window_move
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_widget_new
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_file_chooser_get_type
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_container_get_type
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_type_class_peek
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_widget_get_visual
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_file_chooser_get_filename
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_type_register_static_simple
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_scale_set_draw_value
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_widget_get_window
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_vbox_new
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_range_get_value
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gdk_cairo_create
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_style_set_background
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_type_check_class_cast
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_thread_new
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_timeout_add
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_file_filter_set_name
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gdk_window_new
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_hbox_new
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_object_unref
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_type_check_instance_is_a
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_events_pending
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_window_new
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_scale_get_type
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_window_unfullscreen
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_usleep
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_widget_queue_draw
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_thread_self
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_widget_show
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_file_chooser_dialog_new
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_widget_get_realized
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_hscale_new_with_range
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_container_add
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_cond_wait
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved cairo_destroy
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gdk_pixbuf_new_from_data
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_scale_set_digits
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_window_get_type
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_widget_get_type
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_style_attach
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved g_mutex_new
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved gtk_widget_set_realized
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_highgui.so
ipo: warning #11021: unresolved deflateParams
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_imgcodecs.so
ipo: warning #11021: unresolved inflate
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_imgcodecs.so
ipo: warning #11021: unresolved deflateReset
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_imgcodecs.so
ipo: warning #11021: unresolved inflateInit_
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_imgcodecs.so
ipo: warning #11021: unresolved deflateInit_
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_imgcodecs.so
ipo: warning #11021: unresolved inflateReset
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_imgcodecs.so
ipo: warning #11021: unresolved deflate
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_imgcodecs.so
ipo: warning #11021: unresolved uncompress
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_imgcodecs.so
ipo: warning #11021: unresolved deflateEnd
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_imgcodecs.so
ipo: warning #11021: unresolved compress
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_imgcodecs.so
ipo: warning #11021: unresolved inflateSync
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_imgcodecs.so
ipo: warning #11021: unresolved inflateEnd
        Referenced in /home/luca/ParallelOpenCV/originalOpenCV/lib/libopencv_imgcodecs.so

What does this means? The code is correct but I wonder if I should bother about this (especially if this make the code slower, I talk about it here)

Community
  • 1
  • 1
justHelloWorld
  • 6,478
  • 8
  • 58
  • 138
  • In my experience these warnings affect the performance for sure. If there are these warnings then the performance is as you haven't specified the -ipo option (This is observed only and haven't validated it well enough). – warunapww Apr 16 '17 at 07:22
  • @warunapww thanks for your comment. And how this can be resolved usually? – justHelloWorld Apr 16 '17 at 08:17

1 Answers1

1

It seems like this has been an issue for a long time in Intel compilers when you use it with -ipo (inter procedural optimizations) flag. This is a known issue. The issue surfaces when the libraries you use also build with other libraries. But we do not explicitly list these other libraries when we build our application. In fact you don't have to. But inter-procedural analysis fail to figure out these other libraries and therefore the analysis fails resulting not producing any optimizations related to -ipo. Therefore, the degrade in possible/achievable performance.

The workaround is to list all the libraries used (transitively) in the compilation command of your application using -l.

For example, let's say my application needs an library A (liba) and liba was compiled with libraries B (libb) and C (libc).

Usually at link time of our application we specify -lliba in our command. But with -ipo compiler option this is not enough. You also have to specify -llibb -llibc in your compilation command as well.

Find the libraries: You can start either from your make file or from the warning message i.e. your warning message listed following libs: libopencv_core.so, libopencv_xfeatures2d.so, libopencv_highgui.so and libopencv_imgcodecs.so

Then for each lib run ldd libname This will give you the list of libs referred by libname library. You have to recursively run this command for all the libs you found. You can skip the system libs such as "libc.so, linux-vdso.so" etc...

for example, when I try ldd on papi library

ldd libpapi.so
    linux-vdso.so.1 (0x00007ffe7a799000)
    libpfm.so.4 => path to lib/libpfm.so.4 (0x00007fa2fd1c3000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fa2fcd98000)
    /lib64/ld-linux-x86-64.so.2 (0x000056413361c000)

Here, libpfm.so is the interesting one. Rest of the libs are system libs. Then we run ldd on libpfm.so

ldd libpfm.so
    linux-vdso.so.1 (0x00007ffc5df9d000)
    libc.so.6 => /lib64/libc.so.6 (0x00007faf97e74000)
    /lib64/ld-linux-x86-64.so.2 (0x0000561984fdb000)

This only refer to system libs, therefore we can stop our algorithm here.

At the end here is the list of libs: papi and pfm.

warunapww
  • 966
  • 4
  • 18
  • 38
  • Thanks for your answer, but have you seen how many libraries are there? And I don't know even know if I have or how to find them – justHelloWorld Apr 19 '17 at 20:07
  • I tried your method but the warnings remain. I compiled with `ifort -c -O3 -static -ipo -lhdf5_fortran invmondays.f90` but I get a list of errors similar to `ipo: warning #11021: unresolved H5Dcreate2 Referenced in libhdf5_fortran.a(H5Df.o)` – Manfredo Aug 07 '17 at 10:12
  • @Manfredo unfortunately I have only tested this on C programs with icc compiler – warunapww Aug 23 '17 at 00:14
  • @justHelloWorld There are only 4 distinct libraries, it can be done manually or with a simple script would do. – warunapww Aug 23 '17 at 00:15