Re: need more help compiling from CVS



Le lun, jui 30, 2001, à 08:42:07 -0700, Andrew S . Halper a écrit:

These are all the libintl.h includes in the preprocessor output:

[ashalper rocket app]$ grep libintl preferences.i
# 1 "../intl/libintl.h" 1
# 33 "../intl/libintl.h"
# 34 "../intl/libintl.h" 2
# 37 "../intl/libintl.h" 2
# 72 "../intl/libintl.h"
# 94 "../intl/libintl.h"
# 141 "../intl/libintl.h"

So it wants to use your internal gettext's libintl.h ; do you have an
/usr/include/libintl.h ? This is curious, because it contradicts the results
of the --with(out)-included-gettext experiment below.

On my system, /usr/include/libintl.h is provided by libc6' devel package. Is
there some kind of libnsl-dev package ?

[ashalper rocket ~/dia]$ egrep "ENABLE_NLS|GNOME|HAVE_DCGETTEXT|HAVE_GETTEXT"
config.h

OK. 

In your top-level (generated) Makefile and in app/Makefile, what is the value
of INTLOBJS ?

In both Makefiles, INTLOBJS does not have a value:

[snip] OK. I forgot to ask also, what's the value of INTLLIBS in these
makefiles ? (sorry, 

Couldn't get the patch to go.  I'm probably running it wrong.  Is it just "patch
-p0 < patchfile" in the top-level directory or am I missing something?  Anyway I
applied it the low-tech way, and it looks like the same result:

Might have been better doing it in app/ using -p1 ? Oh, well, it was trivial
enough.

preferences.o: In function `prefs_save':
/home/ashalper/dia/app/preferences.c:282: undefined reference to `dcgettext__'

IOW, no result. Which is not that surprising, since $INTLOBJS was empty
anyway (and I guess $INTLLIBS was too).

What result gives configuring with --with-included-gettext and
--without-included-gettext ?

--with-included-gettext:

make[2]: Entering directory `/home/ashalper/dia/intl'
make[2]: *** No rule to make target `libintl  l@a', needed by `all-yes'.  Stop.

This baffles me ; it looks like an escaping error in the makefile (this is a
different problem from the dcgettext__ one). What version of libtool do you
have ?

--without-included-gettext:
Same `dcgettext__' linker error as above.

Hmmm. Here's my guess: when you run ./configure, it detects that your
glibc is recent and provides a good enough gettext(= and dcgettext(). So it
basically selects the --without-included-gettext case. However, for a reason or
another, instead of using the system's libintl.h, it uses the
included-gettext one (which deliberately mismatches the glibc-provided one).
Then, back at the linker step, it links in the system gettext, not the
included one. 

If you do have /usr/include/libintl.h, try to replace ./intl/libintl.h with
a symlink to /usr/include/libintl.h ; if you don't, please find and install
the package which installs it (I hope either situation applies and works ;
if that's the case we're /definitely/ going to have to document the fix
and/or teach configure to look for that situation).

        -- Cyrille

-- 
Grumpf.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]