[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
hello-2.1.91 compilation failure on MacOS X
From: |
Bruno Haible |
Subject: |
hello-2.1.91 compilation failure on MacOS X |
Date: |
Tue, 22 Aug 2006 14:06:04 +0200 |
User-agent: |
KMail/1.9.1 |
Compiling on MacOS X 10.3.9 gives this error:
Making all in src
if gcc -DLOCALEDIR=\"/Volumes/UserData/local-macos/share/locale\"
-DHAVE_CONFIG_H -I. -I. -I.. -I../gnulib/lib -I../gnulib/lib -Wall
-I/Volumes/UserData/local-macos/include -g -O2 -MT hello.o -MD -MP -MF
".deps/hello.Tpo" -c -o hello.o hello.c; \
then mv -f ".deps/hello.Tpo" ".deps/hello.Po"; else rm -f ".deps/hello.Tpo";
exit 1; fi
hello.c: In function `main':
hello.c:142: warning: too many arguments for format
gcc -g -O2 -o hello hello.o -L/Volumes/UserData/local-macos/lib -lintl
-liconv -lc -Wl,-framework -Wl,CoreFoundation ../gnulib/lib/libgnu.a
ld: warning multiple definitions of symbol _locale_charset
/Volumes/UserData/local-macos/lib/libintl.dylib(localcharset.o) definition of
_locale_charset
/usr/lib/libiconv.dylib(localcharset.o) definition of _locale_charset
ld: Undefined symbols:
_program_name
make[2]: *** [hello] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
The reason is that you use the module 'error' without defining 'program_name'.
Until I've reworked the 'program_name' handling (still on my TODO list), the
recommended fix is this.
2006-08-21 Bruno Haible <address@hidden>
* src/hello.c (program_name): Renamed from progname. Make non-static.
(main): Update.
*** src/hello.c.bak Mon Aug 21 01:43:04 2006
--- src/hello.c Tue Aug 22 01:17:09 2006
***************
*** 20,25 ****
--- 20,28 ----
#include <config.h>
#include "system.h"
+ /* String containing name the program is called with. */
+ const char *program_name;
+
struct option longopts[] =
{
{ "greeting", required_argument, NULL, 'g' },
***************
*** 30,37 ****
{ NULL, 0, NULL, 0 }
};
- static char *progname;
-
int
main (argc, argv)
int argc;
--- 33,38 ----
***************
*** 41,47 ****
int h = 0, v = 0, t = 0, n = 0, lose = 0;
char *greeting = NULL;
! progname = argv[0];
#ifdef HAVE_SETLOCALE
/* Set locale via LC_ALL. */
--- 42,48 ----
int h = 0, v = 0, t = 0, n = 0, lose = 0;
char *greeting = NULL;
! program_name = argv[0];
#ifdef HAVE_SETLOCALE
/* Set locale via LC_ALL. */
***************
*** 84,90 ****
if (optind < argc)
fputs (_("Too many arguments\n"), stderr);
fprintf (stderr, _("Try `%s --help' for more information.\n"),
! progname);
exit (1);
}
--- 85,91 ----
if (optind < argc)
fputs (_("Too many arguments\n"), stderr);
fprintf (stderr, _("Try `%s --help' for more information.\n"),
! program_name);
exit (1);
}
***************
*** 103,109 ****
/* TRANSLATORS: --help output 2
no-wrap */
printf (_("\
! Usage: %s [OPTION]...\n"), progname);
printf ("\n");
/* TRANSLATORS: --help output 3 : options 1/2
--- 104,110 ----
/* TRANSLATORS: --help output 2
no-wrap */
printf (_("\
! Usage: %s [OPTION]...\n"), program_name);
printf ("\n");
/* TRANSLATORS: --help output 3 : options 1/2
Re: hello 2.1.91 pretest, Karl Berry, 2006/08/21
Re: hello 2.1.91 pretest, Ralf Wildenhues, 2006/08/21
hello-2.1.91 warning, Bruno Haible, 2006/08/22
hello-2.1.91 compilation failure on MacOS X,
Bruno Haible <=
hello-2.1.91 modernization, Bruno Haible, 2006/08/22
hello-2.1.91 build failure on MacOS X, Bruno Haible, 2006/08/22