Skip to content
This repository has been archived by the owner on May 17, 2023. It is now read-only.

Fails to build with ITT support when using IntelSEAPI #338

Closed
dbermond opened this issue Jun 21, 2018 · 8 comments
Closed

Fails to build with ITT support when using IntelSEAPI #338

dbermond opened this issue Jun 21, 2018 · 8 comments

Comments

@dbermond
Copy link
Contributor

The default IntelSEAPI build system builds a library called libittnotify64.a in 64-bit systems, but the MediaSDK cmake build system is expecting to find libittnotify.a, as seen here:

https://github.com/Intel-Media-SDK/MediaSDK/blob/master/builder/FindITT.cmake#L33

As a result, MediaSDK fails build with ITT support when using IntelSEAPI and -DENABLE_ITT:BOOL='ON' because it cannot find the correct library.

Caused by commit: 5e6b710

@dvrogozh
Copy link
Contributor

Thank you for noting. VTune and SEAPI are eventually not in an agreement on how to name ITT library. I filed intel/IntelSEAPI#21 for that. Rather than guessing what is the correct name (which I probably still implement, sigh...) I would better request support for the normal pkg-config from them. Here is a request for SEAPI: intel/IntelSEAPI#20.

@dbermond
Copy link
Contributor Author

Thank you for the reply and for filling these requests on IntelSEAPI.

I hope they can implement them.

@dvrogozh
Copy link
Contributor

As of now I would just improve FindITT.cmake to look for both variants of itt library name. Problem is that I can't test this because of this build issue in SEAPI: intel/IntelSEAPI#22 and I have no bandwidth to install/try another operating system.

dvrogozh added a commit to dvrogozh/MediaSDK that referenced this issue Jun 26, 2018
Fixes: Intel-Media-SDK#338

ITT name variants:
* SEAPI uses libittnotify${arch}.so
* VTUne uses libittnotify.so
This change checks for both names.

Signed-off-by: Dmitry Rogozhkin <[email protected]>
@dvrogozh
Copy link
Contributor

@dbermond : Here is a fix (dvrogozh@b3acaca), I think/hope it should work, but I can't check it myself as I mentioned already. If you can check and let me know that it works, I will create official PR. Thank you.

@dbermond
Copy link
Contributor Author

@dvrogozh Thank you for working on this issue.

cmake correctly finds ITT from IntelSEAPI after applying this patch. The configuration summary shows ENABLE_ITT : ON.

But it still fails to build during the compile time, giving me multiple occurrences of this error:

/usr/bin/ld: cannot find -littnotify
collect2: error: ld returned 1 exit status

I'm on Arch Linux x86_64. Building with gcc 8.1.1.

dvrogozh added a commit to dvrogozh/MediaSDK that referenced this issue Jun 26, 2018
Fixes: Intel-Media-SDK#338

ITT name variants:
* SEAPI uses libittnotify${arch}.so
* VTUne uses libittnotify.so
This change checks for both names.

Signed-off-by: Dmitry Rogozhkin <[email protected]>
@dvrogozh
Copy link
Contributor

That was stupid me. I forgot to change library name to link with, I just detected it. Please, try dvrogozh@cd9108b.

@dbermond
Copy link
Contributor Author

Please, try dvrogozh/MediaSDK@cd9108b.

It works. I can confirm that MediaSDK builds fine with ITT support when using SEAPI after applying this patch.

Thank you for fixing this.

@dvrogozh
Copy link
Contributor

ok, cool, thank you for the confirmation. I have just created a pull request.

onabiull pushed a commit that referenced this issue Jun 27, 2018
Fixes: #338

ITT name variants:
* SEAPI uses libittnotify${arch}.so
* VTUne uses libittnotify.so
This change checks for both names.

Signed-off-by: Dmitry Rogozhkin <[email protected]>
vshampor pushed a commit that referenced this issue Aug 22, 2018
Fixes: #338

ITT name variants:
* SEAPI uses libittnotify${arch}.so
* VTUne uses libittnotify.so
This change checks for both names.

Signed-off-by: Dmitry Rogozhkin <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants