Build on Mac very slow due to running fc-list

XMLWordPrintable

Details

• Type: Story
• Status: Done
• Resolution: Done
• Fix Version/s: None
• Component/s:
• Labels:
None
• Story Points:
0.5
• Team:
Architecture
• Urgent?:
No

Description

Builds on MacOS 10.11 have been painfully slow (for instance 23 minutes to build afw instead of the more typical 12 minutes, 30 minutes to rebuild ip_diffim, 20 minutes to rebuild meas_astrom) and much of this time is spent running fc-list in 8 cores.

I suspect matplotlib is triggering this process, but I have not verified it.

I see this using lsstsw to build a fresh stack and with manual builds.

A workaround is to repeatedly kill fc-list, e.g. with this bash script:

 while sleep 1; do pkill fc-list; done 

I checked my fonts with Apple's Font Book and found a few dozen with "minor errors" that I deleted, but nothing serious. I'm still seeing the problem.

Activity

Hide
Tim Jenness added a comment -

I know. I'm actually on 1.5.3. The point is the work to raise the eups package min version and remove the TRAVIS=1.

Show
Tim Jenness added a comment - I know. I'm actually on 1.5.3. The point is the work to raise the eups package min version and remove the TRAVIS=1.
Hide
Tim Jenness added a comment -

I have just checked, and the TRAVIS hack is still in v1.5.3 so we can not close this ticket until matplotlib hits v2.x.

Show
Tim Jenness added a comment - I have just checked, and the TRAVIS hack is still in v1.5.3 so we can not close this ticket until matplotlib hits v2.x.
Hide
Tim Jenness added a comment -

matplotlib v2.0 is now available with conda.

Show
Tim Jenness added a comment - matplotlib v2.0 is now available with conda.
Hide
Tim Jenness added a comment -

Kian-Tat Lim I've removed the TRAVIS environment variable. matplotlib no longer uses it so it being there has had no effect since we updated to matplotlib 2. I see that other packages do look at that variable (but no LSST packages) so in theory we could simply decide to keep setting the TRAVIS environment variable and close this ticket without further action.

Show
Tim Jenness added a comment - Kian-Tat Lim I've removed the TRAVIS environment variable. matplotlib no longer uses it so it being there has had no effect since we updated to matplotlib 2. I see that other packages do look at that variable (but no LSST packages) so in theory we could simply decide to keep setting the TRAVIS environment variable and close this ticket without further action.
Hide
Kian-Tat Lim added a comment -

It seems appropriate to remove this workaround. Third-party packages that test for TRAVIS are presumably looking for that specific environment; we need not incorrectly tell them they are there (and this workaround did not affect them, as it is inside sconsUtils, which they don't use).

Show
Kian-Tat Lim added a comment - It seems appropriate to remove this workaround. Third-party packages that test for TRAVIS are presumably looking for that specific environment; we need not incorrectly tell them they are there (and this workaround did not affect them, as it is inside sconsUtils, which they don't use).

People

• Assignee:
Tim Jenness
Reporter:
Russell Owen
Reviewers:
Kian-Tat Lim
Watchers:
Frossie Economou, John Parejko, Kian-Tat Lim, Michael Wood-Vasey, Russell Owen, Tim Jenness