(The email I'm responding is from general@. I'm replying in dev@, as all my comments concern Mynewt specifically. For those who don't follow general@, in the original email, Justin voted +1 on 1.0.0-b1-rc2, but he raised a few issues that I believe warrant a closer look.)
Hi Justin, Thanks for taking a look. I want to address the three issues you raised. I reordered them slightly, as issues 1 and 3 are closely related. On Mon, Dec 05, 2016 at 11:58:58AM +1100, Justin Mclean wrote: [...] > A couple of minor things re compilation which other people may run into: > 1. It would be good to have better compile instructions especially for the > core package. > 3. A newt build all in core does nothing, but a newt test all goes off and > compiles and runs the tests. Is that expected? How do you just build core? Yes - I believe this has been a point of confusion in some earlier releases as well. I think Mynewt might be atypical this regard, and we should address this in the core README file. Specifically, core is not something that can be built directly; it is a collection of libraries and sample applications that a user's project depends on. The "newt build all" command doesn't do anything in a bare apache-mynewt-core repo because there are no targets to build. A target is the top-level Mynewt entity that actually gets built; it ties a BSP and an application together. To get started, a user should also acquire the blinky repository by using the "newt new" command. Blinky includes a sample target for running the blinky application in a simulated environment. For the next release, I think we should clarify this in the core README file. We should make it very clear to the user what they have downloaded, and indicate how to proceed. > 2. It seems that blinky expects gcc-5 in /usr/local/bin/ and I only had gcc-6 > installed and an older version of gcc in /usr/bin/gcc Hmm, this is indeed a problem. On OS X, /usr/bin/gcc is not actually gcc; it's clang. I don't recall the details, but I believe there was a time when clang was incompatible with Mynewt. "gcc-5" is the name of the gcc 5.x binary that home brew installs, so that is what newt looks for. I just tried running "newt test all" using clang, and it mostly works. There are a few warnings that get reported, but they should be easy to fix. My thought it is that we should fix the warnings and change the compiler definition such that the "gcc" binary (i.e., clang) is used in OS X. It's unfortunate that this ambiguity exists, but I think it's preferable to just use clang than to impose these gcc version headaches on the user. Thanks, Chris