hello i am running command line version of vtune amplifier for a mpi program on xeon
the analysis report is sucessfully generated in the result directory but i get the following warnings which make thinks that the results may not be correct analysis:-
amplxe: Warning: Cannot locate symbols for file `/lib64/libpthread-2.12.so'.
amplxe: Warning: Cannot locate symbols for file `/usr/lib64/libstdc++.so.6.0.13'.
amplxe: Warning: Cannot locate symbols for file `/lib64/libc-2.12.so'.
amplxe: Warning: Cannot locate symbols for file `/opt/intel/vtune_amplifier_xe_2013/lib64/libtpsstool.so'.
can anyone suggest a way to remove these warnings,
since i am running it on linux, i read that the symbols are present in the binaries, so tried giving -search-dir a path for my binaries that are created from the program but i get the following error and the program hangs without completing:
search option `bin/bin_file_name' is not started with mandatory search type prefix. Ignoring the option
thank you in advance
These are normal (note they are "warnings"). Unless you have built the Linux libraries from sources and generated the debug info, there is none. Normally, all binaries for Linux are stripped of symbols. It does NOT mean the results are incorrect. It DOES mean you won't get detailed information about executing within those libraries - but you typically aren't tuning the libraries. As long as you have symbols for your application, you will see detailed results for your application.
P.S. if you execute the 'file' command on any of those binaries, you will see something like this:
/usr/lib/x86_64-redhat-linux5E/lib64/libpthread.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
I have come with the same problem .But I do want to tune the libraries,and I do have add debug info into the library.
/lib64/libc-2.12.so: ELF 64-bit LSB shared object, x86-64, version 1
(GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
But I'm still getting the warning:
Cannot locate symbols for file `/lib64/libc-2.12.so'.
In result i can't see func-names of it while i can see func-name of my lib which is also "not strppied".
And i have add search path: -search-dir sym:r=/lib64
what should i do to solve this?
thank you in advance
did you actually build libc-2.12.so? Or is this the system library? Just because it is not stripped, doesn't mean debug information is included. You need to compile and link with the '-g' option. Otherwise, you might be able to download the symbols for this system library. Then, you would need to include the path to the symbol file in the -search-dir option, similar to what you specified above.