This is the mail archive of the ecos-maintainers@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

FAQ suggestions


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]