Skip to content

IPP: use linker workaround for Intel compiler on Linux #19838

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 7, 2021

Conversation

mshabunin
Copy link
Contributor

related #19681 #10515

Tested on Ubuntu 18 with Intel Compiler (OneAPI 2021.2.0) and built-in IPPICV and standalone IPP (OneAPI 2021.2.0).

@@ -151,7 +151,7 @@ macro(ipp_detect_version)
if("${name}" STREQUAL "core") # https://github.com/opencv/opencv/pull/19681
if(OPENCV_FORCE_IPP_EXCLUDE_LIBS OR OPENCV_FORCE_IPP_EXCLUDE_LIBS_CORE
OR (UNIX AND NOT ANDROID AND NOT APPLE
AND (CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|Intel"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK, oneAPI compiler is identified as "Clang" compiler (at least for 2021.1).

CMAKE_CXX_COMPILER=/opt/intel/oneapi/compiler/2021.1.1/linux/bin/clang++
CMAKE_CXX_COMPILER=/opt/intel/oneapi/compiler/2021.1.1/linux/bin/clang++
CMAKE_CXX_COMPILER_ABI=ELF
CMAKE_CXX_COMPILER_AR=/opt/intel/oneapi/compiler/2021.1.1/linux/bin/llvm-ar
CMAKE_CXX_COMPILER_AR=/opt/intel/oneapi/compiler/2021.1.1/linux/bin/llvm-ar
CMAKE_CXX_COMPILER_ARCHITECTURE_ID=
CMAKE_CXX_COMPILER_ARG1=
CMAKE_CXX_COMPILER_ENV_VAR=CXX
CMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU
CMAKE_CXX_COMPILER_ID=Clang                            <<<====== here

Intel Compiler (from "Intel(R) Parallel Studio XE" product) is a different product.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are two compilers in oneAPI, I used icc which identifies as "Intel" (I think it is called classic in terms of oneAPI package):

--     C++ Compiler:                /opt/intel/oneapi/compiler/2021.2.0/linux/bin/intel64/icc  (ver 20.2.2.20210228)

Copy link
Member

@alalek alalek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Validated with classic Intel compiler from Intel® oneAPI HPC Toolkit 2021.2

@opencv-pushbot opencv-pushbot merged commit 9a1d773 into opencv:3.4 Apr 7, 2021
This was referenced Apr 8, 2021
@mshabunin mshabunin deleted the fix-intel-ipp-link branch July 10, 2023 08:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants