Bug#408850: mksh: FTBFS on experimental/alpha (Re: Log for failed build of mksh_28.9.20070118 (dist=experimental))

2007-03-05 Thread Thorsten Glaser
I have an idea…

Dixi:

Martin Zobel-Helas dixit:

 /usr/include/sys/stat.h:217: error: conflicting types for 'stat'
 /usr/include/sys/stat.h:365: error: previous definition of 'stat' was here
[...]

Sounds like a bug in the header file to me:

215 extern int __REDIRECT_NTH (stat, (__const char *__restrict __file,
216   struct stat *__restrict __buf), 
 stat64)
217  __nonnull ((1, 2));

363 extern __inline__ int
364 __NTH (stat (__const char *__path, struct stat *__statbuf))
365 {
366   return __xstat (_STAT_VER, __path, __statbuf);
367 }

The second one is missing the restrict qualifier. Could that
be the cause, possibly induced by invoking the C99 standard
during compiling with -std=gnu99 ?

Could please someone with access to an alpha try to build the version
of mksh currently in experimental, or even my “current playchild“
at http://users.unixforge.de/~tglaser/mksh_28.9.20070304.dsc, with
HAVE_CAN_STDG99=0 defined in the environment (of Build.sh, i.e. I'd
patch debian/rules appropriately) and show me the build log?

If so, we might at least have a workaround until that's fixed in
the system headers, because I've got a major update to mksh (i.e.
a new formal release) I'd like to get into unstable/testing, and
(thanks to playing around in experimental) only this bug is pre-
venting me from doing so.

@Pierre HABOUZIT: maybe your sample programme compiles fine as
long as you don't use -std=gnu99? Maybe the issue only appears
on alpha because it implies some kind of alignment changes?

Thanks!

bye,
//mirabile
-- 
I believe no one can invent an algorithm. One just happens to hit upon it
when God enlightens him. Or only God invents algorithms, we merely copy them.
If you don't believe in God, just consider God as Nature if you won't deny
existence.  -- Coywolf Qi Hunt



Bug#408850: mksh: FTBFS on experimental/alpha (Re: Log for failed build of mksh_28.9.20070118 (dist=experimental))

2007-01-28 Thread Martin Zobel-Helas
Package: mksh
Version: 28.9.20070118
Severity: important


 == if we can use __RCSID(x) multiple times... yes
 ... checking how to run the C Preprocessor
 ] gcc -E -  -D_POSIX_C_SOURCE=2 -D_BSD_SOURCE -D_GNU_SOURCE 
 -D_FILE_OFFSET_BITS=64 -I'/build/buildd/mksh-28.9.20070118/builddir' 
 -DHAVE_ATTRIBUTE=1 -DHAVE_ATTRIBUTE_BOUNDED=0 -DHAVE_ATTRIBUTE_USED=1 
 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_MKDEV_H=0 -DHAVE_SYS_SYSMACROS_H=1 
 -DHAVE_LIBGEN_H=1 -DHAVE_PATHS_H=1 -DHAVE_STDBOOL_H=1 -DHAVE_GRP_H=1 
 -DHAVE_ULIMIT_H=1 -DHAVE_VALUES_H=1 -DHAVE_RLIM_T=1 -DHAVE_SIG_T=1 
 -DHAVE_MKSH_SIGNAME=0 -DHAVE_SYS_SIGNAME=0 -DHAVE__SYS_SIGNAME=0 
 -DHAVE_SYS_SIGLIST=1 -DHAVE_STRSIGNAL=0 -DHAVE_ARC4RANDOM=0 
 -DHAVE_ARC4RANDOM_PUSH=0 -DHAVE_FLOCK_EX=1 -DHAVE_SETLOCALE_CTYPE=1 
 -DHAVE_LANGINFO_CODESET=1 -DHAVE_REVOKE=1 -DHAVE_SETMODE=0 
 -DHAVE_SETRESUGID=1 -DHAVE_SETGROUPS=1 -DHAVE_STRCASESTR=1 -DHAVE_STRLCPY=0 
 -DHAVE_MULTI_IDSTRING=1 -Dfnord=42 x
 == checking how to run the C Preprocessor... gcc -E -
 ... done.
 Generating list of signal names...
 NSIG=65 ... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 
 26 27 28 29 30 31 done.
 cd '..'  exec gcc -g -O2 -fno-strict-aliasing -fwhole-program --combine 
 -fwrapv -std=gnu99 -Wall  -D_POSIX_C_SOURCE=2 -D_BSD_SOURCE -D_GNU_SOURCE 
 -D_FILE_OFFSET_BITS=64 -I'/build/buildd/mksh-28.9.20070118/builddir' 
 -DHAVE_ATTRIBUTE=1 -DHAVE_ATTRIBUTE_BOUNDED=0 -DHAVE_ATTRIBUTE_USED=1 
 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_MKDEV_H=0 -DHAVE_SYS_SYSMACROS_H=1 
 -DHAVE_LIBGEN_H=1 -DHAVE_PATHS_H=1 -DHAVE_STDBOOL_H=1 -DHAVE_GRP_H=1 
 -DHAVE_ULIMIT_H=1 -DHAVE_VALUES_H=1 -DHAVE_RLIM_T=1 -DHAVE_SIG_T=1 
 -DHAVE_MKSH_SIGNAME=0 -DHAVE_SYS_SIGNAME=0 -DHAVE__SYS_SIGNAME=0 
 -DHAVE_SYS_SIGLIST=1 -DHAVE_STRSIGNAL=0 -DHAVE_ARC4RANDOM=0 
 -DHAVE_ARC4RANDOM_PUSH=0 -DHAVE_FLOCK_EX=1 -DHAVE_SETLOCALE_CTYPE=1 
 -DHAVE_LANGINFO_CODESET=1 -DHAVE_REVOKE=1 -DHAVE_SETMODE=0 
 -DHAVE_SETRESUGID=1 -DHAVE_SETGROUPS=1 -DHAVE_STRCASESTR=1 -DHAVE_STRLCPY=0 
 -DHAVE_MULTI_IDSTRING=1 -DHAVE_CONFIG_H -DCONFIG_H_FILENAME=\sh.h\  -o 
 '/build/buildd/mksh-28.9.20070118/builddir/mksh' alloc.c edit.c eval.c exec.c 
 expr.c funcs.c histrap.c jobs.c lex.c main.c misc.c shf.c syn.c tree.c var.c 
 setmode.c strlfun.c 
 In file included from /usr/include/fcntl.h:37,
  from /usr/include/sys/file.h:25,
  from sh.h:42,
  from edit.c:6:
 /usr/include/sys/stat.h:217: error: conflicting types for 'stat'
 /usr/include/sys/stat.h:365: error: previous definition of 'stat' was here
 /usr/include/sys/stat.h:219: error: conflicting types for 'fstat'
 /usr/include/sys/stat.h:379: error: previous definition of 'fstat' was here
 /usr/include/sys/stat.h:227: error: conflicting types for 'stat64'
 /usr/include/sys/stat.h:396: error: previous definition of 'stat64' was here
 /usr/include/sys/stat.h:228: error: conflicting types for 'fstat64'
 /usr/include/sys/stat.h:410: error: previous definition of 'fstat64' was here
 /usr/include/sys/stat.h:242: error: conflicting types for 'lstat'
 /usr/include/sys/stat.h:372: error: previous definition of 'lstat' was here
 /usr/include/sys/stat.h:250: error: conflicting types for 'lstat64'
 /usr/include/sys/stat.h:403: error: previous definition of 'lstat64' was here
 /usr/include/sys/stat.h:334: error: conflicting types for '__fxstat'
 /usr/include/sys/stat.h:334: error: previous declaration of '__fxstat' was 
 here
 /usr/include/sys/stat.h:337: error: conflicting types for '__xstat'
 /usr/include/sys/stat.h:337: error: previous declaration of '__xstat' was here
 /usr/include/sys/stat.h:340: error: conflicting types for '__lxstat'
 /usr/include/sys/stat.h:340: error: previous declaration of '__lxstat' was 
 here
 /usr/include/sys/stat.h:351: error: conflicting types for '__fxstat64'
 /usr/include/sys/stat.h:351: error: previous declaration of '__fxstat64' was 
 here
 /usr/include/sys/stat.h:353: error: conflicting types for '__xstat64'
 /usr/include/sys/stat.h:353: error: previous declaration of '__xstat64' was 
 here
 /usr/include/sys/stat.h:355: error: conflicting types for '__lxstat64'
 /usr/include/sys/stat.h:355: error: previous declaration of '__lxstat64' was 
 here
 In file included from /usr/include/fcntl.h:37,
  from /usr/include/sys/file.h:25,
  from sh.h:42,
  from eval.c:3:
 /usr/include/sys/stat.h:217: error: conflicting types for 'stat'
 /usr/include/sys/stat.h:365: error: previous definition of 'stat' was here
 /usr/include/sys/stat.h:219: error: conflicting types for 'fstat'
 /usr/include/sys/stat.h:379: error: previous definition of 'fstat' was here
 /usr/include/sys/stat.h:227: error: conflicting types for 'stat64'
 /usr/include/sys/stat.h:396: error: previous definition of 'stat64' was here
 /usr/include/sys/stat.h:228: error: conflicting types for 'fstat64'
 /usr/include/sys/stat.h:410: error: previous definition of 'fstat64' was here
 /usr/include/sys/stat.h:242: error: conflicting 

Bug#408850: mksh: FTBFS on experimental/alpha (Re: Log for failed build of mksh_28.9.20070118 (dist=experimental))

2007-01-28 Thread Thorsten Glaser
This version was uploaded to 'experimental' exactly to find out
possibly portability problems, e.g. with kfreebsd and hurd ;)
So I suppose that was a good move.

Martin Zobel-Helas dixit:

 /usr/include/sys/stat.h:217: error: conflicting types for 'stat'
 /usr/include/sys/stat.h:365: error: previous definition of 'stat' was here
[...]

Sounds like a bug in the header file to me:

215 extern int __REDIRECT_NTH (stat, (__const char *__restrict __file,
216   struct stat *__restrict __buf), 
stat64)
217  __nonnull ((1, 2));

363 extern __inline__ int
364 __NTH (stat (__const char *__path, struct stat *__statbuf))
365 {
366   return __xstat (_STAT_VER, __path, __statbuf);
367 }

The second one is missing the restrict qualifier. Could that
be the cause, possibly induced by invoking the C99 standard
during compiling with -std=gnu99 ?

bye,
//mirabile
-- 
  Using Lynx is like wearing a really good pair of shades: cuts out
   the glare and harmful UV (ultra-vanity), and you feel so-o-o COOL.
 -- Henry Nelson, March 1999


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]