(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

Reply via email to