• Where should I be asking questions for this kind of stuff? Some orgs have an IRC room or something similar that serves as triage. Should be something you don't need to get permission to post on. And some of the questions can be a bit embarrassing for a long lived forum post like this.
No IRC because nobody wants to deal with a constant flow of
interruptions. (Well maybe somebody does, but I don't.)
This or the users list is the right place, happy to help out as much as possible... in the context of the large pile of questions that we've all asked I don't think you could come up with anything all that embarrassing.
Generally - how should I check out the various repos?
git clone the develop branch
The developer process wiki explains our whole process. It's
on stan-dev/stan. This is the stuff we're talking about
Can I just clone one that clones the others as submodules?
Clone the one you are working on. If your really good with git submodules you might get away with cloning just CmdStan and then correctly handling submodules if you're working with, e.g., stan-dev/math, but that's making it more complicated than it needs to be.
I start with cmdstan, then from cmdstan you can run:
which will pull out the stan submodule. Then cd into
stan and run
which will pull in the math lib.
Then don't change those and don't commit new submodule links
directly---we handle those updates through automatically generated
pull requests from the continuous integration system when an
upstream module changes.
Where do compiler or IDE settings live for each?
There's a make subdirectory for compiler-related stuff, any IDE-related stuff ends up in a separate repo (?)
We just have makefiles. There's no IDE stuff?
There's also no compiler-related stuff built into Stan. We
just use the system call or you can create a make.local to
override. We tend to use clang++ on the Mac from Xcode
with O=0 for optimization level 0 during builds and testing.
Maybe someone casually posting their emacs config would be useful as a starter.
Sorry, I use vim... :)
Mine's out of date because I hate installing software.
Everything other than how to configure stan-mode is in
our Developer Tricks wiki.
• Build process - how do I know I've entered a known-good build state, so that I can then make changes on top of that?
Develop is always in a good build state.
We try. You can run the unit tests to make sure.