Opened 7 years ago
Closed 7 years ago
#1561 closed defect (fixed)
Bundle build system does not recompile changed C++ files
Reported by: | Tom Goddard | Owned by: | Conrad Huang |
---|---|---|---|
Priority: | moderate | Milestone: | |
Component: | Build System | Version: | |
Keywords: | Cc: | Greg Couch | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
Changing a C++ file in a bundle (such as histogram.cpp in bundles/map/_map) and then doing "make install" on the bundle does not recompile the C++ file.
Change History (4)
comment:1 by , 7 years ago
comment:2 by , 7 years ago
Status: | assigned → feedback |
---|
Odd. Using a clean build, here's what happens on clemsns, my desktop machine running MacOS 10.12.6 with Xcode 9.2:
- Rebuild ChimeraX (successfully)
- Go into
src/bundles/map
and add a syntax error to _map/boxcut.cpp. "make install" tries to compile boxcut.cpp but fails with a compilation error. - Remove the syntax error. "make install" succeeds after recompiling all cpp files, not just boxcut.cpp.
- Rerun "make install" with no more changes and it does not recompile anything.
On my desktop Windows machine, changing a file causes the single source file to be recompiled.
The code controlling the compilation process comes from numpy
. The version on both my machines is 1.15.2. Can you check which version you have on your machine?
follow-up: 3 comment:3 by , 7 years ago
The Mac laptop I observed the problem on is at home. Will need to check numpy version when I am home. On my office iMac I have numpy 1.15.2 in my ChimeraX install and changes to boxcut.cpp do get recompiled the same as you observe. Quite possibly the home mac laptop is using an older numpy in ChimeraX.
comment:4 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | feedback → closed |
Machine this bug occurred on had numpy 1.14.3 in ChimeraX. Updating to numpy 1.15.2 made the "make install" recompile when _map C++ file changed. Why this depends on numpy, I think I don't want to know!
This continues to burn me, editing C++ code in bundles/map/_map, doing make install, and then wasting a lot of time figuring out why my changes did not work, only to find out they were never compiled.