-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Commit
- Loading branch information
There are no files selected for viewing
12 comments
on commit e85a1a5
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great, assuming it works – does it seem to? Also, do you have a reference for the %
business?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, i proved that this works.
it's in the manual: http:https://www.gnu.org/software/make/manual/make.html#Pattern-Intro
If a pattern rule has multiple targets, make knows that the rule’s recipe is responsible for making all of the targets. The recipe is executed only once to make all the targets.
however, i would have read that sentence a hundred times without picking up on its significance without the SO mention: http:https://stackoverflow.com/a/3077254/1712368
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are getting a lot of new appveyor timeouts since yesterday during compilation of C code which didn't usually happen before, there's a chance this change is confusing the old msys1 make that we use on appveyor.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's see whether d2c1841 helps at all there, might be a slightly newer less freeze-prone version of make than what I was using
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah yes. Using msys1 make in parallel is known to result in corrupt, partial, and/or hung builds. (This used to be mentioned in the windows readme, but probably got removed when we stopped recommending msys1 at all)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I remember, I ran into that plenty of times on projects before Julia. Little surprising that we haven't hit it on AppVeyor yet though, few if any of the timeouts before these makefile changes were ever during make.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Come to think of it I have occasionally seen make.exe
segfaulting on AppVeyor, but it was pretty rare.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think I've seen a crash. Lots of hangs, and occasionally, binaries generated that crash or fail tests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think I've seen a crash.
Like I said, make.exe crashing is rare.
Lots of hangs
Which almost always occur either during sysimg bootstrap or while running the first test. Never during compilation of C code until these makefile changes. The different version of make looks okay so far.
binaries generated that crash or fail tests
Which also happens locally. Not unique to appveyor. 0.4 is just buggy still.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change made much better use of make's parallelism. Previously, we were still forcing a bit more to happen in serial
Yes 0.4 still has bugs. But I seemed to find that parallel msys1 make would also manage to create bugs in functional code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, if you were referring to MSYS1 make in general and not AppVeyor builds specifically, then nevermind.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still freezing with a different version of make. https://ci.appveyor.com/project/StefanKarpinski/julia/build/1.0.2592/job/gr0ek33vo3yc41fw
We'll have to disable parallel make on AppVeyor because of this. Cygwin or MSYS2 make could be used but need to be downloaded and cached.
OMG, comments!! Thank you for doing this. Arguably we needed this even back when it was just me and Viral working on this file :-P