- It would be nice to know whether this is tracking julia 0.5-dev, or if this
will be runnable on the 0.4 series.
Now, it's up to you. Try it out, let me know what you like, what you don't, file issues, and perhaps also send me pull requests :). I hope you enjoy!Keno
+Inf@Keno: I read through the design document, and I am wondering if you have any thoughts on the feasibility of supporting some of the extended Gallium functionality via (LLDB's support of) GDB-MI. The advantage being that many IDEs already support GDB-MI out of the box. Some customization would still be required to teach an IDE to support the extended commands, but that is a vastly smaller task than interfacing via the Julia embedding API.
Sometimes you need to manually cd to deps/llvm-svn, deps/llvm-svn/tools/clang and deps/llvm-svn/tools/lldb and do `git checkout kf/gallium`. The build rule for this is currently not robust.
-viral
be sure to `git fetch` to update the branches and such available to your local copy of git. Perhaps worthwhile to check that your `git remote show origin` is still pointed at the right remote URL.
(in deps/llvm-svn):
* remote origin
Fetch URL: http://llvm.org/git/llvm.git
Push URL: http://llvm.org/git/llvm.git
HEAD branch: master
(in deps/llvm-svn/tools/clang)
* remote origin
Fetch URL: http://llvm.org/git/clang.git
Push URL: http://llvm.org/git/clang.git
HEAD branch: master
(in deps/llvm-svn/tools/lldb)
* remote origin
Fetch URL: http://llvm.org/git/lldb.git
Push URL: http://llvm.org/git/lldb.git
HEAD branch: master
The easiest way to obtain these is to checkout the kf/gallium branch of julia, which will attempt to check out the correct branches and build everything from scratch. Note that this only works on a fresh install.
Thanks to Keno, this is great news!
+++1 for a fast 0.5, for two reasons: 1) get it over with the major breaking changes quickly, 2) that was the communicated plan for a whole long time. I think there is value in sticking to such pronouncements so that people build expectations that they can believe such pronouncements in the future.
At the very least it would be nice to have master be tracking the breaking changes very early in the cycle.
My preference is to have breaking changes in the code base very early - that could well be what we are doing. Anything breaking which isn't ready now'ish possibly shouldn't be in 0.5
Note : I come from a mentality of two week release cycles with overlapping build, test, release cycles. So in that model code in master now ( or in a short deadline from now - we had a few day open season) would be the candidate for the next release. That release is then locked down (tagged) stabilized, tested and released. 0.6 would be cooking before 0.5 even hit the road. This is predicated on the notion that people can be encouraged to move forward to new versions - I guess that's where the LTS style of overlap schedule comes in, where you lock down a periodic release as the LTS one.
Yes, the whole 0.3.x cycle was fantastic, regular small updates that never broke anything (at least for me).
I think it is worth looking back and seeing why the array stuff is nowhere near ready. My sense is that major work/discussions stopped around March/April, because there was a general agreement that this couldn’t be finished for 0.4. Of course, at that point the general expectation was that 0.4 would be released very soon (not sure whether the idea was a release before JuliaCon, or even earlier). As things stand now, my rough guess is that the whole array work was paused for about half a year?
To me that is the real cost of the loose management of the 0.4 cycle. As a user, I couldn’t care less about the long release cycle of 0.4, especially given how solid the 0.3.x stuff was. But having a 6 month time window where important work is paused because everyone expects a release in 4 weeks, but then a constant stream of new stuff is allowed into master (like the whole doc conversion) that pushes things back. The net effect of that is that a 1.0 will happen later than needed, because important features like the array stuff are on hold for such a long time.
The root problem seems to be that one group of devs apparently stopped the array work in March/April because they thought the project was close to a release, and another group of devs (e.g. the doc people) operated on a very different schedule assumption.
I don’t think anyone is to blame for this, certainly not the devs who did all the fantastic work on the two features I mentioned. But I do think it would help the project enormously if there was a release manager who communicates schedules, sets rules for when stuff can go into master and when it can’t and who especially manages the last couple of weeks of a release in a somewhat unpopular way (“no, this can’t go in” being the main message this person should type a lot). I think only someone from the core group could do that because this is a) a really tough job and b) it needs to be someone who has earned the respect of all the core people.
Cheers,
David
From: juli...@googlegroups.com [mailto:juli...@googlegroups.com] On Behalf Of Stefan Karpinski
Sent: Monday, September 14, 2015 12:59 PM
To: juli...@googlegroups.com
Subject: Re: [julia-dev] Code Release: Gallium.jl - The julia debugger
On Mon, Sep 14, 2015 at 3:51 PM, Michael Francis <mdcfr...@gmail.com> wrote:
Probably 2 weeks here doesn't make sense, that was more for context, but keeps people on their toes. The model can be extended to a longer time scale. The real point is that for a feature to be included in the next release it has to be ready much earlier. If the array stuff isn't ready for testing now'ish I'd argue that it can't be part of the next release and other major items should be pulled forward.
+1
If it was me, I would set the schedule of 0.5 based on the array work. Other major things could go in early in the cycle, but only array work would be allowed to push the 0.5 release schedule.
From: juli...@googlegroups.com [mailto:juli...@googlegroups.com] On Behalf Of Stefan Karpinski
Sent: Monday, September 14, 2015 2:18 PM
To: juli...@googlegroups.com
Subject: Re: [julia-dev] Code Release: Gallium.jl - The julia debugger
On Mon, Sep 14, 2015 at 4:21 PM, Michael Francis <mdcfr...@gmail.com> wrote:
Probably 2 weeks here doesn't make sense, that was more for context, but keeps people on their toes. The model can be extended to a longer time scale. The real point is that for a feature to be included in the next release it has to be ready much earlier. If the array stuff isn't ready for testing now'ish I'd argue that it can't be part of the next release and other major items should be pulled forward.
If it was me, I would set the schedule of 0.5 based on the array work. Other major things could go in early in the cycle, but only array work would be allowed to push the 0.5 release schedule.
llvm[6]: Compiling macosx/Host.mm for Release+Asserts build
In file included from /Volumes/Julia/julia/deps/llvm-svn/tools/lldb/source/Host/macosx/Host.mm:61:
In file included from /Volumes/Julia/julia/deps/llvm-svn/tools/lldb/source/Host/macosx/cfcpp/CFCBundle.h:13:
/Volumes/Julia/julia/deps/llvm-svn/tools/lldb/source/Host/macosx/cfcpp/CFCReleaser.h:13:10: fatal error:
'CoreFoundation/CoreFoundation.h' file not found
#include <CoreFoundation/CoreFoundation.h>
^
1 error generated.
There is a CoreFoundation.h, it is at:
./Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers/CoreFoundation.h