View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0023447 | Open CASCADE | OCCT:Coding | public | 2012-09-26 16:55 | 2013-04-29 15:21 |
Reporter | Assigned To | bugmaster | |||
Priority | high | Severity | major | ||
Status | closed | Resolution | fixed | ||
Platform | Windows | OS | VC++ 2010 | ||
Product Version | 6.5.3 | ||||
Target Version | 6.6.0 | Fixed in Version | 6.6.0 | ||
Summary | 0023447: Sometimes devenv hangs up during compilation of OCCT by VC 2010 (32 and 64 bit). | ||||
Description | The compilation is made by attached script. It assumes the OS_TYPE variable is set to Windows-32-VC10 or Windows-64-VC10, DEPENDS variable it empty, the PRODUCTS_PROPERTIES_WINDOWS variable is set to path of OCCT 3rd party. For example: set "OCCT3RDPARTY=...\occt-3rdparty" set "TBBDIR=%OCCT3RDPARTY%\tbb30_018oss" set "TCLHOME=%OCCT3RDPARTY%\tcltk-85-%ARCH%" set "FTDIR=%OCCT3RDPARTY%\freetype-2.4.10-%VCVER%-%ARCH%" set "FTGLDIR=%OCCT3RDPARTY%\ftgl-2.1.3-%VCVER%-%ARCH%" set "GL2PSDIR=%OCCT3RDPARTY%\gl2ps-1.3.5-%VCVER%-%ARCH%" set "FREEIMAGEDIR=%OCCT3RDPARTY%\freeimage-%VCVER%-%ARCH%" | ||||
Steps To Reproduce | The problem was reproduced using Jenkins jobs, i.e. the script was executed in offline mode (the user desktop is not available). NOTE: The MSBuild error log is attached. | ||||
Tags | No tags attached. | ||||
Test case number | Not needed | ||||
2012-09-26 16:55 developer |
build.bat (5,602 bytes) |
2012-09-26 16:56 developer |
MSBuild.log (2,140 bytes) |
|
The build script contain the following strings: rem Disable parallel build of MSBuild tool for VC10 in order to avoid hang-up set "BuildInParallel=false" It was considered as a workaround, but is it not work actually. These strings may be deleted. |
|
Let's first try to reproduce the problem outside of Jenkins environment... |
|
So far I don't able to reproduce the problem using the attached script. The script has been ran on two computers about 7-9 times. First computer had a dual cores (c2d e8200); second had a four cores (i5-2310). Windows 7 SP1 Visual Studion 2010 v. 10.0.40219.1 SP1Rel MS .Net FrameWork v. 4.0.30319 SP1Rel |
|
:( |
|
Lets try to make script to build OCCT using MSBuild directly (instead of running devenv). It is desirable to run it in mutithreaded mode and save a log to file. |
2012-10-02 16:18 developer |
build_msbuild.bat (6,003 bytes) |
|
Try to compile by this attaching msbuild-script. The script (build.bat) has been modified: 1. devenv has been replaced by msbuild. 2. variable VCVARSALL_PATH has been added [SHOULD DEFINE] (vcvarsall.bat with absolute path; for example, d:\Devtools\Vstudio\VC10\VC\vcvarsall.bat) 3. BuildInParallel = true The modified script (build_msbuild.bat) is attached. |
|
I think VCVARSALL_PATH path should be defined from registry. |
2012-10-08 11:10 developer |
build_msbuild_2.bat (6,079 bytes) |
|
The script (build.bat) has been modified (version 2.0) :) Try one |
|
As far as I understand MSBuild v4.0 is a part of Visual Studio 2010. V2.0 is a part of VS 2005 and v3.5 is a part of VS 2008. The vcproj of VS 2010 contains ToolsVersion="4.0" tag, but I do not see such tags in other projects. Is it possible to use v4.0 for all OCCT projects (8.0, 9.0, 10.0 versions)? Is it necessary to use Wow6432Node sub-tree for 64 bit stations? I had problems with correct registry key for devenv on some stations. Is this solution works for Express edition of VS? |
|
MSBuild X.Y is part of .NET Framework X.Y. Not necessary to use Wow6432Node. The script works fine for x86-vc10 and x64-vc10. >Is it possible to use v4.0 for all OCCT projects (8.0, 9.0, 10.0 versions)? It's a good question :). I'll explore this issue... >Is this solution works for Express edition of VS? For MSBuild 4.0 just requires .NET Framework 4.0. I'v modified script: remove "typos". |
2012-10-08 18:04 developer |
build_msbuild_3.bat (6,038 bytes) |
|
The name of the last script is build_msbuild_3.bat |
|
The VS 2010 may be not installed on a station. Is MSBuild 4.0 exist in this case? |
|
The framework 4.0 contains one. |
|
It may be not installed. |
|
By the way, msbuild uses the Visual C++ compiler anyway. So we need some kind of studio. >Is it possible to use v4.0 for all OCCT projects (8.0, 9.0, 10.0 versions)? I'm still working on it.. Have you try to use msbuild? |
|
As far as I understand It is necessary and enough to get correct (2.0,3.5,4.0) version of MSBuild from registry depend on our parameters of script (Windows-32-VC8, ...). I am not sure if BuildInParallel parameter exists in lower MSBuild versions. |
|
>Have you try to use msbuild? No. I waiting for your compete solution. |
|
>No. I waiting for your compete solution. It's complete solution for this case. Perhaps the proposed solution won't work for you. In this case it makes not sence to use one. |
|
.. and to develop msbuild solution for all configurations.. |
|
I suggest we implement a batch script allowing to build OCCT using MSBuild in normal development environment where VS is installed (hence using relevant environment and corresponding version of the MSBuild) and OCCT is properly configured. The options should be provided to specify what configurations to build, and where to put the build log. This script can be included within WOK or OCCT sources to be available for developers, and tested to work with all supported versions on VS. All adaptations for Jenkins environment shall then be made by maintenance team. |
|
It is looks like we have some misunderstandings. We have some Windows stations. Each stations may have it own set of installed software. For example I have stations with MSBuild 2.0 and 3.5, 3.5 and 4.0. Jenkins uses the same build script for different kind of compilations. It is possible to test only VC10 part, but it will be necessary to finish the script for all types of compilers. 1. If MSBuild the solution will not work in parallel mode. It will work if BuildInParallel is false (one thread of compilation). 2. It will be possible to check different number of threads in MSBuild parameters. For example: number of processors - 1. 3. The script will not depend on full Visual Station package (devenv). It will be possible to test on Express Edition. That is why I think it is necessary to finish the script in any case. |
2012-10-19 17:13 developer |
build_msbuild_4.bat (6,930 bytes) |
|
Vladimir, I've finished the script. ( build_msbuild_4.bat ) >1. If MSBuild the solution will not work in parallel mode. >It will work if BuildInParallel is false (one thread of compilation). The solution will process in parallel mode, if BuildInParallel is true. If BuildInParallel is false - the solution will process in "single mode" (one core). >2. It will be possible to check different number of threads in MSBuild >parameters. For example: number of processors - 1. Just set the msbuild argumen: "/m:%number_of_cores%". in the script "build_msbuild_4.bat" this argument is set as "/m" (to use all cores if possible). >3. The script will not depend on full Visual Station package (devenv). >It will be possible to test on Express Edition. yup, it'll work with Express Edition p.s. waiting for new information |
|
Solution has bee implemented to OCCT Jenkins building system. |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-09-26 16:55 |
|
New Issue | |
2012-09-26 16:55 |
|
Assigned To | => abv |
2012-09-26 16:55 |
|
File Added: build.bat | |
2012-09-26 16:56 |
|
File Added: MSBuild.log | |
2012-09-26 17:05 |
|
Note Added: 0021570 | |
2012-09-28 09:07 |
|
Note Added: 0021590 | |
2012-09-28 09:07 |
|
Assigned To | abv => ibs |
2012-09-28 09:07 |
|
Status | new => assigned |
2012-10-02 09:40 |
|
Note Added: 0021610 | |
2012-10-02 09:40 |
|
Note Edited: 0021610 | |
2012-10-02 10:05 |
|
Note Edited: 0021610 | |
2012-10-02 10:07 |
|
Assigned To | ibs => vtn |
2012-10-02 10:07 |
|
Status | assigned => feedback |
2012-10-02 12:06 |
|
Assigned To | vtn => abv |
2012-10-02 12:07 |
|
Note Added: 0021615 | |
2012-10-02 12:07 |
|
Status | feedback => assigned |
2012-10-02 12:56 |
|
Assigned To | abv => ibs |
2012-10-02 13:41 |
|
Note Added: 0021619 | |
2012-10-02 16:18 |
|
File Added: build_msbuild.bat | |
2012-10-02 16:22 |
|
Note Added: 0021622 | |
2012-10-02 17:30 |
|
Assigned To | ibs => vtn |
2012-10-02 17:30 |
|
Status | assigned => feedback |
2012-10-03 17:29 |
|
Note Added: 0021646 | |
2012-10-03 17:29 |
|
Status | feedback => assigned |
2012-10-03 17:29 |
|
Assigned To | vtn => abv |
2012-10-03 17:30 |
|
Assigned To | abv => ibs |
2012-10-08 11:10 |
|
File Added: build_msbuild_2.bat | |
2012-10-08 11:11 |
|
Note Added: 0021676 | |
2012-10-08 11:14 |
|
Assigned To | ibs => vtn |
2012-10-08 11:14 |
|
Status | assigned => feedback |
2012-10-08 16:04 |
|
Note Added: 0021680 | |
2012-10-08 16:04 |
|
Status | feedback => assigned |
2012-10-08 16:04 |
|
Assigned To | vtn => ibs |
2012-10-08 16:04 |
|
Status | assigned => feedback |
2012-10-08 18:03 |
|
Note Added: 0021683 | |
2012-10-08 18:04 |
|
File Added: build_msbuild_3.bat | |
2012-10-08 18:06 |
|
Note Added: 0021684 | |
2012-10-08 18:09 |
|
Note Added: 0021685 | |
2012-10-08 18:09 |
|
Status | feedback => assigned |
2012-10-08 18:16 |
|
Note Added: 0021686 | |
2012-10-08 18:19 |
|
Note Added: 0021687 | |
2012-10-16 11:07 |
|
Note Added: 0021781 | |
2012-10-16 11:08 |
|
Assigned To | ibs => vtn |
2012-10-16 11:08 |
|
Status | assigned => feedback |
2012-10-16 11:32 |
|
Note Added: 0021784 | |
2012-10-16 11:32 |
|
Status | feedback => assigned |
2012-10-16 11:32 |
|
Assigned To | vtn => ibs |
2012-10-16 11:32 |
|
Status | assigned => feedback |
2012-10-16 11:34 |
|
Note Added: 0021785 | |
2012-10-16 11:34 |
|
Status | feedback => assigned |
2012-10-16 11:50 |
|
Note Added: 0021786 | |
2012-10-16 11:51 |
|
Assigned To | ibs => vtn |
2012-10-16 11:51 |
|
Status | assigned => feedback |
2012-10-16 11:54 |
|
Note Added: 0021787 | |
2012-10-16 12:10 |
|
Note Added: 0021788 | |
2012-10-16 12:10 |
|
Assigned To | vtn => ibs |
2012-10-16 12:10 |
|
Status | feedback => assigned |
2012-10-16 12:12 |
|
Note Added: 0021789 | |
2012-10-16 12:12 |
|
Status | assigned => feedback |
2012-10-19 17:13 |
|
File Added: build_msbuild_4.bat | |
2012-10-19 17:33 |
|
Note Added: 0021857 | |
2012-10-19 17:34 |
|
Note Edited: 0021857 | |
2012-10-19 17:40 |
|
Assigned To | ibs => vtn |
2012-10-23 15:08 |
|
Target Version | 6.5.4 => 6.6.0 |
2012-11-01 12:28 |
|
Assigned To | vtn => inv |
2012-11-22 10:20 | bugmaster | Assigned To | inv => bugmaster |
2012-11-22 10:20 | bugmaster | Status | feedback => tested |
2012-11-22 10:21 | bugmaster | Note Added: 0022340 | |
2012-11-22 10:21 | bugmaster | Status | tested => verified |
2012-11-22 10:21 | bugmaster | Resolution | open => fixed |
2012-12-05 11:46 | bugmaster | Test case number | => Not needed |
2013-04-23 13:37 |
|
Status | verified => closed |
2013-04-29 15:21 |
|
Fixed in Version | => 6.6.0 |
2014-01-11 11:58 |
|
Category | OCCT Release:BUILD => OCCT:Coding |