public inbox for ecos-maintainers@sourceware.org
 help / color / mirror / Atom feed
From: Ross Younger <ross@impropriety.org.uk>
To: ecos-maintainers@ecos.sourceware.org
Subject: FAQ suggestions
Date: Wed, 15 Dec 2010 13:55:00 -0000	[thread overview]
Message-ID: <20101215135522.GB12170@chiark.greenend.org.uk> (raw)

Hi all, two suggestions come to mind following ecos-discuss
yesterday and today:


Q. My build fails with "undefined reference to `puts'" (or similar)

A. Usually, when your build fails due to a missing library function, the
function is present within eCos but has not been selected in your build
configuration. 

For example, building the hello world example might fail with:
.../ecos-3.0/examples/hello.c:6: undefined reference to `puts'

In this case, puts can be found in the ISO C standard I/O library
package. To successfully use it, you need to either:

* use a template which includes the required packages ("default" is a
good place to start in most cases)

or

* manually add the stdio package (and the packages it depends on) to
your existing configuration.


~~~~~~~~~~~~~~~

Q. I selected the "kernel" or "minimal" configuration to make my build
smaller, but now my application won't build.

A. Your build size is really a feature of your application, not of eCos
itself.

eCos uses a linker feature called link-time garbage collection. This
means that library functions not used by your application do not
get built into your final image. Because of this, the "kernel" and
"minimal" configurations are often unhelpful: they switch off many
library functions, often leading to requests for help from developers
surprised that their applications no longer build.

Most applications should start with the "default" template (or one of
"net", "lwip_eth" or "lwip_ppp" if networking is required). We recommend
that you first build your application and see what size of image it
gives: only then, should you start looking at tuning it (and your eCos
configuration) for size.

~~~~~~~~~~~~~~~

Cheers,


Ross

                 reply	other threads:[~2010-12-15 13:55 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101215135522.GB12170@chiark.greenend.org.uk \
    --to=ross@impropriety.org.uk \
    --cc=ecos-maintainers@ecos.sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).