This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
RE: GCC 4.4 - Cygwin build failed in 'strsignal'
- From: Jay <jay dot krell at cornell dot edu>
- To: <gcc-help at gcc dot gnu dot org>, <brian at dessent dot net>, <duongtu at gmail dot com>
- Date: Sat, 27 Sep 2008 07:30:14 +0000
- Subject: RE: GCC 4.4 - Cygwin build failed in 'strsignal'
- References: <1222423237.844.ezmlm@gcc.gnu.org>
> ../../../gcc-4.4-20080912/libiberty/strsignal.c:408:
> error: conflicting types for 'strsignal' /usr/include/string.h:78:
> note: previous declaration of 'strsignal' was here
I don't believe fixing the prototypes to match is actually the correct fix.
I believe the correct fix is to effectively remove libiberty's strsignal.
That is, Cygwin has its own strsignal and libiberty should not contribute its.
This stuff isn't autoconfigured, but it is configured.
That is, the autoconf code doesn't sniff the system, it just assumes it
knows about the system, but it is incorrect.
Like so, in 4.3.2
libiberty/configure.ac:
before:
case "${host}" in
*-*-cygwin* | *-*-mingw*)
AC_DEFINE(HAVE_SYS_ERRLIST)
AC_DEFINE(HAVE_SYS_NERR)
;;
esac
after:
case "${host}" in
*-*-mingw*)
AC_DEFINE(HAVE_SYS_ERRLIST)
AC_DEFINE(HAVE_SYS_NERR)
;;
*-*-cygwin*)
AC_DEFINE(HAVE_SYS_ERRLIST)
AC_DEFINE(HAVE_SYS_NERR)
AC_DEFINE(HAVE_STRSIGNAL)
;;
esac
or maybe, after, better:
# this first chunk entirely unchanged
case "${host}" in
*-*-cygwin* | *-*-mingw*)
AC_DEFINE(HAVE_SYS_ERRLIST)
AC_DEFINE(HAVE_SYS_NERR)
;;
esac
# this second chunk added
case "${host}" in
*-*-cygwin*)
AC_DEFINE(HAVE_STRSIGNAL)
;;
esac
or maybe this stuff should actually be AUTOconfigured and not merely configured..
If linking is ok.
- Jay