gettext/libiconv and libtool problem

2010-03-12 Thread Roger While

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



gettext/libiconv and libtool problem

2010-03-11 Thread Roger While


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'

It looks to me as though libiconv2 should be supplying libiconv.la
as the gettext libintl.la has these lines -

# Libraries that this one depends upon.
dependency_libs=' -L/usr/lib /usr/lib/libiconv.la'

In fact I wonder whether or not gettext should require libiconv
instead of/as well as libiconv2.

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