This is the mail archive of the ecos-discuss@sources.redhat.com 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]

How to build the host tools for eCos in cygwin?


I followed the directions given at
http://sources.redhat.com/ecos/tools/win-i386-elf.html to build the i386-elf
cross compiler in a cygwin environment.  I built binutils, gcc (with the
patch applied) and insight (with the patch applied).

I built the tools with --prefix=/usr/local/ecos/tools
and --exec-prefix=/usr/local/ecos/tools/H-i686-pc-cygwin

Now, I want to build the eCos host tools, so I read the README file in the
host subdirectory of a very recent (this morning) cvs snapshot, and I tried:

../../ecos/host/configure  --prefix=/usr/local/ecos/tools --exec-prefix=/usr
/local/ecos/tools/H-i686-pc-cygwin

With this configure line, the make fails when trying to link ecosconfig.exe
because it cannot find -ltcl.

So I went back and read the README file again and decided that I needed to
specify version 80 of tcl.  So I tried:

../../ecos/host/configure  --prefix=/usr/local/ecos/tools --exec-prefix=/usr
/local/ecos/tools/H-i686-pc-cygwin --with-tcl-version=80

This time the make succeeded, but when I try to run "ecosconfig list", I
receive complaints that every single package in the database is missing
version subdirectories:

ecos.db, package CYGPKG_HAL: warning
    This package does not have any valid version subdirectories.
ecos.db, package CYGPKG_INFRA: warning
    This package does not have any valid version subdirectories.
ecos.db, package CYGPKG_IO: warning
    This package does not have any valid version subdirectories.
ecos.db, package CYGPKG_IO_SERIAL: warning
    This package does not have any valid version subdirectories.
...

I eventually tracked this down to some incompatibility between the version
of tcl that was installed with insight and the version that was installed
with cygwin.  When I delete all of the tcl .exe and .dll files that are in
my H-i686-pc-cygwin/bin directory, ecosconfig works fine.  (BTW, my
H-i686-pc-cygwin/bin directory is in my path _BEFORE_ /usr/bin, which is
where the cygwin versions of the .exe and .dll files live).

OK, back to the README, reread the stuff about --with-tcl-header
and --with-tcl-lib, assume that ecosconfig was being built against one
library, but run against a different, assume that this makes sense somehow,
and try again:

../../ecos/host/configure  --prefix=/usr/local/ecos/tools --exec-prefix=/usr
/local/ecos/tools/H-i686-pc-cygwin --with-tcl-header=/usr/local/ecos/tools -
-with-tcl-lib=/usr/local/ecos/tools/H-i686-pc-cygwin --with-tcl-version=80

Once again, the make works, but ecosconfig complais about not finding any
valid version subdirectories.

I refuse to believe that something is this broken in the eCos distribution.
It must be something I am doing wrong, but I don't know what to do from
here, short of deleting the tcl files that were installed by insight, or
changing the order of directories in my PATH.

Can everybody who has built the tool chain (binutils, gcc, insight) and the
host tools under cygwin please mail me the steps you took.  Please...

I will summarize the responses I get if you don't Cc the list.  (Actually,
I'll probably summarize the responses even if you do Cc the list :-)

What am I doing wrong here?

--wpd


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