OpenCV with the Intel(tm) Compiler on Linux (Patch #1637)


Added by Erik Torus about 13 years ago. Updated almost 13 years ago.


Status:Done Start date:2012-02-29
Priority:Normal Due date:
Assignee:Alexander Shishkov % Done:

0%

Category:build/install
Target version:2.4.0
Affected version: Operating System:
Difficulty: HW Platform:
Pull request:

Description

The OpenCV SVN (r7411) library header files do not compile with the Intel(tm) Compiler on Linux. OpenCV practices reference count (smart pointers) for the images it processes. As the smart pointers have to be thread safe some atomic increment is inevitable. Most of todays processors have explicit instructions for atomic increments. As these instructions are not (yet) part of the C++ standard every compiler/platform practices them differently. In gcc there is the __sync_fetch_and_add, on windows there is the InterlockedExchangeAdd kernel call and in the Intel(tm) compiler on Linux there is the _InterlockedExchangeAdd (note the underscore). As the Intel(tm) compiler is not supported/tested by OpenCV the appropriate call is not accomodated. After a patch the proper assembler instructions can be called. The functionality remains to be tested. The patch is attached to this issue.

I would like to ask for Your kind consideration for the below patch, which fixes the issues with the reference counting in the Intel(tm) Compiler.


2012-02-29_icc_atomic_increment_ed2.patch - The patch for the Intel(tm) Compiler (1008 Bytes) Erik Torus, 2012-02-29 03:21 pm


Associated revisions

Revision f5b8af32
Added by Alexander Shishkov about 13 years ago

applied patch from #1637 for fixing problems with Intel(tm) compiler

Revision d411041c
Added by Roman Donchenko over 11 years ago

Merge pull request #1637 from SpecLad:run-py-java-fix

History

Updated by Alexander Shishkov about 13 years ago

Thank you for the patch!

  • Status changed from Open to Done

Updated by Andrey Kamaev almost 13 years ago

  • Target version set to 2.4.0

Also available in: Atom PDF