This is the mail archive of the ecos-discuss@sourceware.cygnus.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]

Re: Anon cvs problem.


Bart Veer <bartv@redhat.com> writes:

> >>>>> "Sergei" == Sergei Organov <osv@javad.ru> writes:
>
>     Sergei> I've re-build the 'ecosconfig' from anon cvs and now it
>     Sergei> works fine for me. Maybe it is interesting for you to know
>     Sergei> that my Linux installation is Debian 2.2, and I had
>     Sergei> trouble running 'configure' because Tcl installation
>     Sergei> directories are '/usr/lib/tcl8.2' and
>     Sergei> '/usr/include/tcl8.2'. It seems that there is no way to
>     Sergei> specify this combination of Tcl include and library
>     Sergei> directories with current 'configure' scripts. I just
>     Sergei> edited the 'configure' scripts to make it work. Apparently
>     Sergei> that's because RH Linux has different directory structure.
>
>     Sergei> Surprisingly that was the only problem building eCos host
>     Sergei> tools on unsupported platform :-)
>
> Interesting, I have not seen that directory organization before.
>
> In the case of the library files and the tclsh and wish executables,
> what normally happens in Tcl releases is that e.g. libtcl.a gets
> installed as libtcl8.2.a, and there is a symbolic link from libtcl.a
> to the most recent installed version. That allows multiple releases of
> Tcl to co-exist, useful for developers, yet by default you always get
> the most recent version. The configure script has a --with-tcl-version
> option to support this.
>
> I do not know why the Debian folks have deviated from this scheme.

I believe they didn't. I think my description was somewhat misleading. The
directories /usr/lib/tclVER don't contain libraries, they contain things like
'tclConfig.sh', etc. for corresponding version VER. The libraries themselves
are installed the way you describe. 

The /usr/include/tclVER directories contain headers for corresponding
VER.

For me the layout seems to be natural. Where does RH put include files and
scripts for different Tcl versions? Looking at the 'configure', it seems that
on RH there are (symbolic) links from /usr/include/tcl.h to some place, as
well as from /usr/lib/tclConfig.sh. If so, then 'configure' may end-up running 
tclConfig (and finding tcl.h) for Tcl version different than one specified by
the --with-tcl-version. Isn't it?

The configure scripts search for 'tcl.h' in the ${with_tcl}/include
directory, and for 'tclConfig.sh' in the ${with_tcl}/lib directory. On Debian
they are in the ${with_tcl}/include/tcl${cyg_ac_tcl_version} and
${with_tcl}/lib/tcl${cyg_ac_tcl_version} directories, respectively. That's the
problem, not location of the libraries.

Thus, to make it work, I've changed

cyg_ac_tcl_incdir=${with_tcl}/include
cyg_ac_tcl_libdir=${with_tcl}/lib

to

cyg_ac_tcl_incdir=${with_tcl}/include/tcl${cyg_ac_tcl_version}
cyg_ac_tcl_libdir=${with_tcl}/lib/tcl${cyg_ac_tcl_version}

It's interesting if changed 'configure' scripts will work on RH Linux?


Sergei.


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