View Issue Details

IDProjectCategoryView StatusLast Update
0003757Slicer4Core: Building (CMake, Superbuild)public2017-06-10 08:51
Reporterjcfr Assigned Tojcfr  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version 
Target VersionSlicer 4.4.0Fixed in VersionSlicer 4.4.0 
Summary0003757: Ensure "easy-install.pth" is properly updated when doing parallel build
Description

This problem has originally been discovered by Andriy and reported as related to [1]

It turns out that issue 0003750 has been addressed and this is a different problem.

// ---------------------

There is an other issue. When doing parallel build, the file

easy-install.pth

is concurrently updated and not all egg references will be appended to the file.

Similar issue has been reported here:

https://bitbucket.org/tarek/distribute/issue/389/concurrent-installations-can-lose-updates

// ---------------------

[1] http://www.na-mic.org/Bug/view.php?id=3750#c12125

TagsNo tags attached.

Relationships

related to 0003750 closedjcfr ExtensionWizard does not work from MAcOSX package 

Related Changesets

Import 2017-06-07 23:51:09: master 59278def

2014-07-02 22:59:37

jcfr

Details Diff
COMP: Update python module external project to depend on setuptools

In an attempt to resolve 0003757, this commit systematically adds setuptools
as a dependency to external projects building and installing python
eggs.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23408 3bd1e089-480b-0410-8dfb-8563597acbee
mod - SuperBuild/External_NUMPY.cmake Diff File
mod - SuperBuild/External_SciPy.cmake Diff File
mod - SuperBuild/External_SimpleITK.cmake Diff File
mod - SuperBuild/External_pydicom.cmake Diff File

Import 2017-06-07 23:51:09: master 5a2cee77

2014-07-02 22:59:40

jcfr

Details Diff
COMP: Ensure that easy-install.pth is not concurrently updated. Fixes 0003757

Project that can NOT be built in parallel should set the
variable _EP_<projectName>_<lockname>_LOCK to 1.

For example, to address issue 0003757 and ensure that project
building and python module are not updating the file 'easy-install.pth'
concurrently, these project are setting the variable:

set(_EP_${proj}_SETUPTOOLS_LOCK 1)

Then, by calling the function "_ep_setup_lock", we are
sure that they won't be run in parallel.

Since "gitdb", "async" and "NUMPY" project are not updating easy-install.pth,
there is no need to "lock" them.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23409 3bd1e089-480b-0410-8dfb-8563597acbee
mod - SuperBuild.cmake Diff File
mod - SuperBuild/External_GitPython.cmake Diff File
mod - SuperBuild/External_PyGithub.cmake Diff File
mod - SuperBuild/External_SimpleITK.cmake Diff File
mod - SuperBuild/External_pydicom.cmake Diff File
mod - SuperBuild/External_python-chardet.cmake Diff File
mod - SuperBuild/External_python-smmap.cmake Diff File

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

2014-07-04 18:02:08

jcfr

Details Diff
BUG: Fix typo in PyGithub and python-smmap projects.

This commit properly sets the SETUPTOOLS lock variable introduced
in r23409 and addressing issue 0003757.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23420 3bd1e089-480b-0410-8dfb-8563597acbee
mod - SuperBuild/External_PyGithub.cmake Diff File
mod - SuperBuild/External_python-smmap.cmake Diff File

Import 2017-06-07 23:51:09: master 83dc5d5e

2014-07-04 18:02:10

jcfr

Details Diff
COMP: Prevent windows build freeze when downloading setuptools 2.2

Updates setuptools from version 1.4.2 to 5.3

This commit fixes 0003763 by ensuring a recent version of setuptools
is used by all projects. Having a recent version of setuptools in the
python path will prevent SimpleITK (and other project) from trying
to download older setuptools will avoid the possible freeze.

This commit also patches the "setup.py" provided by pydicom to avoid
downloading an old version of distribute. This is done by removing the
first 3 lines of setup.py that were using an ancient distribute_setup.py.

Finally, after some testing recent version of setuptools (5.3 in the present
case) does NOT prevent incorrect update of "easy-install.pth" in case of
concurrent installs.
The issue distribute issue 389 [1] also mentioned in Slicer issue 0003757 [2]
is still current.

[1] https://bitbucket.org/tarek/distribute/issue/389/concurrent-installations-can-lose-updates
[2] http://www.na-mic.org/Bug/view.php?id=3757

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23421 3bd1e089-480b-0410-8dfb-8563597acbee
mod - SuperBuild/External_pydicom.cmake Diff File
mod - SuperBuild/External_python-setuptools.cmake Diff File

Issue History

Date Modified Username Field Change
2014-07-02 13:36 jcfr New Issue
2014-07-02 13:36 jcfr Status new => assigned
2014-07-02 13:36 jcfr Assigned To => jcfr
2014-07-02 13:36 jcfr Target Version => Slicer 4.4.0
2014-07-02 13:37 jcfr Relationship added related to 0003750
2014-07-02 19:09 jcfr Note Added: 0012127
2014-07-02 19:09 jcfr Status assigned => resolved
2014-07-02 19:09 jcfr Fixed in Version => Slicer 4.4.0
2014-07-02 19:09 jcfr Resolution open => fixed
2014-07-04 14:11 jcfr Note Added: 0012142
2014-09-17 22:57 jcfr Status resolved => closed
2017-06-10 08:51 jcfr Changeset attached => Slicer master 83dc5d5e
2017-06-10 08:51 jcfr Changeset attached => Slicer master cc02e50f
2017-06-10 08:51 jcfr Changeset attached => Slicer master 5a2cee77
2017-06-10 08:51 jcfr Changeset attached => Slicer master 59278def