This is the mail archive of the cygwin mailing list for the Cygwin 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]

gettext/libiconv and libtool problem


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


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