Updated mc.hint

Pavel Roskin proski at gnu.org
Fri Aug 3 04:57:27 UTC 2001


Hi, Steef!

> vstofchem18[115]~/mc-4.5.54a>./gnome/plain-gmc
>  5135:./gnome/plain-gmc: rld: Fatal Error: attempted access to
> unresolvable symbol in /usr/local/lib/libgnome.so.33: bindtextdomain
> Exit 1

The symbol is in libgnome, not in gmc.  It is compiled with libintl, but
the run-time library loader doesn't seem to know that.

This may be a problem with libtool not supporting interlibrary
dependencies on your platform.  Or it may be a problem with the build
system of libgnome.  But it's certainly not mc.

> I guess a similar problem is at hand here. Should there also be a i18n.h
> in gnome?

Well, If GNOME is compiled with libintl, than you must be using it,
directly or indirectly (through interdependency).  If you think it's wrong
fix GNOME libraries, not MC.  i18n.h from MC doesn't redefine
bindtextdomain and other functions in the GNOME edition - GNOME headers
should do it if needed.

> Other spurious warnings I get (in order of appearance):
> I don't know which errors are caused by the old age of my gcc (2.7.2)
> and glib (libglib-1.2.so.1.6a) nd gnome (libgnome.so.33.11) and which
> are truly caused by the IRIX platform. The only thing that really worry
> me are the "statement with no effect" warnings

"statement with no effect" is really harmless and can be reproduced on any
platform.  It a consequence of a rather crude "undefining" some features,
i18n in this case.  Better solutions are welcome.

> Remember, I'm the guy with the IRIX 6.2 workstation.
> using recent CVS version.

Thank you.  I appreciate it.  Don't forget that some people may read this
message in the archive without any context.

> direntry.c: In function `vfs_s_dump':
> direntry.c:1013: warning: int format, long int arg (arg 4)

st_mode is int, not long int in glibc.  I see no graceful solution here.
Using casts is not.

> screen.c: In function `string_file_perm_octal':
> screen.c:312: warning: unsigned int format, mode_t arg (arg 4)

Same story.

> /usr/include/limits.h:185: warning: `RE_DUP_MAX' redefined
> eregex.h:212: warning: this is the location of the previous definition

Easy to fix.  The order of includes should be: config.h, system includes,
global.h, other local includes.  global.h wasn't first.

> subshell.c: In function `init_subshell':
> subshell.c:438: warning: int format, pid_t arg (arg 4)

Same story with casts between int and long int.

> main.c:2974: warning: statement with no effect
> main.c:2975: warning: statement with no effect

Trivial to fix.

> learn.c: In function `init_learn':
> learn.c:235: warning: unused variable `i18n_flag'

I'n trying to fix such warnings in the default configuration (i.e. with
NLS).  Placating the compiler with ifdefs for every configuration is ugly,
especially because C doesn't allow mixing declarations with the code.

Well, it's easy to fix this one.

> /usr/include/limits.h:185: warning: `RE_DUP_MAX' redefined
> eregex.h:212: warning: this is the location of the previous definition

Also trivial.

> filegui.c: In function `fmd_init_i18n':
> filegui.c:817: warning: unused variable `len'
> filegui.c:816: warning: unused variable `i'

Again, easy to fix in this case.

> /usr/include/sys/param.h:348: warning: `MIN' redefined
> /usr/local/include/glib.h:126: warning: this is the location of the
> previous definition

This is specific for older compilers.  I'll fix it later.  The real fix
should probably be in glib.

> editcmd.c:1408: warning: `B_ENTER' redefined
> ../src/dlg.h:20: warning: this is the location of the previous
> definition

Should be fixed.  but strange that I couldn't reproduce it.

> editcmd.c:1412: warning: `B_CANCEL' redefined
> ../src/dlg.h:19: warning: this is the location of the previous
> definition

Likewise.

> /usr/include/sys/param.h:348: warning: `MIN' redefined
> /usr/local/include/glib.h:126: warning: this is the location of the
> previous definition

Same story.  gcc-2.7.2 + glib.

> gmc-chargrid.c: In function `gmc_char_grid_set_font':
> gmc-chargrid.c:523: warning: passing arg 1 of `gdk_fontset_load'
> discards `const' from pointer target type

Old Gtk.  I don't care.

> gview.c: In function `gview_quit':
> gview.c:253: warning: implicit declaration of function `view_ok_to_quit'

I think this is already fixed in CVS.

> ./magicdev.idl:3: Warning: `reread_config' underscores within
> identifiers are discouraged for use with C-language IDL mappings

Too late to change, I think.  IDL defines a public interface.

> cc1: warning: `-g' not supported by this configuration of GCC

Whare does that -g come from? Perhaps from gnome-config?

If you are concerned about warnings please elaborate more or send patches.
I'm more concerned about stability than about warnings.

Anyway, thank you for the report.  I'm committing some patches based on
this report.

-- 
Regards,
Pavel Roskin





More information about the mc-devel mailing list