[ECOS] Compile problems when including Posix compatibility package

Bart Veer bartv@ecoscentric.com
Thu Mar 13 16:30:00 GMT 2003

>>>>> "Ian" == Ian Gilmour <ian.gilmour@ffei.co.uk> writes:

    Ian> I'm attempting to build an ECOS library and have just tried
    Ian> to add in the Posix compatibility package (target:
    Ian> powerpc/cme555 host:linux), to an existing ecos.ecc file.

    Ian> Removing the Posix compatibility package the library builds
    Ian> ok. ecosconfig checks pass without error with the package in
    Ian> or out. But when I compile with it I get the following
    Ian> errors.

    Ian> It's complaining about the missing definition of sigset_t
    Ian> amongst other things.

    Ian> Is there something else I need to do to use the Posix
    Ian> compatibility package?

    Ian> Any help gratefully received.

The usual way to include POSIX compatibility into your configuration
is to start with the posix template, rather than just add the posix
compatibility package to an existing configuration. What seems to
happen here is that your initial configuration includes
CYGPKG_LIBC_SIGNALS, a minimal implementation needed for ISO C
compatibility. The posix package provides a full implementation of
signal handling, conditional on CYGPKG_POSIX_SIGNALS. When you add the
posix package the configuration system detects that there is already
an implementation of signal handling, so to avoid conflicts
CYGPKG_POSIX_SIGNALS is disabled. Unfortunately the export.h header
is missing a #ifdef for CYGPKG_POSIX_SIGNALS so you get a build

Chances are that you will want CYGPKG_POSIX_SIGNALS rather than
CYGPKG_LIBC_SIGNALS, so you need to enable that explicitly and help
the inference engine resolve the conflict. It is up to the user to
make this choice, the tools can only do so much. Alternatively, if you
remove CYGPKG_LIBC_SIGNALS before adding the posix package then
everything should just work.


Bart Veer                       eCos Configuration Architect
http://www.ecoscentric.com/     The eCos and RedBoot experts

Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

More information about the Ecos-discuss mailing list