Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <3BDF0B03.46EBAEE4@ece.gatech.edu> Date: Tue, 30 Oct 2001 15:18:11 -0500 From: Charles Wilson X-Mailer: Mozilla 4.7 [en] (X11; I; SunOS 5.8 sun4u) X-Accept-Language: en MIME-Version: 1.0 To: meier AT ieh DOT etec DOT uni-karlsruhe DOT de CC: Cygwin Subject: Re: _imp__gettext undefined when linking recode, configure References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-milter (http://amavis.org/) Here's the problem: for whatever reason, --with-included-gettext means "link explicitly to a custom built gettext library, but just use the normal -I path when #including header files." This means you get the system headers (which declare __declspec(dllimport) gettext_symbols ---> "__imp_gettext_symbol") but link to the custom library which only provides "__gettext_symbol". --without-included-gettext means you get the system headers AND the system library, which works. IMO, this is a bug in the autoconfiguration of recode (and in dozens of other packages). It's on my todo list to convert the cygwin gettext package into a new-style, auto-import DLL, which will make the system headers identical to the "normal" headers, and alleviate this problem. for now, just use --without-included-gettext. --Chuck Frank Meier wrote: > > # checking news for gettext and recode first > # checking news for cygwin then > > Dear Cygwin-Developers, > > yersterday, I made/installed recode 3.5 and 3.6. The only > problem was gettext. With > > ./configure > > the message > > /tmp/recode-3.6/src/main.c:464: undefined reference to `_imp__gettext' > > appeared several times. Adding '--with-included-gettext' when calling > configure does not change anything. Excluding getext at all by > > ./configure --without-included-gettext > > removes the messages and 'make; make test' is passed. Configure reports > > checking for gettext... (cached) no > checking for gettext in -lintl... (cached) yes > checking whether the included gettext is preferred... yes > > if called with '--with-included-gettext' or without and > > checking for gettext... (cached) no > checking for gettext in -lintl... (cached) yes > checking whether the included gettext is preferred... no > > with '--without-included-gettext'. So, configure detects the installed gettext > package correctly. > > config.h contains > > #define HAVE_DCGETTEXT 1 > #define HAVE_GETTEXT 1 > #define HAVE_DCGETTEXT 1 > #define ENABLE_NLS 1 > > if configure is called with '--with-included-gettext' or without and > > #define HAVE_DCGETTEXT 1 > /* #undef HAVE_GETTEXT */ > #define HAVE_DCGETTEXT 1 > /* #undef HAVE_GETTEXT */ > #define HAVE_GETTEXT 1 > #define ENABLE_NLS 1 > > with '--without-included-gettext'. > > Using NLS not at all by '--disable-nls' is possible as well, of course. > > So _imp__gettext is not found if the gettext of recode is used and using > gettext of recode is default. Does this make sense? If gettext is provide > in the installation of the OS it should have priority over a local gettext > by default, I thing? -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/