View Issue Details

IDProjectCategoryView StatusLast Update
0004131Slicer4Core: Base Codepublic2017-06-10 08:51
Reporterjcfr Assigned Tojcfr  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version 
Target VersionFixed in VersionSlicer 4.6.0 
Summary0004131: SlicerDMRI: Fix windows build because of Slicer too long path
Description

Thanks to Stephen Aylward for his report.

Most likely introduced by r24855 (ENH: Add SlicerDMRI remote module)
See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=24855

Associated build error:

<pre>
Error 118 error MSB3491: Could not write lines to file
"vtkSlicerTractographyDisplayModuleLogicPythonD.dir\Release\vtkSlice.BA3E23EB.tlog\vtkSlicerTractographyDisplayModuleLogicPythonD.lastbuildstate".
The specified path, file name, or both are too long. The fully
qualified file name must be less than 260 characters, and the
directory name must be less than 248 characters.
[C:\Users\aylward\src\Slicer-Release\Slicer-build\Modules\Remote\SlicerDMRI\Modules\Loadable\TractographyDisplay\Logic\vtkSlicerTractographyDisplayModuleLogicPythonD.vcxproj]
C:\Program Files
(x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets 308
</pre>

TagsNo tags attached.

Activities

jcfr

jcfr

2016-01-22 22:41

administrator   ~0013739

Running the script "list_longest_paths.py" confirm which files are causing problems:

$ /c/D/N/Slicer-1-build/python-install/bin/python.exe list-longest-paths/list_longest_paths.py -l 248 -v /c/D/N/Slicer-1-build
[256] c:/D/N/Slicer-1-build\Slicer-build\Modules\Remote\SlicerDMRI\Modules\Loadable\TractographyDisplay\MRMLDM\vtkSlicerTractographyDisplayModuleMRMLDisplayable
Manager.dir\Release\vtkSlicerTractographyDisplayModuleMRMLDisplayableManager.dll.intermediate.manifest
[250] c:/D/N/Slicer-1-build\Slicer-build\Modules\Remote\SlicerDMRI\Modules\Loadable\TractographyDisplay\MRMLDM\vtkSlicerTractographyDisplayModuleMRMLDisplayable
ManagerPython.dir\Release\vtkSlicerTractographyDisplayModuleMRMLDisplayableManagerPythonInit.obj
[255] c:/D/N/Slicer-1-build\Slicer-build\Modules\Remote\SlicerDMRI\Modules\Loadable\TractographyDisplay\MRMLDM\vtkSlicerTractographyDisplayModuleMRMLDisplayable
ManagerPythonD.dir\Release\vtkSlicerTractographyDisplayModuleMRMLDisplayableManagerPythonInitImpl.obj
[254] c:/D/N/Slicer-1-build\Slicer-build\Modules\Remote\SlicerDMRI\Modules\Loadable\TractographyInteractiveSeeding\Logic\vtkSlicerTractographyInteractiveSeeding
ModuleLogic.dir\Release\vtkSlicerTractographyInteractiveSeedingModuleLogic.dll.intermediate.manifest
[248] c:/D/N/Slicer-1-build\Slicer-build\Modules\Remote\SlicerDMRI\Modules\Loadable\TractographyInteractiveSeeding\Logic\vtkSlicerTractographyInteractiveSeeding
ModuleLogicPython.dir\Release\vtkSlicerTractographyInteractiveSeedingModuleLogicPythonInit.obj
[253] c:/D/N/Slicer-1-build\Slicer-build\Modules\Remote\SlicerDMRI\Modules\Loadable\TractographyInteractiveSeeding\Logic\vtkSlicerTractographyInteractiveSeeding
ModuleLogicPythonD.dir\Release\vtkSlicerTractographyInteractiveSeedingModuleLogicPythonInitImpl.obj
[258] c:/D/N/Slicer-1-build\Slicer-build\Modules\Remote\SlicerDMRI\Modules\Loadable\TractographyInteractiveSeeding\Testing\qSlicerTractographyInteractiveSeeding
ModuleCxxTests.dir\Release\qSlicerTractographyInteractiveSeedingModuleCxxTests.exe.intermediate.manifest

Analysis summary
Found 7 files having length >= 248 by recursively traversing directory [c:/D/N/Slicer-1-build]
Number of checked paths is 106449

Script downloaded from https://github.com/jcfr/list-longest-paths

jcfr

jcfr

2016-01-23 03:45

administrator   ~0013740

Fixed in r24888
See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;revision=24888

jcfr

jcfr

2016-01-23 03:45

administrator   ~0013741

Notes for developers:

To avoid doing a clean build and ensure incremental build
are successful, developers should update file:

C:\path\to\Slicer-Release\Slicer-build\CMakeCache.txt

and remove variables of the form

"... :INTERNAL= ... Modules\Remote\SlicerDMRI ...".

Related Changesets

Import 2017-06-07 23:51:09: master 51c746b7

2016-01-23 03:44:30

jcfr

Details Diff
COMP: Fix windows packaging. Fixes 0004131

This commit addresses regression introduced in r24855 (ENH: Add SlicerDMRI
remote module) where the build folder became too long.

This commit introduces the concept of "REMOTE_EXTENSION" allowing to
add source directory to an extension containing multiple modules. Since
the build directory associated with remote extensions is 13 characters
shorter, it should address the windows packaging problem.

Here is an example of path before and after this change:

C:\path\to\Slicer-Release\Slicer-build\Modules\Remote\SlicerDMRI\Modules\Loadable\TractographyDisplay
C:\path\to\Slicer-Release\Slicer-build\E\SlicerDMRI\Modules\Loadable\TractographyDisplay


Notes:

To avoid doing a clean build and ensure incremental build
are successful, developers should update file:

C:\path\to\Slicer-Release\Slicer-build\CMakeCache.txt

and remove variables of the form

"... :INTERNAL= ... Modules\Remote\SlicerDMRI ...".

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24888 3bd1e089-480b-0410-8dfb-8563597acbee
mod - CMakeLists.txt Diff File
mod - SuperBuild.cmake Diff File

Issue History

Date Modified Username Field Change
2016-01-19 09:59 jcfr New Issue
2016-01-19 09:59 jcfr Status new => assigned
2016-01-19 09:59 jcfr Assigned To => jcfr
2016-01-22 22:41 jcfr Note Added: 0013739
2016-01-23 03:45 jcfr Note Added: 0013740
2016-01-23 03:45 jcfr Status assigned => resolved
2016-01-23 03:45 jcfr Fixed in Version => Slicer 4.6.0
2016-01-23 03:45 jcfr Resolution open => fixed
2016-01-23 03:45 jcfr Note Added: 0013741
2016-01-26 16:29 jcfr Status resolved => closed
2017-06-10 08:51 jcfr Changeset attached => Slicer master 51c746b7