Analyzers
Support for Analyzers (Intel VTune™ Profiler, Intel Advisor, Intel Inspector)
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
4557 Discussions

libittnotify.lib(ittfortran.obj) linking problem.

Andriy
Beginner
763 Views

Hi,

I am using ITT_* API to reduce amount of collected data.

In fact, for now I am using only ITT_RESUME and ITT_PAUSE functions around my critical code.

Everything worked fine while I was working with Advisor 2019 U5.

Now, I've tried Advisor 2020U3 and 2020.1.1 and get the same error at linking stage:

libittnotify.lib(ittfortran.obj) : error LNK2019: unresolved external symbol ___itt_pause_ptr__3_0 referenced in function ITTNOTIFY_mp_ITT_PAUSE

I've checked libittnotify.lib and it only exports corresponding __itt_* functions with two underscores, while ITTNOTIFY_mp_ITT_* subroutines look for functions with three underscores.

For Advisor 2020U3 I use include path as $(ADVISOR_2020_DIR)include\intel64

And library path as $(ADVISOR_2020_DIR)lib64

With libittnotify.lib as additional link dependency.

Am I missing anything in my setup?

 

Thank you for any suggestions.

Labels (2)
0 Kudos
1 Solution
Johny_P_Intel
Employee
645 Views

I could not reproduce the issue as you described, using the latest version of Advisor. Could you please update to the latest version (2021.1) and follow the instructions under the link below for linking the ITT APIs.


https://software.intel.com/content/www/us/en/develop/documentation/advisor-user-guide/top/minimizing...


If you are still getting this linker error on a clean setup and using the latest version of the Advisor, please let us know.


View solution in original post

10 Replies
JananiC_Intel
Moderator
739 Views

Hi,


Thanks for posting in Intel forums.


Kindly provide the below details so that we try from our side.

1)OS details

2)Steps followed

3)Commands used

If possible you can share your code as well.


Regards,

Janani Chandran




Andriy
Beginner
725 Views

1. Windows.

2. use include path as $(ADVISOR_2020_DIR)include\intel64; and library path as $(ADVISOR_2020_DIR)lib64

3.

Build started: Project: FOO, Configuration: Release.MPI.1|x64 

Compiling with Intel(R) Visual Fortran Compiler 19.0.5.281 [Intel(R) 64]...
ifort /nologo /debug:full /MP /O2 /fpp /I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.5.281\windows\mpi\intel64\include" /I"C:\Program Files (x86)\IntelSWTools\Advisor 2020\include\intel64"  /Qopenmp /stand:f03 /Qdiag-disable:8290,8291,10246,7025,7346,5268,6717,7373 /debug-parameters:all /warn:declarations /warn:unused /warn:truncated_source /warn:uncalled /warn:shape /warn:interfaces /Qauto  /object:"bin\\" /Fd"bin\vc150.pdb" /traceback /libs:dll /threads /Qmkl:parallel /c /fp:consistent /Qimf-use-svml /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64" /Qm64 "foo.f90"

 

Linking...
Creating temporary file "RSP6.rsp" with contents
[
 /OUT:"bin\FOO.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.5.281\windows\mpi\intel64\lib\release" /LIBPATH:"D:\HDF5\1.8.15\lib" /LIBPATH:"SAMGP\lib\Release" /LIBPATH:"C:\Program Files (x86)\IntelSWTools\Advisor 2020\lib64" /NODEFAULTLIB:"LIBCMT.lib" /MANIFEST:NO /DEBUG /PDB:"bin\STARS.pdb" /SUBSYSTEM:CONSOLE,"5.02" /LARGEADDRESSAWARE /IMPLIB:"bin\FOO.lib" /qnoipo msvcrt.lib vcruntime.lib ucrt.lib impi.lib Wsock32.lib User32.lib shell32.lib Advapi32.lib Gdi32.lib hdf5.lib samgp_static.lib samgp_interface_static.lib libittnotify.lib -qm64 /qoffload-ldopts="-mkl=parallel" "bin\FOO.obj" 
]
Andriy
Beginner
721 Views

Eventually, I ended up copying required declarations from `ittnotify.f90` file into my code and commenting out `use ittnotify`.

Examining `ittnotify.f90`, it looks like `ittnotify.mod` was built without defining `intel64` symbol. That explains why it imports three-underscore C functions `___itt_*` instead of correct two-underscore symbols `__itt_*`.

JananiC_Intel
Moderator
699 Views

Hi,


Is your issue resolved?Do you have any other updates?


Regards,

Janani Chandran


Andriy
Beginner
686 Views

`use ittnotify` still does not work.

Should I just accept that Intel provided module is broken? Or is my build misconfigured?

 

JananiC_Intel
Moderator
681 Views

Hi,


Thanks for the update.


We will check with the concerned SME and get back to you soon.


Regards,

Janani Chandran


Johny_P_Intel
Employee
646 Views

I could not reproduce the issue as you described, using the latest version of Advisor. Could you please update to the latest version (2021.1) and follow the instructions under the link below for linking the ITT APIs.


https://software.intel.com/content/www/us/en/develop/documentation/advisor-user-guide/top/minimizing...


If you are still getting this linker error on a clean setup and using the latest version of the Advisor, please let us know.


View solution in original post

Johny_P_Intel
Employee
469 Views

Hi Andriy,


As there are no further updates, can I assume that this issue is resolved? If you are still facing the issue after following the latest instructions and the latest tool version, please let me know.


Regards,

Johny



Andriy
Beginner
460 Views

Hi @Johny_P_Intel ,

I haven't tried the latest Advisor to verify that API has been fixed. Next time I need to analyze my code I will upgrade my installation as per your suggestion.

 

Johny_P_Intel
Employee
442 Views

I am closing this thread based on your response. We will not be monitoring this thread anymore. Please start a new thread if you run into similar issues again with ITT library.


Regards,

Johny



Reply