[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-gnulib] wcwidth on OSF/1
From: |
Gary V. Vaughan |
Subject: |
Re: [bug-gnulib] wcwidth on OSF/1 |
Date: |
Mon, 07 Aug 2006 17:30:55 +0100 |
User-agent: |
Thunderbird 1.5.0.5 (Macintosh/20060719) |
Hi Bruno,
Bruno Haible wrote:
> Gary V. Vaughan wrote:
>
>> A gnulib bug on osf (4.0d and 5.1):
>> alphaev67-dec-osf5.1$ make all check
>> cc -DHAVE_CONFIG_H -I. -I../../lib -I.. -g -c ../../lib/mbchar.c
>> cc: Warning: ../../lib/wcwidth.h, line 70: In this declaration,
>> parameter 1 has a different type than specified in an earlier
>> declaration of this function. (mismatparam)
>> int wcwidth (int /* actually wchar_t */);
>> ----^
>> cc: Error: ../../lib/wcwidth.h, line 70: In this declaration, the type
>> of "wcwidth" is not compatible with the type of a previous declaration
>> of "wcwidth" at line number 280 in file /usr/include/wchar.h. (notcompat)
>> int wcwidth (int /* actually wchar_t */);
>> ----^
>> *** Exit 1
>> Stop.
>
> What does "grep WCWIDTH config.h" show? Does it show
> #define HAVE_DECL_WCWIDTH 0 ?
Yes, but only with Digital's compiler:
alphaev67-dec-osf5.1$ ../configure --enable-changeword CC=gcc |
> fgrep wcwidth
checking for wcwidth... yes
checking whether wcwidth is declared... yes
alphaev67-dec-osf5.1$ fgrep WCWIDTH config.h
#define HAVE_DECL_WCWIDTH 1
#define HAVE_WCWIDTH 1
alphaev67-dec-osf5.1$ ../configure --enable-changeword CC=cc |
> fgrep wcwidth
checking for wcwidth... yes
checking whether wcwidth is declared... no
alphaev67-dec-osf5.1$ fgrep WCWIDTH config.h
#define HAVE_DECL_WCWIDTH 0
#define HAVE_WCWIDTH 1
> It should say
> #define HAVE_DECL_WCWIDTH 1
> because of the
> extern int wcwidth __((const wchar_t));
> declaration in /usr/include/wchar.h.
ACK,
> Can you look in the config.log why it set HAVE_DECL_WCWIDTH to 0?
Here is the culprit:
configure:14791: checking whether wcwidth is declared
configure:14828: cc -c -g conftest.c >&5
cc: Error: /usr/include.dtk/wchar.h, line 78: Ill-formed parameter type
list. (parmtyplist)
__VA_LIST__ __arg);
----------------^
cc: Error: /usr/include.dtk/wchar.h, line 83: Ill-formed parameter type
list. (parmtyplist)
__VA_LIST__ __arg);
----------------^
cc: Error: /usr/include.dtk/wchar.h, line 87: Ill-formed parameter type
list. (parmtyplist)
__VA_LIST__ __arg);
----------------^
configure:14834: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "GNU M4"
| #define PACKAGE_TARNAME "m4"
| #define PACKAGE_VERSION "1.4.5a"
| #define PACKAGE_STRING "GNU M4 1.4.5a"
| #define PACKAGE_BUGREPORT "address@hidden"
| #define PACKAGE "m4"
| #define VERSION "1.4.5a"
| #define _GNU_SOURCE 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define __EXTENSIONS__ 1
| #define _POSIX_PTHREAD_SEMANTICS 1
| #define HAVE_LIMITS_H 1
| #define HAVE_SIGINFO_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_WCHAR_H 1
| #define HAVE_WCTYPE_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SIGINFO_T 1
| #define HAVE_STRUCT_SIGACTION_SA_SIGACTION 1
| #define RETSIGTYPE void
| #define HAVE_SIGACTION 1
| #define HAVE_SIGALTSTACK 1
| #define HAVE_SIGSTACK 1
| #define HAVE_SIGVEC 1
| #define HAVE_STRERROR 1
| #define HAVE_MBRTOWC 1
| #define HAVE_WCRTOMB 1
| #define HAVE_WCSCOLL 1
| #define HAVE_LSTAT 1
| #define HAVE_PIPE 1
| #define HAVE_ISWPRINT 1
| #define HAVE_WCWIDTH 1
| #define HAVE_ALLOCA_H 1
| #define HAVE_ALLOCA 1
| #define HAVE_DECL_STRERROR_R 0
| #define HAVE_STRERROR_R 1
| #define HAVE_GETOPT_H 1
| #define HAVE_DECL_GETENV 1
| #define HAVE_MBSTATE_T 1
| #define HAVE_INTTYPES_H_WITH_UINTMAX 1
| #define HAVE_STDINT_H_WITH_UINTMAX 1
| #define HAVE_UNSIGNED_LONG_LONG_INT 1
| #define HAVE_UNSIGNED_LONG_LONG 1
| #define HAVE_UINTMAX_T 1
| #define HAVE_LANGINFO_CODESET 1
| #define HAVE__BOOL 1
| #define HAVE_DECL_CLEARERR_UNLOCKED 0
| #define HAVE_DECL_FEOF_UNLOCKED 0
| #define HAVE_DECL_FERROR_UNLOCKED 0
| #define HAVE_DECL_FFLUSH_UNLOCKED 0
| #define HAVE_DECL_FGETS_UNLOCKED 0
| #define HAVE_DECL_FPUTC_UNLOCKED 0
| #define HAVE_DECL_FPUTS_UNLOCKED 0
| #define HAVE_DECL_FREAD_UNLOCKED 0
| #define HAVE_DECL_FWRITE_UNLOCKED 0
| #define HAVE_DECL_GETC_UNLOCKED 0
| #define HAVE_DECL_GETCHAR_UNLOCKED 0
| #define HAVE_DECL_PUTC_UNLOCKED 0
| #define HAVE_DECL_PUTCHAR_UNLOCKED 0
| #define EOVERFLOW 103
| #define HAVE_LONG_LONG_INT 1
| #define HAVE_LONG_LONG 1
| #define HAVE_LONG_DOUBLE 1
| #define HAVE_WCHAR_T 1
| #define HAVE_INTMAX_T 1
| #define HAVE_ALLOCA_H 1
| #define HAVE_DECL___FPENDING 0
| #define PENDING_OUTPUT_N_BYTES fp->_ptr - fp->_base
| #define __GETOPT_PREFIX rpl_
| #define HAVE_STDLIB_H 1
| #define HAVE_MALLOC 0
| #define malloc rpl_malloc
| #define HAVE_ISWCNTRL 1
| #define HAVE_MEMCHR 1
| #define HAVE_MKSTEMP 1
| #define _REGEX_LARGE_OFFSETS 1
| #define re_syntax_options rpl_re_syntax_options
| #define re_set_syntax rpl_re_set_syntax
| #define re_compile_pattern rpl_re_compile_pattern
| #define re_compile_fastmap rpl_re_compile_fastmap
| #define re_search rpl_re_search
| #define re_search_2 rpl_re_search_2
| #define re_match rpl_re_match
| #define re_match_2 rpl_re_match_2
| #define re_set_registers rpl_re_set_registers
| #define re_comp rpl_re_comp
| #define re_exec rpl_re_exec
| #define regcomp rpl_regcomp
| #define regexec rpl_regexec
| #define regerror rpl_regerror
| #define regfree rpl_regfree
| #define HAVE_DECL_ISBLANK 1
| #define HAVE_STDINT_H 1
| #define va_copy gl_va_copy
| #define strcasecmp rpl_strcasecmp
| #define HAVE_STRNCASECMP 1
| #define HAVE_STRTOL 1
| #define HAVE_DECL_MKDIR 1
| #define HAVE_UNISTD_H 1
| #define USE_UNLOCKED_IO 1
| #define HAVE_PTRDIFF_T 1
| #define HAVE_SNPRINTF 1
| #define HAVE_WCSLEN 1
| /* end confdefs.h. */
|
| /* AIX 3.2.5 declares wcwidth in <string.h>. */
| #include <string.h>
| #if HAVE_WCHAR_H
| # include <wchar.h>
| #endif
|
|
| int
| main ()
| {
| #ifndef wcwidth
| char *p = (char *) wcwidth;
| return !p;
| #endif
|
| ;
| return 0;
| }
configure:14866: result: no
> On a different OSF/1 5.1 machine, also with cc, I get
> $ grep WCWIDTH config.h
> #define HAVE_DECL_WCWIDTH 1
> #define HAVE_WCWIDTH 1
> and all goes fine.
Seems like our machine might have a different include search path?
Not sure what to make of that error :-( It's worth noting that this
machine is used to build several hundred open source projects without
too much difficulty (including large projects like gnome and kde)
using the same compiler:
alphaev67-dec-osf5.1$ cc -V
Compaq C V6.5-303 (dtk) on Compaq Tru64 UNIX V5.1 (Rev. 732)
Compiler Driver V6.5-302 (dtk) cc Driver
HTH,
Gary.
--
Gary V. Vaughan ())_. address@hidden,gnu.org}
Research Scientist ( '/ http://blog.azazil.net
GNU Hacker / )= http://trac.azazil.net/projects/libtool
Technical Author `(_~)_ http://sources.redhat.com/autobook
signature.asc
Description: OpenPGP digital signature
- Re: m4-1.4.6 soon?, Gary V. Vaughan, 2006/08/05
- Re: [bug-gnulib] wcwidth on OSF/1 (was: m4-1.4.6 soon?), Bruno Haible, 2006/08/07
- Re: [bug-gnulib] wcwidth on OSF/1,
Gary V. Vaughan <=
- Re: [bug-gnulib] wcwidth on OSF/1, Gary V. Vaughan, 2006/08/07
- Re: [bug-gnulib] wcwidth on OSF/1, Bruno Haible, 2006/08/07
- Re: [bug-gnulib] wcwidth on OSF/1, Gary V. Vaughan, 2006/08/07
- Re: [bug-gnulib] wcwidth on OSF/1, Bruno Haible, 2006/08/08
- Re: [bug-gnulib] wcwidth on OSF/1, Ralf Wildenhues, 2006/08/08
- Message not available
- Re: CC=cc ./configure or ./configure CC=cc, Ralf Wildenhues, 2006/08/09
- Re: CC=cc ./configure or ./configure CC=cc, Bruno Haible, 2006/08/10
- Re: CC=cc ./configure or ./configure CC=cc, Ralf Wildenhues, 2006/08/10
- Re: CC=cc ./configure or ./configure CC=cc, Paul Eggert, 2006/08/10
- Re: CC=cc ./configure or ./configure CC=cc, Karl Berry, 2006/08/10