View Issue Details

IDProjectCategoryView StatusLast Update
0033117Open CASCADEOCCT:Codingpublic2022-10-04 13:41
Reporterddzama Assigned Toddzama  
PrioritynormalSeverityintegration request 
Status verifiedResolutionfixed 
PlatformWindowsOSVC++ 2022 
Target Version7.7.0 
Summary0033117: Coding, Configuration - migration to intel oneTBB 2021.5.0 (c++20 ready)
DescriptionMSVC 2022/c++20.

After employed c++20 language standard errors of compilation in intel oneTBB occurred.
To get rid of compilation errors proposed moving on actual (2021.5.0) intel oneTBB occ products and occt.

OCCT remarks:
After migration errors of compilation of TKernel and TMath have been occurred...
...Error occurred if using c++20 standard with new oneTBB 2021.5.0.
The error was:
   Error C2672 'tbb::v1::parallel_for_each': no matching overloaded function found TKernel
   could be 'void tbb::detail::d2::parallel_for_each(Iterator,Iterator,const Body &)' TKernel
   'tbb::detail::d2::parallel_for_each': the associated constraints are not satisfied TKernel
Note, that if we use c++14 or c++17, all ok, error does not occures.
To solve the problem, i have to modify `UniversalIterator` class:
`value_type` instead `UniversalIterator` converted to `IteratorInterface*`
`pointer` = `reference` = `value_type`
Method `DownCast` moved into `FunctorInterface` abstract class.
argument `UniversalIterator& item` of the unary fuctions converted to `IteratorInterface*`.
The proposed solution removes compilation error.

Affected projects: TKernel, TMath
Affected sources: src/OSD/OSD_Parallel.hxx, src/OSD/OSD_Parallel_Threads.cxx
Affected classes: class OSD_Parallel, OSD_Parallel::UniversalIterator, OSD_Parallel::FunctorInterface, OSD_Parallel::FunctorWrapperIter, OSD_Parallel:;FunctorWrapperInt.

OCC Products remarks:
Patch consists from 4 steps:
 - update build scripts;
 - update source code;
 - update documentation;
 - fix installation (`INSTALL_TBB` cmake variable services both TBB libs - `tbb12` and `tbbmalloc`).
Source changes was needed due to some changes in oneTBB API.

Affected projects: TKACIS
Affected sources: src/AcisData/AcisData_AcisModel.cxx
Affected classes: class AcisData_InputFilterRead, class AcisData_InputFilterProc, class AcisData_InputFilterStor.
Steps To ReproduceNot required
TagsNo tags attached.
Test case numberNot required

Attached Files

  • image.png (2,535 bytes)
  • image-2.png (49,995 bytes)
  • image-3.png (41,546 bytes)
  • image-4.png (189,294 bytes)

Relationships

duplicate of 0032393 newbugmaster Open CASCADE Configuration - unable to build OCCT using oneTBB 
related to 0032891 newazv Open CASCADE Coding Rules - eliminating TBB deprecation warning on Ubuntu 20.04 
parent of 0032921 verifiedddzama Open CASCADE Configuration, CMake - allow selecting C++ standard 
parent of 0033147 verifiedddzama Community [Regression to 7.6.3] Coding, Configuration - CMake Error TBB "Directory is not set" 
related to 0033152 verifiedddzama Open CASCADE Fix searching tbb in 3rdparty directory 

Activities

git

2022-08-31 11:07

administrator   ~0110467

Branch CR33117 has been created by ddzama.

SHA-1: 1e86ccc43818fecc4b13c0281d5c4ebff857c78b


Detailed log of new commits:

Author: ddzama
Date: Thu Aug 25 14:04:35 2022 +0300

    moving to intel oneTBB 2021*

Author: ddzama
Date: Mon Aug 29 11:05:26 2022 +0300

    ??????: Fix error of TKernal and TMath compilation.
    
    Error occured if using c++20 standard with new oneTBB 2021.5.0.
    The error was:
       Error C2672 'tbb::v1::parallel_for_each': no matching overloaded function found TKernel
       could be 'void tbb::detail::d2::parallel_for_each(Iterator,Iterator,const Body &)' TKernel
       'tbb::detail::d2::parallel_for_each': the associated constraints are not satisfied TKernel
    Note, that if we use c++14 or c++17, all ok, error does not occures.
    To solve the problem, i have to modify `UniversalIterator` class:
    `value_type` instead `UniversalIterator` converted to `IteratorInterface*`
    `pointer` = `reference` = `value_type`
    Method `DownCast` moved into `FunctorInterface` abstract class.
    argument `UniversalIterator& item` of the unary fuctions converted to `IteratorInterface*`.
    The proposed solution solved the compilation error.

git

2022-08-31 11:09

administrator   ~0110468

Branch CR33117 has been updated forcibly by ddzama.

SHA-1: af0f3c9525861780307ec682b7fcd4af720dc510

git

2022-08-31 17:14

administrator   ~0110504

Branch CR33117 has been updated forcibly by ddzama.

SHA-1: 58377b3962422865356d8aa9cc99f302e75476e5

msv

2022-09-01 13:33

developer   ~0110530

@ddzama, please create the branch for products.

git

2022-09-05 09:42

administrator   ~0110607

Branch CR33117 has been updated forcibly by ddzama.

SHA-1: af4c4ae4140859f8361fa2963c93e2cb5c259a79

ddzama

2022-09-05 11:33

developer   ~0110628

@msv, corresponding occ pr. branch is CR33117.

msv

2022-09-05 13:34

developer   ~0110652

@ddzama, please make one commit in branch in occt.

msv

2022-09-05 13:36

developer   ~0110653

Please update commit titles to correspond with bug title.

git

2022-09-05 13:56

administrator   ~0110656

Branch CR33117 has been updated forcibly by ddzama.

SHA-1: b280515a2923746ca6667be62334337c11463b32

ddzama

2022-09-05 13:58

developer   ~0110657

@msv, commits have been squashed into one, commit title/description have been align with bug tracker issue title/description.

msv

2022-09-05 14:35

developer   ~0110660

You did not correct the commit title in products.

git

2022-09-05 17:30

administrator   ~0110673

Branch CR33117 has been updated forcibly by ddzama.

SHA-1: d2281c55b7abd5a6295f4a7a36b70f8d478b46e6

ddzama

2022-09-05 17:33

developer   ~0110675

@msv, commit title/description has been updated as for occt, as for occ products.
Please, appreciate it.

ddzama

2022-09-05 17:37

developer   ~0110676

@msv - small remark. Because of one issue propagates as on OCCT, as on OCC Pr, i write in bug description information about both of them. Commits messages contains full bug description as for OCCT, as for OCC Pr. Does it ok?

git

2022-09-05 17:53

administrator   ~0110677

Branch CR33117 has been updated forcibly by ddzama.

SHA-1: afe83366559a6238715f88ccdbfcc7a12edee923

msv

2022-09-05 23:17

developer   ~0110688

You understood incorrect. The title of the bug must be used as the title of the commit in both repositories. Commit message must not mandatory repeat the bug description. Especially, commit message in one repository must not describe the content of the commit of another one.

git

2022-09-06 16:26

administrator   ~0110754

Branch CR33117 has been updated forcibly by ddzama.

SHA-1: aff69487122305fa5dc2732ce17d0bb04873e656

git

2022-09-07 09:55

administrator   ~0110780

Branch CR33117 has been updated forcibly by ddzama.

SHA-1: 84ae05dec7c084238d7f2de688dbb21967d24b7b

ddzama

2022-09-07 09:59

developer   ~0110782

@msv, i updated git commit messages for branch CR33117 (OCCT and OCC Pr.) and sufficiently reduce them.

msv

2022-09-07 11:47

developer   ~0110804

For integration:
occt - CR33117
products - CR33117

git

2022-09-07 16:43

administrator   ~0110818

Branch CR33117 has been updated by ddzama.

SHA-1: 66a6fb4d4fba69d57ebcd2877634126d0b95f542


Detailed log of new commits:

Author: ddzama
Date: Wed Sep 7 16:42:48 2022 +0300

    0033117: taking into account different names of tbb main library

git

2022-09-08 00:17

administrator   ~0110839

Branch CR33117 has been updated forcibly by ddzama.

SHA-1: 53a2728a2056946337a280fdca85ef5ed5d8c77a

git

2022-09-08 00:24

administrator   ~0110840

Branch CR33117 has been updated forcibly by ddzama.

SHA-1: 7bac5ab2b197de58ef9e48c223d6dd3af592ba22

git

2022-09-08 10:54

administrator   ~0110846

Branch CR33117 has been updated forcibly by ddzama.

SHA-1: 15afd5e314317eb908e7f199a50bf2f52ba7a59b

ddzama

2022-09-08 11:41

developer   ~0110853

@msv, when i was trying to compile intel oneTBB under Ubuntu 18.04, i saw, that tbb main lib name differs from it on Windows. So i make one additional patch to fix it.
Please, see it.
OCCT branch - CR33117
OCC Pr. branch - CR33117

smoskvin

2022-09-09 10:54

administrator   ~0110893

Warning on MacOS

http://jenkins-test-08.nnov.opencascade.com/view/CR0-WEEK-36/view/OCCT%20compile/job/CR0-WEEK-36-OCCT-MacOS-opt-compile/3/parsed_console/

git

2022-09-09 11:26

administrator   ~0110894

Branch CR33117 has been updated forcibly by ddzama.

SHA-1: b7df7e19b53513ba1cef17aebcd876a33e2622b2

ddzama

2022-09-09 11:34

developer   ~0110896

@smoskvin, OCCT patch CR33117 has been fixed (debian warnings). Please, employ it.

dpasukhi

2022-09-12 02:15

developer   ~0110968

@ddzama
 msv 2022-09-05 13:34
please make one commit in branch in occt.

I find only a doubled commits in the PROD and OCCT repositories. Eche doubled commit have own name and discription, but issue id is the same.
Please create a note describing its behavior if correct. Or you can split issue to two or combine to one commit.

git

2022-09-13 10:49

administrator   ~0110992

Branch CR33117 has been updated forcibly by ddzama.

SHA-1: d5a84d30a8fe78623e4652834df49e4b677e359f

git

2022-09-13 10:52

administrator   ~0110993

Branch CR33117_1 has been created by ddzama.

SHA-1: 4b23900a13c7e460d885ddfc16c9e4eb6cc7040c


Detailed log of new commits:

Author: ddzama
Date: Thu Aug 25 14:04:35 2022 +0300

    0033117: migration to intel oneTBB 2021.5.0 (c++20 ready).
    
    MSVC 2022/c++20.
    
    After employed c++20 language standard errors of compilation in intel oneTBB occurred.
    To get rid of compilation errors proposed moving on actual (2021.5.0) intel oneTBB occ products and occt.
    
    After migration errors of compilation of TKernal and TMath have been occured...
    ...Error occured if using c++20 standard with new oneTBB 2021.5.0.
    The error was:
       Error C2672 'tbb::v1::parallel_for_each': no matching overloaded function found TKernel
       could be 'void tbb::detail::d2::parallel_for_each(Iterator,Iterator,const Body &)' TKernel
       'tbb::detail::d2::parallel_for_each': the associated constraints are not satisfied TKernel
    Note, that if we use c++14 or c++17, all ok, error does not occures.
    
    Affected projects: TKernal, TMath
    Affected files: src/OSD/OSD_Parallel.hxx, src/OSD/OSD_Parallel_Threads.cxx
    Affected classes: class OSD_Parallel, OSD_Parallel::UniversalIterator, OSD_Parallel::FunctorInterface, OSD_Parallel::FunctorWrapperIter, OSD_Parallel:;FunctorWrapperInt.
    
    Additionally, taked into account different names of tbb main library on windows/linux.
    On Windows, they are tbb12.lib/tbb12.dll. On Linux, it is libtbb.so.
    Therefore, we have to taking into account this fact in all project generator files (cmake and others).

ddzama

2022-09-13 11:07

developer   ~0110996

Branch to merge: CR33117_1

ddzama

2022-09-13 11:18

developer   ~0110999

Branches to merge: CR33117_1

msv

2022-09-13 12:30

developer   ~0111003

occt - CR33117_1
products - CR33117_1

kgv

2022-09-13 12:57

developer   ~0111006

Last edited: 2022-09-13 12:57

> After migration errors of compilation of TKernal and TMath have been occured...
...
>  Affected projects: TKernal, TMath

TKernal -> TKernel
occured -> occurred

-TBB version 2017 is available under Apache 2.0 license, while older versions 
+oneTBB 2021.5.0 is available under Apache 2.0 license, while older versions
 until 4.4 are available under GPLv2 license with the runtime exception (https://www.threadingbuildingblocks.org)

It looks irrelevant to keep references to older TBB versions (4.4), if they are not supported anymore.

-    LIBS += -ltbb -ltbbmalloc
+    win32 {
+      LIBS += -ltbb12 -ltbbmalloc
+    } else {
+      LIBS += -ltbb -ltbbmalloc
+    }

Have you been able to find in oneTBB documentation how stable this "12" version suffix is supposed to be?
Seems to be this version matches "specification version", not library version.
In archives for Windows I see both "tbb.lib" and "tbb12.lib", so that it should be not a problem to keep linking "tbb.lib" - only DLL file is important to consider name to copy within INSTALL.

+# Under Windows it called `tbb12` (files tbb12.lib/tbb12.dll), but under Linux it called `tbb` (file libtbb.so).

This description is misleading - in Linux distros libraries normally installed with fully-qualified version suffix (major + minor), and unversioned libraries installed with "development" packages (for building / linking applications).
If you insist on hard-coding major version of oneTBB library on Windows platform, please make it consistent on other platforms as well (e.g. link to libtbb.so.12 on Linux).
image.png (2,535 bytes)

ddzama

2022-09-15 09:54

developer   ~0111058

@kgv, i agree with you, but my first attempt to realize in your way had failed.
But i trying to fix it now.

git

2022-09-16 12:03

administrator   ~0111089

Branch CR33117_2 has been created by ddzama.

SHA-1: 883c10e7e3b73b929cea043d00753c0e89e84dde


Detailed log of new commits:

Author: ddzama
Date: Thu Sep 15 09:40:48 2022 +0300

    0033117: migration to intel oneTBB 2021.5.0 (c++20 ready)
    
    MSVC 2022/c++20.
    
    After employed c++20 language standard errors of compilation in intel oneTBB occurred.
    To get rid of compilation errors proposed moving on actual (2021.5.0) intel oneTBB occ products and occt.
    
    OCCT remarks:
    After migration errors of compilation of TKernel and TMath have been occurred...
    ...Error occurred if using c++20 standard with new oneTBB 2021.5.0.
    The error was:
       Error C2672 'tbb::v1::parallel_for_each': no matching overloaded function found TKernel
       could be 'void tbb::detail::d2::parallel_for_each(Iterator,Iterator,const Body &)' TKernel
       'tbb::detail::d2::parallel_for_each': the associated constraints are not satisfied TKernel
    Note, that if we use c++14 or c++17, all ok, error does not occures.
    To solve the problem, i have to modify `UniversalIterator` class:
    `value_type` instead `UniversalIterator` converted to `IteratorInterface*`
    `pointer` = `reference` = `value_type`
    Method `DownCast` moved into `FunctorInterface` abstract class.
    argument `UniversalIterator& item` of the unary fuctions converted to `IteratorInterface*`.
    The proposed solution removes compilation error.
    
    Affected projects: TKernel, TMath
    Affected sources: src/OSD/OSD_Parallel.hxx, src/OSD/OSD_Parallel_Threads.cxx
    Affected classes: class OSD_Parallel, OSD_Parallel::UniversalIterator, OSD_Parallel::FunctorInterface, OSD_Parallel::FunctorWrapperIter, OSD_Parallel:;FunctorWrapperInt.

ddzama

2022-09-16 12:05

developer   ~0111090

@kgv, so, this issue has been reworked. Please, see OCCT branch CR33117_2.
I am starting reworking OCC Products in the same key.

git

2022-09-16 12:49

administrator   ~0111092

Branch CR33117_2 has been updated forcibly by ddzama.

SHA-1: cb774598fb9af00bf21b6e21e9369f2f2bd806c6

git

2022-09-16 13:22

administrator   ~0111097

Branch CR33117_2 has been updated forcibly by ddzama.

SHA-1: a708b43daab235080c0c17e59c8191307413de8f

git

2022-09-19 10:12

administrator   ~0111136

Branch CR33117_2 has been updated forcibly by ddzama.

SHA-1: c6fc955096d0e041b9518fe62f2b401da7155db0

git

2022-09-19 10:21

administrator   ~0111137

Branch CR33117_2 has been updated forcibly by ddzama.

SHA-1: e22cf0534028440a9b90dd854849bd3b01c58ccd

git

2022-09-19 10:42

administrator   ~0111139

Branch CR33117_2 has been updated forcibly by ddzama.

SHA-1: 44ec949f4d861b872c11a0fc8ab9132a80a0676f

ddzama

2022-09-19 10:45

developer   ~0111141

For integration:
OCCT - CR33117_2
OCC Pr. - CR33117_2

git

2022-09-19 11:40

administrator   ~0111142

Branch CR33117_2 has been updated forcibly by ddzama.

SHA-1: 9c495e6476cc25e6a14bcca5cf9543015ba5a3f2

msv

2022-09-19 18:18

developer   ~0111150

OCCT:

adm/cmake/tbb.cmake
"3RDPARTY_DIR does not defined." -> "3RDPARTY_DIR is not defined."
"Directory ${3RDPARTY_DIR} does not set." -> "Directory ${3RDPARTY_DIR} is not set."
87: No such file TBBTargets-release.cmake in installation of oneapi-tbb-2021.5.0.
112,151: Why you find full path if get_target_property already returned it? In addition, this method returns all occurrences of the file, and further logic does not work.
Please add new line at end:
+endif()
\ No newline at end of file


Products:
adm/cmake/tbb.cmake
The same as in occt.
123,158: Incorrect variable is set - 3RDPARTY_NOT_INCLUDED, must be 3RDPARTY_NO_LIBS or 3RDPARTY_NO_DLLS.
Installation on linux is incorrectly set to INSTALL_DIR_BIN instead of INSTALL_DIR_LIB.

dox/user_guides/*
adm/cmake/demo.cmake
samples/csharp/cmake/mkdemo.bat.in
samples/java/cmake/mkdemo.bat.in
samples/qt/OMF/distribute.bat
samples/qt/SSP/distribute.bat
samples/qt/Unfolding/distribute.bat
samples/qt/XDE/distribute.bat
Why did not you take the patched files from the branch CR33117_1?

ddzama

2022-09-21 10:05

developer   ~0111161

Last edited: 2022-09-21 10:06

@msv, answer to your question:
"
Products:
adm/cmake/tbb.cmake
The same as in occt.
123,158: Incorrect variable is set - 3RDPARTY_NOT_INCLUDED, must be 3RDPARTY_NO_LIBS or 3RDPARTY_NO_DLLS.
Installation on linux is incorrectly set to INSTALL_DIR_BIN instead of INSTALL_DIR_LIB.
"
If you look on difference between MASTER occt version of file `tbb.cmake` and its MASTER occ pr. version, you will get this result:
So, i have to taking into account this differences.
image-2.png (49,995 bytes)
image-3.png (41,546 bytes)
image-4.png (189,294 bytes)

ddzama

2022-09-21 10:15

developer   ~0111162

Last edited: 2022-09-21 10:17

@msv, answer to your question:

"dox/user_guides/*
adm/cmake/demo.cmake
samples/csharp/cmake/mkdemo.bat.in
samples/java/cmake/mkdemo.bat.in
samples/qt/OMF/distribute.bat
samples/qt/SSP/distribute.bat
samples/qt/Unfolding/distribute.bat
samples/qt/XDE/distribute.bat
Why did not you take the patched files from the branch CR33117_1?"

This solution influenced by kgv (as far as i understood him) remark and discussion.
So, he, absolutely right, when he said that tbb.lib still present on Windows oneTBB release and libtbb.so (as soft link to correct version) is present under Linux.
But tbb.dll has been replaced by tbb12.dll (12 - is specialization version) - and this is the main problem. While we still may linking with tbb.lib, we don't able to find tbb.dll in bin directory.

And his remark was - why we don't employ cmake taget files to simplify the problem. So much modifications of tbb.cmake have been occured due to employing of tbb cmake helper file.
But we are not able to employ this file in bat scripts. So we still linking with tbb.lib under windows and i see, that it is ok.
Nevertheless, you mention `adm/cmake/demo.cmake` and i should recheck it, maybe i forgot it.

@kgv - FYI.

ddzama

2022-09-21 10:36

developer   ~0111163

@msv - unfortunately, get_target_property return not full, but local path, because variable `_IMPORT_PREFIX` is equal to "".
But you are right, my favorite glob_recurse does not necessuary here, i will fix it now.

git

2022-09-21 11:07

administrator   ~0111165

Branch CR33117_2 has been updated by ddzama.

SHA-1: 3bd4c56587c52abe067974144f791f67339e23bf


Detailed log of new commits:

Author: ddzama
Date: Wed Sep 21 11:07:26 2022 +0300

    0033117: Fixed after @msv review.

ddzama

2022-09-21 11:50

developer   ~0111169

A make fixup changes as separate commit. Please review it.

msv

2022-09-21 22:56

developer   ~0111171

>If you look on difference between MASTER occt version of file `tbb.cmake` and its MASTER occ pr. version, you will get this result:
>So, i have to taking into account this differences.
It is obvious error in the master cmake script. 3RDPARTY_NOT_INCLUDED is used to list not found include directories, rather than lib or dll dirs. Using the chance of your change in this file, please correct it.
On linux the .so files must be definitely copied to the lib dir, not into the bin dir.

I did not understand from your answer why you did not update used tbb version in the following files, like you did it in the branches CR33117_1 of occt and products:
OCCT:
dox/build/build_3rdparty/building_3rdparty.md
dox/introduction/introduction.md
Products:
dox/user_guides/*

As for the following files:
Products:
adm/cmake/demo.cmake
samples/csharp/cmake/mkdemo.bat.in
samples/java/cmake/mkdemo.bat.in
samples/qt/OMF/distribute.bat
samples/qt/SSP/distribute.bat
samples/qt/Unfolding/distribute.bat
samples/qt/XDE/distribute.bat
There the matter is in files tbb.dll (not tbb.lib), which are absent in the new tbb, and in the branch CR33117_1 you correctly replaced them with tbb12.dll. In the new branch there will be an error in runtime of samples.

Again, attempting to configure OCCT using your branch I get failure due to two things:
1. No such file TBBTargets-release.cmake in installation of oneapi-tbb-2021.5.0. How did you obtain your installation of oneTBB? I simply downloaded the asset https://github.com/oneapi-src/oneTBB/releases/download/v2021.5.0/oneapi-tbb-2021.5.0-win.zip that is located in the page https://github.com/oneapi-src/oneTBB/releases/tag/v2021.5.0. May be you built it from source code? Please make scripts working also with official binary distribution.
2. get_target_property in my case returns the full path, and in the result I have the following value of the FILE_NAME:
FILE_NAME=D:/occt-3rdparty/occt700products/oneapi-tbb-2021.5.0/lib/intel64/vc14/tbb12.lib
And then FILE_PATH is made incorrect:
FILE_PATH=D:/occt-3rdparty/occt700products/oneapi-tbb-2021.5.0D:/occt-3rdparty/occt700products/oneapi-tbb-2021.5.0/lib/intel64/vc14/tbb12.lib

BTW, oneTBB 2021.6.0 has just released. I suggest using this new version. It contains some critical bug fixes over the previous version that was released 9 months ago.

ddzama

2022-09-22 02:26

developer   ~0111179

@msv, a updated last commit, now you can see changes.
But i did not know what to do with differences between manual compiling and installation of oneTBB and oficial binaries.

git

2022-09-22 15:44

administrator   ~0111188

Branch CR33117_2 has been updated by ddzama.

SHA-1: 54da2c2ae987ba1f7262b371f02eea1eaa1bbdd0


Detailed log of new commits:

Author: ddzama
Date: Thu Sep 22 15:40:20 2022 +0300

    0033117: Fixed after @msv review (II).

msv

2022-09-22 21:50

developer   ~0111195

OCCT:
adm/cmake/tbb.cmake
92-95,98,106-110: extra lines

Products:
adm/cmake/tbb.cmake
Why didn't you update it as OCCT's one regarding support of both build from source code and official delivery of oneTBB?

ddzama

2022-09-23 10:01

developer   ~0111199

@msv - about products - already done it.

git

2022-09-23 11:30

administrator   ~0111201

Branch CR33117_2 has been updated forcibly by ddzama.

SHA-1: 545e7d9e2ddde92583f695f976585e8c80d129f5

git

2022-09-23 11:36

administrator   ~0111202

Branch CR33117_2 has been updated forcibly by ddzama.

SHA-1: 6bb7a338acbc5b1156fbf9201896a97ada1e07ad

git

2022-09-23 17:15

administrator   ~0111228

Branch CR33117_2 has been updated forcibly by ddzama.

SHA-1: c5000f775a35d801d43e62a5112f2222c8e20f16

ddzama

2022-09-23 17:24

developer   ~0111231

@msv, jenkins-8 result:
http://jenkins-test-occt.nnov.opencascade.com/view/CR33117_2_ddzama_22sep2022/view/PRODUCTS%20compile/
Waiting for jenkins-11 results.

msv

2022-09-23 19:29

developer   ~0111235

Again:
OCCT:
adm/cmake/tbb.cmake
92-95,97,105-109: extra lines, why you repeat the same "set", "if (EXISTS", "include" twice?
The same is in products.

ddzama

2022-09-24 17:17

developer   ~0111236

@msv - this done for taking into account tbb / TBB (different register writing)

git

2022-09-24 17:38

administrator   ~0111237

Branch CR33117_2 has been updated forcibly by ddzama.

SHA-1: 2078af7071472d77b253b8f52e322fced9458b2c

msv

2022-09-25 00:01

developer   ~0111240

Sorry, I did not notice difference in case of letters.

msv

2022-09-25 00:03

developer   ~0111241

To integrate:
occt - CR33117_2
products - CR33117_2

smoskvin

2022-09-25 13:32

administrator   ~0111249

Combination -
OCCT branch : IR-2022-09-23
master SHA - changes and them, and you can discard any commits you make in this
b3284f3ba911e4d18477ff1788ace3d7201a8827
changes and them, and you can discard any commits you make in this
e0ceb716c70188b98130b1550914140d0502a6f9
Products branch : IR-2022-09-23 SHA - f1708bcb12b969ae6e6578ab6d46bb65e135a733
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 18666.730000000585 / 18776.180000000597 [-0.58%]
Products
Total CPU difference: 11867.75000000012 / 11959.870000000119 [-0.77%]
Windows-64-VC14:
OCCT
Total CPU difference: 20851.8125 / 20857.796875 [-0.03%]
Products
Total CPU difference: 14092.984375 / 14084.640625 [+0.06%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2022-09-25 13:40

administrator   ~0111255

Branch CR33117 has been deleted by mnt.

SHA-1: d5a84d30a8fe78623e4652834df49e4b677e359f

git

2022-09-25 13:40

administrator   ~0111256

Branch CR33117_1 has been deleted by mnt.

SHA-1: 4b23900a13c7e460d885ddfc16c9e4eb6cc7040c

git

2022-09-25 13:40

administrator   ~0111257

Branch CR33117_2 has been deleted by mnt.

SHA-1: 2078af7071472d77b253b8f52e322fced9458b2c

git

2022-09-26 17:29

administrator   ~0111270

Branch CR33117_2a has been created by ddzama.

SHA-1: bfcfeb9580a0694a1610e2035c3d2361f001987a


Detailed log of new commits:

Author: ddzama
Date: Mon Sep 26 17:27:24 2022 +0300

    [FIX REG] Handle case when tbb did not installed in 3rdparty dir, but in system dir

Author: ddzama
Date: Mon Sep 26 13:28:14 2022 +0300

    [FIX REG] Set search templates for tbb 3rdparty dir.

git

2022-09-27 12:50

administrator   ~0111276

Branch CR33117_2a has been updated forcibly by ddzama.

SHA-1: 526fd9b8e22a11506a917f4ca36c46447727609b

git

2022-09-28 13:52

administrator   ~0111290

Branch CR33117_2a has been updated by ddzama.

SHA-1: 1550df1d7b6585e4ef09f05f98a82458265c66ec


Detailed log of new commits:

Author: ddzama
Date: Wed Sep 28 13:44:00 2022 +0300

    [Employ find_package]

git

2022-09-28 18:01

administrator   ~0111300

Branch CR33117_2a has been updated forcibly by ddzama.

SHA-1: d6bd566478603eee538b2585e58c78be37a4f873

Related Changesets

occt-products: master f1708bcb

2022-09-15 09:38:22

ddzama


Committer: smoskvin Details Diff
0033117: Coding, Configuration - migration to intel oneTBB 2021.5.0 (c++20 ready)

MSVC 2022/c++20.

After employed c++20 language standard errors of compilation in intel oneTBB occurred.
To get rid of compilation errors proposed moving on actual (2021.5.0) intel oneTBB occ products and occt.

Patch consists from 4 steps:
- update build scripts;
- update source code;
- update documentation;
- fix installation (`INSTALL_TBB` cmake variable services both TBB libs - `tbb12` and `tbbmalloc`).
Source changes was needed due to some changes in oneTBB API.

Affected projects: TKACIS
Affected sources: src/AcisData/AcisData_AcisModel.cxx
Affected classes: class AcisData_InputFilterRead, class AcisData_InputFilterProc, class AcisData_InputFilterStor.
Affected Issues
0033117
mod - adm/cmake/occt_toolkit.cmake Diff File
mod - adm/cmake/tbb.cmake Diff File
mod - CMakeLists.txt Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - dox/user_guides/bestfit_module/bestfit_module.md Diff File
mod - dox/user_guides/collision_detection/collision_detection.md Diff File
mod - dox/user_guides/dxf_interface/dxf_interface.md Diff File
mod - dox/user_guides/jt_interface/jt_interface.md Diff File
mod - dox/user_guides/sat_interface/sat_interface.md Diff File
mod - samples/csharp/cmake/mkdemo.bat.in Diff File
mod - samples/qt/OMF/distribute.bat Diff File
mod - samples/qt/Unfolding/distribute.bat Diff File

occt: master b3284f3b

2022-09-15 09:40:48

ddzama


Committer: smoskvin Details Diff
0033117: migration to intel oneTBB 2021.5.0 (c++20 ready)

MSVC 2022/c++20.

After employed c++20 language standard errors of compilation in intel oneTBB occurred.
To get rid of compilation errors proposed moving on actual (2021.5.0) intel oneTBB occ products and occt.

After migration errors of compilation of TKernel and TMath have been occurred...
...Error occurred if using c++20 standard with new oneTBB 2021.5.0.
The error was:
Error C2672 'tbb::v1::parallel_for_each': no matching overloaded function found TKernel
could be 'void tbb::detail::d2::parallel_for_each(Iterator,Iterator,const Body &)' TKernel
'tbb::detail::d2::parallel_for_each': the associated constraints are not satisfied TKernel
Note, that if we use c++14 or c++17, all ok, error does not occures.
To solve the problem, i have to modify `UniversalIterator` class:
`value_type` instead `UniversalIterator` converted to `IteratorInterface*`
`pointer` = `reference` = `value_type`
Method `DownCast` moved into `FunctorInterface` abstract class.
argument `UniversalIterator& item` of the unary fuctions converted to `IteratorInterface*`.
The proposed solution removes compilation error.

Affected projects: TKernel, TMath
Affected sources: src/OSD/OSD_Parallel.hxx, src/OSD/OSD_Parallel_Threads.cxx
Affected classes: class OSD_Parallel, OSD_Parallel::UniversalIterator, OSD_Parallel::FunctorInterface, OSD_Parallel::FunctorWrapperIter, OSD_Parallel:;FunctorWrapperInt.
Affected Issues
0033117
mod - adm/cmake/tbb.cmake Diff File
mod - adm/genconfdeps.tcl Diff File
mod - dox/build/build_3rdparty/building_3rdparty.md Diff File
mod - dox/introduction/introduction.md Diff File
mod - src/OSD/OSD_Parallel.hxx Diff File
mod - src/OSD/OSD_Parallel_Threads.cxx Diff File

Issue History

Date Modified Username Field Change
2022-08-31 10:42 ddzama New Issue
2022-08-31 10:42 ddzama Assigned To => ddzama
2022-08-31 10:43 ddzama Relationship added parent of 0032921
2022-08-31 11:07 git Note Added: 0110467
2022-08-31 11:09 git Note Added: 0110468
2022-08-31 11:09 ddzama Assigned To ddzama => msv
2022-08-31 11:09 ddzama Status new => resolved
2022-08-31 11:09 ddzama Steps to Reproduce Updated
2022-08-31 11:15 kgv Relationship added related to 0032393
2022-08-31 11:15 kgv Relationship replaced duplicate of 0032393
2022-08-31 11:16 kgv Relationship added related to 0032891
2022-08-31 17:14 git Note Added: 0110504
2022-09-01 13:33 msv Note Added: 0110530
2022-09-01 15:28 msv Assigned To msv => ddzama
2022-09-01 15:28 msv Status resolved => assigned
2022-09-05 09:42 git Note Added: 0110607
2022-09-05 11:33 ddzama Note Added: 0110628
2022-09-05 11:35 ddzama Assigned To ddzama => msv
2022-09-05 11:35 ddzama Status assigned => resolved
2022-09-05 13:34 msv Note Added: 0110652
2022-09-05 13:36 msv Note Added: 0110653
2022-09-05 13:52 msv Assigned To msv => ddzama
2022-09-05 13:52 msv Status resolved => assigned
2022-09-05 13:56 ddzama Description Updated
2022-09-05 13:56 git Note Added: 0110656
2022-09-05 13:58 ddzama Note Added: 0110657
2022-09-05 13:59 ddzama Assigned To ddzama => msv
2022-09-05 13:59 ddzama Status assigned => resolved
2022-09-05 14:35 msv Note Added: 0110660
2022-09-05 14:36 msv Assigned To msv => ddzama
2022-09-05 14:36 msv Status resolved => assigned
2022-09-05 17:25 ddzama Description Updated
2022-09-05 17:30 git Note Added: 0110673
2022-09-05 17:33 ddzama Note Added: 0110675
2022-09-05 17:37 ddzama Note Added: 0110676
2022-09-05 17:52 ddzama Description Updated
2022-09-05 17:53 git Note Added: 0110677
2022-09-05 17:55 ddzama Assigned To ddzama => msv
2022-09-05 17:55 ddzama Status assigned => resolved
2022-09-05 23:17 msv Note Added: 0110688
2022-09-05 23:18 msv Assigned To msv => ddzama
2022-09-05 23:18 msv Status resolved => assigned
2022-09-06 16:26 git Note Added: 0110754
2022-09-07 09:55 git Note Added: 0110780
2022-09-07 09:58 ddzama Description Updated
2022-09-07 09:59 ddzama Note Added: 0110782
2022-09-07 10:00 ddzama Assigned To ddzama => msv
2022-09-07 10:00 ddzama Status assigned => resolved
2022-09-07 11:47 msv Assigned To msv => bugmaster
2022-09-07 11:47 msv Status resolved => reviewed
2022-09-07 11:47 msv Note Added: 0110804
2022-09-07 15:23 ddzama Assigned To bugmaster => ddzama
2022-09-07 15:23 ddzama Status reviewed => assigned
2022-09-07 16:43 git Note Added: 0110818
2022-09-08 00:17 git Note Added: 0110839
2022-09-08 00:24 git Note Added: 0110840
2022-09-08 10:54 git Note Added: 0110846
2022-09-08 11:41 ddzama Note Added: 0110853
2022-09-08 11:41 ddzama Assigned To ddzama => msv
2022-09-08 11:41 ddzama Status assigned => resolved
2022-09-08 12:18 msv Assigned To msv => bugmaster
2022-09-08 12:18 msv Status resolved => reviewed
2022-09-09 10:54 smoskvin Assigned To bugmaster => ddzama
2022-09-09 10:54 smoskvin Status reviewed => assigned
2022-09-09 10:54 smoskvin Note Added: 0110893
2022-09-09 11:26 git Note Added: 0110894
2022-09-09 11:34 ddzama Note Added: 0110896
2022-09-09 11:36 ddzama Assigned To ddzama => bugmaster
2022-09-09 11:36 ddzama Status assigned => feedback
2022-09-12 02:15 dpasukhi Note Added: 0110968
2022-09-12 11:16 msv Assigned To bugmaster => ddzama
2022-09-12 11:16 msv Status feedback => assigned
2022-09-13 10:49 git Note Added: 0110992
2022-09-13 10:51 ddzama Description Updated
2022-09-13 10:52 git Note Added: 0110993
2022-09-13 11:07 ddzama Assigned To ddzama => dpasukhi
2022-09-13 11:07 ddzama Status assigned => resolved
2022-09-13 11:07 ddzama Note Added: 0110996
2022-09-13 11:18 ddzama Status resolved => feedback
2022-09-13 11:18 ddzama Note Added: 0110999
2022-09-13 12:29 msv Assigned To dpasukhi => bugmaster
2022-09-13 12:29 msv Status feedback => reviewed
2022-09-13 12:30 msv Note Added: 0111003
2022-09-13 12:34 kgv Severity minor => integration request
2022-09-13 12:57 kgv Note Added: 0111006
2022-09-13 12:57 kgv File Added: image.png
2022-09-13 12:57 kgv Assigned To bugmaster => ddzama
2022-09-13 12:57 kgv Status reviewed => assigned
2022-09-13 12:57 kgv Note Edited: 0111006
2022-09-13 13:09 ddzama Description Updated
2022-09-15 09:54 ddzama Note Added: 0111058
2022-09-16 12:02 ddzama Description Updated
2022-09-16 12:03 git Note Added: 0111089
2022-09-16 12:05 ddzama Note Added: 0111090
2022-09-16 12:15 kgv Product Version 7.7.0 =>
2022-09-16 12:15 kgv Summary migration to intel oneTBB 2021.5.0 (c++20 ready) => Coding, Configuration - migration to intel oneTBB 2021.5.0 (c++20 ready)
2022-09-16 12:49 git Note Added: 0111092
2022-09-16 13:22 git Note Added: 0111097
2022-09-19 10:12 git Note Added: 0111136
2022-09-19 10:21 git Note Added: 0111137
2022-09-19 10:42 git Note Added: 0111139
2022-09-19 10:45 ddzama Assigned To ddzama => kgv
2022-09-19 10:45 ddzama Status assigned => resolved
2022-09-19 10:45 ddzama Note Added: 0111141
2022-09-19 10:52 kgv Assigned To kgv => msv
2022-09-19 11:40 git Note Added: 0111142
2022-09-19 18:18 msv Note Added: 0111150
2022-09-19 18:18 msv Assigned To msv => ddzama
2022-09-19 18:18 msv Status resolved => assigned
2022-09-21 10:05 ddzama Note Added: 0111161
2022-09-21 10:05 ddzama File Added: image-2.png
2022-09-21 10:05 ddzama File Added: image-3.png
2022-09-21 10:05 ddzama File Added: image-4.png
2022-09-21 10:06 ddzama Note Edited: 0111161
2022-09-21 10:15 ddzama Note Added: 0111162
2022-09-21 10:17 ddzama Note Edited: 0111162
2022-09-21 10:17 ddzama Note Edited: 0111162
2022-09-21 10:36 ddzama Note Added: 0111163
2022-09-21 11:07 git Note Added: 0111165
2022-09-21 11:50 ddzama Assigned To ddzama => msv
2022-09-21 11:50 ddzama Status assigned => resolved
2022-09-21 11:50 ddzama Note Added: 0111169
2022-09-21 22:56 msv Note Added: 0111171
2022-09-21 22:56 msv Assigned To msv => ddzama
2022-09-21 22:56 msv Status resolved => assigned
2022-09-22 02:26 ddzama Note Added: 0111179
2022-09-22 15:44 git Note Added: 0111188
2022-09-22 21:50 msv Note Added: 0111195
2022-09-23 10:01 ddzama Note Added: 0111199
2022-09-23 11:30 git Note Added: 0111201
2022-09-23 11:36 git Note Added: 0111202
2022-09-23 17:15 git Note Added: 0111228
2022-09-23 17:22 ddzama Assigned To ddzama => msv
2022-09-23 17:22 ddzama Status assigned => resolved
2022-09-23 17:24 ddzama Note Added: 0111231
2022-09-23 19:29 msv Note Added: 0111235
2022-09-23 19:30 msv Assigned To msv => ddzama
2022-09-23 19:30 msv Status resolved => assigned
2022-09-24 17:17 ddzama Note Added: 0111236
2022-09-24 17:38 git Note Added: 0111237
2022-09-25 00:01 msv Note Added: 0111240
2022-09-25 00:02 msv Assigned To ddzama => msv
2022-09-25 00:02 msv Status assigned => resolved
2022-09-25 00:03 msv Assigned To msv => bugmaster
2022-09-25 00:03 msv Status resolved => reviewed
2022-09-25 00:03 msv Note Added: 0111241
2022-09-25 13:32 smoskvin Status reviewed => tested
2022-09-25 13:32 smoskvin Note Added: 0111249
2022-09-25 13:34 smoskvin Test case number => Not required
2022-09-25 13:38 smoskvin Changeset attached => occt master b3284f3b
2022-09-25 13:38 ddzama Assigned To bugmaster => ddzama
2022-09-25 13:38 ddzama Status tested => verified
2022-09-25 13:38 ddzama Resolution open => fixed
2022-09-25 13:38 smoskvin Changeset attached => occt-products master f1708bcb
2022-09-25 13:40 git Note Added: 0111255
2022-09-25 13:40 git Note Added: 0111256
2022-09-25 13:40 git Note Added: 0111257
2022-09-25 21:48 msv Relationship added parent of 0033147
2022-09-26 17:29 git Note Added: 0111270
2022-09-27 12:50 git Note Added: 0111276
2022-09-28 13:52 git Note Added: 0111290
2022-09-28 18:01 git Note Added: 0111300
2022-10-03 10:32 ddzama Relationship added related to 0033152