View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002002 | Slicer4 | Core: Building (CMake, Superbuild) | public | 2012-05-08 15:29 | 2014-03-06 05:17 |
Reporter | jcfr | Assigned To | Lchauvin | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | |||||
Target Version | Slicer 4.3.0 | Fixed in Version | Slicer 4.3.0 | ||
Summary | 0002002: Support for VS2010 | ||||
Description | From Laurent Chauvin - May 8 2012: I tried to compile Slicer4 with VS2010 today. Apply Isaiah's patch, and JC's patch to Isaiah's patch (to change name of python_make_step_pythonrun to python_make_step), and disabling DICOM2FullBrainTractography and TractographyFiducialSeeding modules (paths were too long for some files). I also disabled NUMPY, creating some issues. But Slicer4 finally compiled. However, when I want to start it, it crashes. I enclosed a screenshot of the terminal when starting with verbose mode. I looked at dependencies too, and some dll's were missing (gpsvc.dll, ieshims.dll and msvcp90d.dll, but it seems they were not really important. However, I still copied them in Slicer directory to solve these dependencies). I don't know if there a way to get more informations about why it's crashing (like a log or something else). Thank you. | ||||
Tags | No tags attached. | ||||
I finally succeed to compiled Slicer4 on Windows 7 with VS2010. Here is the process I followed:
set(python_SOURCE_DIR ${python_build}) set(python_SOURCE_DIR ${python_build})
|
|
If Python-2.6.6.tgz is downloaded instead of Python-2.6.6-vc2010.tgz, stop compilation and check the Slicer4-Superbuild/CMakeFiles/CMakeCXXPlateform.cmake file, and if you see this line: SET(MSVC_VERSION ), change it for SET(MSVC_VERSION 1600) and restart compiling. |
|
In the tutorial to compile Qt, at step 11, replace option -no-webkit by -webkit |
|
About the issue 0002121, yes I installed everything and compilation works perfectly for other packages, except Python, which has a wrong LIBPATH path in the linker. |
|
1) Could you update the wiki ? 2) Do these instructions apply for 32 or 64 bit or both ? |
|
1) I could update the wiki, but my method is not the best one. It's pretty dirty (copying kernel32.lib etc.. in the python directory). 2) These instructions seems to only apply to 64 bits, I didn't get these issue for 32 bits if I remember. |
|
Actually, I used modifications I made to compile with VS2010 on 32 bits (ie first note 0004371, or wiki). I also had to compile qt 4.7.4 on 64 bits, using 64 bits terminal of WindowsSDK, because not available directly from VS2010 (as I read in some tutorials. Maybe only Professional version). If it works, I can update wiki for 64 bits, but that would be great to have a fix for Python LIBPATH issue, my method is the "dirty way". |
|
Good point. 1) My comment regarding to the wiki update referred to using the flag "-webkit" instead of "-no-webkit". See http://www.slicer.org/slicerWiki/index.php/Documentation/4.1/Developers/Build_Instructions/Prerequisites/Qt#Windows_4 2) Compiling Qt on VS2010 works out of the box and has to be done using the VisualStudio 64bit console. When you mention "using 64 bits terminal of WindowsSDK", is what you mean ? 3) Regarding the "LIBPATH" issue, could you confirm that the platform is correct when building 64 bit. You could for example had a message statement here: https://github.com/ihnorton/Slicer/blob/24ff66f98192ec39db8214f08ef2450890f489aa/SuperBuild/External_python_win.cmake#L81 |
|
1) I can update the wiki, but I didn't really follow these lines. 2) Actually I didn't found the 64 bits console in Visual Studio, so I used windows SDK console (Start -> All Programs -> WindowsSDK -> 64 Console (I forgot the name) ). I think this is the console VS2010 should use when you want a 64 bits terminal, but I couldn't directly access it from VS2010. 3) For the LIBPATH, yes, I can confirm this is the good platform. It was printed in VS2010 when compiling, when LIBPATH was trying to find libraries in amd64 directory (which was empty). If you find where it's set, you can replace it by: ${WindowsSDK}Lib\x64 |
|
The Slicer4 x64 compilation worked, on Win7 64, VS2010 Express, with Qt 4.7.4 64bits. The procedure is almost the same as I described for 32 bits, except VS2010 command prompt x64 (or Windows SDK 7.1 command prompt if VS2010 prompt not available). Check when prompt starts that 64 bits is detected. Start compilation. If Python fail because of kernel32.lib, go in Slicer4-Superbuild->python-prefix->src->python-stamp and edit extract-python.cmake. Add this line 'if(NOT EXISTS "${directory}")' before '# Prepare a space for extracting' then, copy all files from "C:/Program Files/Microsoft SDKs/Windows/v7.1/Lib/x64" and restart compilation. |
|
Laurent, |
|
It requires patches. Isaiah's patch (for python) , your patch, and it's not straight forward (some rules should be respected, like a small path, etc...). But I think by changing this minor things, it can be easier to compile (Windows compilation is rarely something easy) and it should work. The 64 bits version is a bit different, because requiring to compile Qt 64bits and Windows SDK (for 64bits compilers). But it can be done. |
|
From Laurent - June 25 2012: I also modified it because some files couldn't be found. I think these files were related to the patch. That's probably why it failed. Tomorrow (if I have time) I will try to look at Isaiah's patch, and try to make it fully compatible with current version of python, with debug or release mode of slicer. If it works, that could be good to commit these modifications, because for now it's pretty tricky to compile Slicer on VS2010, especially because of Python. That could be great to have a more straight forward process. I'm gonna have a look at it, maybe tomorrow. Thank you. |
|
Fixed by commits r21863, r21867, r21869, r21879 and r21891 For details: |
|
Closing resolved issues that have not been updated in more than 3 months |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2012-05-08 15:29 | jcfr | New Issue | |
2012-05-08 15:29 | jcfr | Status | new => assigned |
2012-05-08 15:29 | jcfr | Assigned To | => jcfr |
2012-05-08 15:30 | jcfr | Assigned To | jcfr => |
2012-05-08 15:31 | jcfr | Assigned To | => Lchauvin |
2012-05-14 07:33 | Lchauvin | Note Added: 0004371 | |
2012-05-14 07:42 | Lchauvin | Note Added: 0004372 | |
2012-05-14 07:49 | Lchauvin | Note Added: 0004374 | |
2012-05-15 11:45 | jcfr | Target Version | => Slicer 4.2.0 AHM Summer 2012 |
2012-05-25 11:08 | jcfr | Relationship added | parent of 0002121 |
2012-05-25 11:21 | Lchauvin | Note Added: 0004617 | |
2012-05-25 11:23 | jcfr | Note Added: 0004618 | |
2012-05-25 11:24 | jcfr | Note Edited: 0004618 | |
2012-05-25 11:38 | Lchauvin | Note Added: 0004619 | |
2012-05-25 12:53 | Lchauvin | Note Added: 0004621 | |
2012-05-25 13:42 | jcfr | Note Added: 0004626 | |
2012-05-25 14:48 | Lchauvin | Note Added: 0004627 | |
2012-05-29 06:00 | Lchauvin | Note Added: 0004673 | |
2012-06-01 12:36 | Lchauvin | Status | assigned => resolved |
2012-06-01 12:48 | jcfr | Note Added: 0004753 | |
2012-06-01 12:57 | Lchauvin | Note Added: 0004754 | |
2012-06-01 12:57 | Lchauvin | Status | resolved => feedback |
2012-06-01 12:57 | Lchauvin | Resolution | open => reopened |
2012-06-25 13:37 | jcfr | Note Added: 0004926 | |
2012-06-25 13:46 | jcfr | Status | feedback => assigned |
2012-08-20 10:05 | jcfr | Target Version | Slicer 4.2.0 - Feature freeze Sept 1st 2012 => Slicer 4.2.5 |
2012-08-21 09:39 | jcfr | Target Version | Slicer 4.2.5 => Slicer 4.3.0 |
2013-04-16 09:10 | jcfr | Note Added: 0008406 | |
2013-04-16 09:10 | jcfr | Status | assigned => resolved |
2013-04-16 09:10 | jcfr | Fixed in Version | => Slicer 4.3.0 |
2013-04-16 09:10 | jcfr | Resolution | reopened => fixed |
2013-04-16 09:11 | jcfr | Note Edited: 0008406 | |
2013-06-11 14:56 | jcfr | Relationship added | related to 0003158 |
2014-03-06 05:15 | jcfr | Note Added: 0011064 | |
2014-03-06 05:17 | jcfr | Status | resolved => closed |