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 Tom Goddard, 7 years ago

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.

comment:2 by Conrad Huang, 7 years ago

Status: assignedfeedback

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?

in reply to:  3 ; comment:3 by goddard@…, 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 Tom Goddard, 7 years ago

Resolution: fixed
Status: feedbackclosed

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!

Note: See TracTickets for help on using tickets.