Re: Compiling mc: libgnomeui.so: undefined reference to `dgettext'
- From: Mikael Djurfeldt <mdj nada kth se>
- To: tromey cygnus com
- Cc: Stephanos Piperoglou <sp249 cam ac uk>, Akos Valentinyi <A Valentinyi soton ac uk>, gnome-list gnome org
- Cc: mdj nada kth se
- Subject: Re: Compiling mc: libgnomeui.so: undefined reference to `dgettext'
- Date: 21 Jun 1998 17:27:58 +0200
Tom Tromey <tromey@cygnus.com> writes:
> Stephanos> gcc [ ... ] -lX11 -lSM -lICE -lintl -lgpm -lintl
> Stephanos> /usr/local/lib/libgnomeui.so: undefined reference to `dgettext'
I have the same problem.
> This probably means your libintl is bad. Take a look at it with nm.
> If it doesn't define dgettext, then it is the wrong library.
It isn't possible to compile GNOME without gettext. There is some
dependency on the xgettext command (from guile-libs or guile-core, I
don't remember) which makes the compilation process break with weird
error messages if you don't have the xgettext command on your system.
(@XGETTEXT@ is replaced by spaces in the Makefile...)
I have grabbed the GNU gettext-0.10.tar.gz and made a vanilla
configure, make, and make install (on my Debian system).
This is the result:
nm -g /usr/local/lib/libintl.a | grep dgettext
dgettext.o:
00000000 T dgettext__
U dgettext__
Apparently, dgettext isn't defined. Should it be?
Looking at the dgettext source, I find a file `intl-compat.c' (which
isn't included in the library):
char *
dgettext (domainname, msgid)
const char *domainname;
const char *msgid;
{
return dgettext__ (domainname, msgid);
}
Maybe libgnomeui should conditionally include intl-compat.c if it
only find dgettext__?
Looking at the intl library included in mc I do detect a dgettext
function:
nm -g mc/intl/libintl.a | grep dgettext
00000060 T dgettext
U dgettext__
dgettext.o:
00000000 T dgettext__
U dgettext__
And, looking at the link command line, the part
"-L/usr/local/gnome/src/mc/intl -lintl" should be enough for the
linker to find dgettext, but...
make[1]: Entering directory `/usr/local/gnome/src/mc/gnome'
gcc -L/usr/X11R6/lib -L/usr/local/lib -lgnomeui -lgnome
-lgnomesupport -ldl -lgdk_imlib -ltiff -lgif -ljpeg -lpng -lz -lz -lSM
-lICE -L/usr/local/lib -L/usr/X11R6/lib -lgtk-1.1 -lgdk-1.1
-L/usr/local/lib -lglib-1.1 -lXext -lX11 -lm -o gmc mad.o main.o dlg.o
screen.o widget.o wtools.o info.o boxes.o file.o find.o dialog.o
help.o key.o chmod.o chown.o view.o panelize.o hotlist.o listmode.o
background.o dir.o util.o win.o color.o profile.o user.o ext.o setup.o
tree.o subshell.o terms.o achown.o fsusage.o mountlist.o regex.o
complete.o command.o option.o cmd.o utilunix.o popt.o xslint.o gkey.o
gmain.o gscreen.o gwidget.o gmenu.o ghelp.o ginfo.o glayout.o gtools.o
gdesktop.o gtrans.o gutil.o gcmd.o gmc-chargrid.o gview.o gprop.o
gpageprop.o gcliplabel.o gcache.o gblist.o -L../vfs -L../slang
-L../edit -lvfs-mc -lmcslang -ledit -L/usr/local/gnome/src/mc/intl
-lintl -lX11 -lSM -lICE -lintl -lext2fs -lcom_err
/usr/local/lib/libgnomeui.so: undefined reference to `dgettext'
make[1]: *** [mx] Error 1
make[1]: Leaving directory `/usr/local/gnome/src/mc/gnome'
I still get the dgettext error.
> Again, do you have an mc/intl directory?
Yes.
> Is there anything in it?
Yes.
> On systems with a bad libintl, a working libintl should be built
> there.
The relevant part of the mc config.cache is:
gt_cv_func_gettext_libc=${gt_cv_func_gettext_libc=no}
gt_cv_func_gettext_libintl=${gt_cv_func_gettext_libintl=no}
nls_cv_force_use_gnu_gettext=${nls_cv_force_use_gnu_gettext=no}
nls_cv_header_intl=${nls_cv_header_intl=intl/libintl.h}
nls_cv_header_libgt=${nls_cv_header_libgt=intl/libgettext.h}
nls_cv_use_catgets=${nls_cv_use_catgets=no}
nls_cv_use_gnu_gettext=${nls_cv_use_gnu_gettext=yes}
> What sort of system do you have?
A Debian 2.0-system with gettext-0.10 installed by me.
/mdj
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]