View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004466 | Slicer4 | Core: Building (CMake, Superbuild) | public | 2017-10-23 13:04 | 2017-10-26 16:47 |
Reporter | lassoan | Assigned To | jcfr | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | Slicer 4.9.0 | ||||
Target Version | Slicer 4.9.0 | Fixed in Version | |||
Summary | 0004466: Repeated builds keep failing due to python-setuptools local modification | ||||
Description | Files are locally modified in python-setuptoold folder, which makes the build fail: InitializeBuildStatus: Touching "x64\Release\python-setuptools\python-s.0687CE27.tlog\unsuccessfulbuild". CustomBuild: Performing update step for 'python-setuptools' CUSTOMBUILD : error : Your local changes to the following files would be overwritten by checkout: [C:\D\S4R\python-setuptools.vcxproj] setup.cfg Please, commit your changes or stash them before you can switch branches. Aborting CMake Error at C:/D/S4R/python-setuptools-prefix/tmp/python-setuptools-gitupdate.cmake:147 (message): Failed to checkout tag: '288143264db3f9b867bc479547b44d1167abf160' Done Building Project "C:\D\S4R\python-setuptools.vcxproj" (default targets) -- FAILED. | ||||
Tags | No tags attached. | ||||
I see. I gonna implement the suggestion I proposed last week |
|
Thank you! |
|
Out of curiosity, could you share the content of the file having conflict ? |
|
setup.cfg is changed: all line endings were switched from LF to CR/LF. |
|
That is helpful. Do you have some global git settings ? If yes, what is the value of Here is what we have on the windows dashboard:
I suspect that the value is not set to See https://stackoverflow.com/questions/2825428/why-should-i-use-core-autocrlf-true-in-git#2825829 |
|
Yes, the issue is most likely caused by EOL style difference between git and setup tools, but you cannot require developers to use any particular git setting. Even just touching timestamps is undesirable (as they trigger rebuilding of some code parts), but modifying EOL is a major change of file content. The build system just should not mess with revision-controlled source directories in any way. |
|
Could you confirm that you deleted the directories If not, I suggest you deleted them and reconfigure.
For files that have to be LF independently of the platform, the approach is to setup gitattribute. For example, see [1] Generally speaking, for all the other text files, git is checking them out with the line ending matching the platform. As outline in the enclosed screenshot, git is indeed doing the right thing on the windows dashboard. The issue is that I can not reproduce the problem. It seems specific to this build machine where the global setting are most likely improperly set. If for some reason, [2] The default is to use text mode, which may convert '\n' characters to a platform-specific representation on writing and back on reading. |
|
We cannot require users to set personal preferences in certain way. Enabling core.autocrlf caused various problems for me in the past, so I would not like to enable it again. If gitattributes fixes it then it's great! I do a clean build and report back. |
|
This is most likely the default now on windows. I don't remember changing anything on this windows machine. If I recall, I accepted the recommendation when installing it bash. And it is the recommended approach when working on cross platform project: https://www.git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#__code_core_autocrlf_code
I am curious to see if removing the
If autocrlf is indeed set to false, this means that all files checkout from git will have LF and not CRLF. |
|
I can confirm that gitignore fixed the problem: build does not fail anymore due to the changed file on the latest trunk version. Thank you @jcfr! |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2017-10-23 13:04 | lassoan | New Issue | |
2017-10-23 13:04 | lassoan | Status | new => assigned |
2017-10-23 13:04 | lassoan | Assigned To | => jcfr |
2017-10-23 13:04 | lassoan | Description Updated | View Revisions |
2017-10-23 13:05 | lassoan | Description Updated | View Revisions |
2017-10-23 13:20 | jcfr | Note Added: 0015331 | |
2017-10-23 13:25 | lassoan | Note Added: 0015332 | |
2017-10-24 23:06 | jcfr | Note Added: 0015333 | |
2017-10-24 23:46 | lassoan | Note Added: 0015334 | |
2017-10-25 19:04 | jcfr | Note Added: 0015335 | |
2017-10-25 19:08 | jcfr | Note Edited: 0015335 | View Revisions |
2017-10-25 19:12 | jcfr | Note Edited: 0015335 | View Revisions |
2017-10-25 19:12 | jcfr | Note Edited: 0015335 | View Revisions |
2017-10-25 20:49 | lassoan | Note Added: 0015336 | |
2017-10-25 21:14 | jcfr | File Added: setup-cfg-diff.png | |
2017-10-25 21:14 | jcfr | File Added: setup-cfg-overload.png | |
2017-10-25 21:14 | jcfr | Note Added: 0015337 | |
2017-10-25 22:03 | lassoan | Note Added: 0015338 | |
2017-10-25 23:47 | jcfr | Note Added: 0015339 | |
2017-10-26 16:45 | lassoan | Status | assigned => closed |
2017-10-26 16:45 | lassoan | Resolution | open => fixed |
2017-10-26 16:45 | lassoan | Note Added: 0015357 | |
2017-10-26 16:47 | lassoan | Note Edited: 0015357 | View Revisions |