gettext/libiconv and libtool problem

Roger While simrw@sim-basis.de
Sat Mar 13 08:23:00 GMT 2010


Charles Wilson wrote
>Roger While wrote:
> >
> > gettext has a requirement on libiconv2.
> > libiconv2 contains only the cygiconv dll and nothing else.
> >
> > OK. So we have a typical (libtooled) autoconf/automake configure which has
> > a AM_GNU_GETTEXT([external]).
> >
> > Fine, the configure proceeds and produces something like -
> >
> > checking for GNU gettext in libc... no
> > checking for iconv... no, consider installing GNU libiconv
> > checking for GNU gettext in libintl... yes
> > checking whether to use NLS... yes
> > checking where the gettext function comes from... external libintl
> > checking how to link with libintl... -lintl
> >
> > etc.
> > Also fine.
> >
> > We then do the make which blows up with -
> >
> > libtool: link: cannot find the library `/usr/lib/libiconv.la' or
> > unhandled argument
> > `/usr/lib/libiconv.la'
>
>This means that the libiconv development files are a *build-time*
>dependency of whatever you're compiling.  They are not *run-time*
>dependencies of any of the binaries in the gettext package.
>
>gettext.exe works just fine, without libiconv.la
>ditto ngettext.exe
>ditto ditto envsubst.exe
>
>The cygwin setup.hint requires: flag is used to represent *run-time*
>dependencies, not "stuff that would probably be nice to have installed
>along with package A, IF you are using package A in /this/ particular
>way, and then later run all this other stuff while compiling package C".
>
>The gettext binaries run without error.  They may, perhaps, leave traces
>in configure scripts -- such that when you run that configure script,
>and then later run make, which runs gcc, which runs ld, you may find
>that at THAT time, you'd need libiconv.la.
>
>No way is that a "run-time" requirement of the original gettext binaries.
>
>--
>Chuck

Well, that's not how I interpret the instructions for setup.hint at
http://cygwin.com/setup.html
Quote -
The requires line indicates the packages that this package relies on. If 
your package is dependent on a file provided by another package that other 
package should be included here. The requires field may be missing or empty 
if your package truly does not require any other package.
End-quote.

Note that "dependent on a file".

gettext supplies libintl.la.
That file requires libiconv.la.

Note that the configure is using the standard documented way of testing
the usability of gettext -
AM_GNU_GETTEXT([external])
and then testing the (libtool) variable LTLIBINTL for a non-empty string
(It isn't; it contains "-lintl").

It is not clear to me how one could check for this situation in configure.

Roger






--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list