Bug 31039 - [4.3 Regression] Latest CVS-stage 2-Cannot create executables
Summary: [4.3 Regression] Latest CVS-stage 2-Cannot create executables
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 4.3.0
: P3 normal
Target Milestone: 4.3.0
Assignee: Not yet assigned to anyone
URL:
Keywords: build
: 32134 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-03-05 03:03 UTC by James McKelvey
Modified: 2007-05-29 18:33 UTC (History)
4 users (show)

See Also:
Host: i686-pc-cygwin
Target: i686-pc-cygwin
Build: i686-pc-cygwin
Known to work:
Known to fail:
Last reconfirmed: 2007-03-10 08:11:11


Attachments
Fix Cygwin __sgetc_r bug with GCC 4.3.0 (1.85 KB, patch)
2007-05-29 18:21 UTC, Rob
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description James McKelvey 2007-03-05 03:03:33 UTC
$ uname -a
CYGWIN_NT-5.1 McKelvey-PC 1.5.24(0.156/4/2) 2007-01-31 10:57 i686 Cygwin

alias CONFIGURECVS='/home/User/cvsroot/gcc/configure     --verbose --enable-threads --disable-nls     --disable-win32-registry --enable-languages=c,c++'

alias BUILD='nice make CFLAGS='\'''\'' BOOT_CFLAGS='\'''\'' LIBCFLAGS='\''-g -O'\''     CXXFLAGS='\''-O'\'' LIBCXXFLAGS='\''-g -O'\'' bootstrap'

$ g++ -v
Using built-in specs.
Target: i686-pc-cygwin
Configured with: /home/User/cvsroot/gcc/configure --verbose --enable-threads --disable-nls --disable-win32-registry --enable-languages=c,c++
Thread model: posix
gcc version 4.3.0 20070121 (experimental)


make[2]: Leaving directory `/home/User/cvsroot/gcc-obj'
make[2]: Entering directory `/home/User/cvsroot/gcc-obj'
Configuring stage 2 in ./intl
configure: loading cache ./config.cache
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether NLS is requested... no
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for i686-pc-cygwin-gcc...  /home/User/cvsroot/gcc-obj/./prev-gcc/xgcc -B/home/User/cvsroot/gcc-obj/./prev-gcc/ -B/usr/local/i686-pc-cygwin/bin/
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
make[2]: *** [configure-stage2-intl] Error 77
make[2]: Leaving directory `/home/User/cvsroot/gcc-obj'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/home/User/cvsroot/gcc-obj'
make: *** [bootstrap] Error 2

intl/config.log:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.59.  Invocation command line was

  $ /home/User/cvsroot/gcc/intl/configure --cache-file=./config.cache --verbose --enable-threads --disable-nls --disable-win32-registry --enable-languages=c,c++ --program-transform-name=s,y,y, --build=i686-pc-cygwin --host=i686-pc-cygwin --target=i686-pc-cygwin --srcdir=/home/User/cvsroot/gcc/intl --with-build-libsubdir=. --enable-werror-always

## --------- ##
## Platform. ##
## --------- ##

hostname = McKelvey-PC
uname -m = i686
uname -r = 1.5.24(0.156/4/2)
uname -s = CYGWIN_NT-5.1
uname -v = 2007-01-31 10:57

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = i686
/usr/bin/arch -k       = i686
/usr/convex/getsysinfo = unknown
hostinfo               = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /usr/local/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/X11R6/bin
PATH: /cygdrive/c/Perl/bin/
PATH: /cygdrive/c/WINDOWS/system32
PATH: /cygdrive/c/WINDOWS
PATH: /cygdrive/c/WINDOWS/System32/Wbem
PATH: /home/User/scripts
PATH: /cygdrive/c/Program Files/Common Files/Roxio Shared/DLLShared
PATH: /cygdrive/c/Program Files/SSH Communications Security/SSH Secure Shell
PATH: /cygdrive/c/Program Files/Pinnacle/Shared Files
PATH: /cygdrive/c/Program Files/Pinnacle/Shared Files/Filter
PATH: /usr/lib/lapack
PATH: .
PATH: /home/User/scripts


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1220: loading cache ./config.cache
configure:1323: checking whether make sets $(MAKE)
configure:1343: result: yes
configure:1390: checking for a BSD-compatible install
configure:1445: result: /usr/bin/install -c
configure:1470: checking whether NLS is requested
configure:1479: result: no
configure:1517: checking for msgfmt
configure:1548: result: /usr/bin/msgfmt
configure:1557: checking for gmsgfmt
configure:1588: result: /usr/bin/msgfmt
configure:1627: checking for xgettext
configure:1658: result: /usr/bin/xgettext
configure:1698: checking for msgmerge
configure:1728: result: /usr/bin/msgmerge
configure:1771: checking for i686-pc-cygwin-gcc
configure:1797: result:  /home/User/cvsroot/gcc-obj/./prev-gcc/xgcc -B/home/User/cvsroot/gcc-obj/./prev-gcc/ -B/usr/local/i686-pc-cygwin/bin/
configure:2079: checking for C compiler version
configure:2082:  /home/User/cvsroot/gcc-obj/./prev-gcc/xgcc -B/home/User/cvsroot/gcc-obj/./prev-gcc/ -B/usr/local/i686-pc-cygwin/bin/ --version </dev/null >&5
xgcc (GCC) 4.3.0 20070302 (experimental)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:2085: $? = 0
configure:2087:  /home/User/cvsroot/gcc-obj/./prev-gcc/xgcc -B/home/User/cvsroot/gcc-obj/./prev-gcc/ -B/usr/local/i686-pc-cygwin/bin/ -v </dev/null >&5
Reading specs from /home/User/cvsroot/gcc-obj/./prev-gcc/specs
Target: i686-pc-cygwin
Configured with: /home/User/cvsroot/gcc/configure --verbose --enable-threads --disable-nls --disable-win32-registry --enable-languages=c,c++
Thread model: posix
gcc version 4.3.0 20070302 (experimental)
configure:2090: $? = 0
configure:2092:  /home/User/cvsroot/gcc-obj/./prev-gcc/xgcc -B/home/User/cvsroot/gcc-obj/./prev-gcc/ -B/usr/local/i686-pc-cygwin/bin/ -V </dev/null >&5
xgcc: '-V' must come at the start of the command line
configure:2095: $? = 1
configure:2118: checking for C compiler default output file name
configure:2121:  /home/User/cvsroot/gcc-obj/./prev-gcc/xgcc -B/home/User/cvsroot/gcc-obj/./prev-gcc/ -B/usr/local/i686-pc-cygwin/bin/    conftest.c  >&5
/home/User/cvsroot/gcc-obj/./prev-gcc/libgcc.a(_ctors.o): In function `__sgetc_r':
/usr/include/stdio.h:414: undefined reference to `_ungetc'
/usr/include/stdio.h:410: undefined reference to `___srget_r'
/usr/include/stdio.h:407: undefined reference to `___srget_r'
collect2: ld returned 1 exit status
configure:2124: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:2163: error: C compiler cannot create executables
See `config.log' for more details.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_env_CC_set=set
ac_cv_env_CC_value=' /home/User/cvsroot/gcc-obj/./prev-gcc/xgcc -B/home/User/cvsroot/gcc-obj/./prev-gcc/ -B/usr/local/i686-pc-cygwin/bin/'
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value=
ac_cv_env_build_alias_set=set
ac_cv_env_build_alias_value=i686-pc-cygwin
ac_cv_env_host_alias_set=set
ac_cv_env_host_alias_value=i686-pc-cygwin
ac_cv_env_target_alias_set=set
ac_cv_env_target_alias_value=i686-pc-cygwin
ac_cv_path_GMSGFMT=/usr/bin/msgfmt
ac_cv_path_MSGFMT=/usr/bin/msgfmt
ac_cv_path_MSGMERGE=/usr/bin/msgmerge
ac_cv_path_XGETTEXT=/usr/bin/xgettext
ac_cv_prog_CC=' /home/User/cvsroot/gcc-obj/./prev-gcc/xgcc -B/home/User/cvsroot/gcc-obj/./prev-gcc/ -B/usr/local/i686-pc-cygwin/bin/'
ac_cv_prog_make_make_set=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL=''
ALLOCA=''
AUTOCONF=''
AUTOHEADER=''
BUILD_INCLUDED_LIBINTL=''
CATOBJEXT=''
CC=' /home/User/cvsroot/gcc-obj/./prev-gcc/xgcc -B/home/User/cvsroot/gcc-obj/./prev-gcc/ -B/usr/local/i686-pc-cygwin/bin/'
CFLAGS=''
CPP=''
CPPFLAGS=''
DATADIRNAME=''
DEFS=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
GENCAT=''
GLIBC21=''
GMSGFMT='/usr/bin/msgfmt'
INCINTL=''
INSTALL_DATA='/usr/bin/install -c -m 644'
INSTALL_PROGRAM='/usr/bin/install -c'
INSTALL_SCRIPT='/usr/bin/install -c'
INSTOBJEXT=''
INTLBISON=''
INTLLIBS=''
INTLOBJS=''
INTL_LIBTOOL_SUFFIX_PREFIX=''
LDFLAGS=''
LIBICONV=''
LIBINTL=''
LIBINTL_DEP=''
LIBOBJS=''
LIBS=''
LTLIBICONV=''
LTLIBINTL=''
LTLIBOBJS=''
MAINT=''
MKINSTALLDIRS='/home/User/cvsroot/gcc/intl/../mkinstalldirs'
MSGFMT='/usr/bin/msgfmt'
MSGMERGE='/usr/bin/msgmerge'
OBJEXT=''
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
POSUB=''
RANLIB='ranlib'
SET_MAKE=''
SHELL='/bin/sh'
USE_INCLUDED_LIBINTL=''
USE_NLS='no'
XGETTEXT='/usr/bin/xgettext'
ac_ct_CC=''
ac_ct_RANLIB=''
bindir='${exec_prefix}/bin'
build='i686-pc-cygwin'
build_alias='i686-pc-cygwin'
build_cpu=''
build_os=''
build_vendor=''
datadir='${prefix}/share'
exec_prefix='NONE'
host='i686-pc-cygwin'
host_alias='i686-pc-cygwin'
host_cpu=''
host_os=''
host_vendor=''
includedir='${prefix}/include'
infodir='${prefix}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localstatedir='${prefix}/var'
mandir='${prefix}/man'
oldincludedir='/usr/include'
prefix='NONE'
program_transform_name='s,y,y,'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias='i686-pc-cygwin'

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define PACKAGE_BUGREPORT ""
#define PACKAGE_NAME ""
#define PACKAGE_STRING ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""

configure: exit 77
Comment 1 Jerry DeLisle 2007-03-10 08:11:11 UTC
I can confirm this on latest trunk.  Its blocking bootstrap.

From config log on objdir/gcc:

config.log:conftest.c:2: error: parse error before "me"
config.log:conftest.c:62: error: `__int64' undeclared (first use in this function)
config.log:conftest.c:62: error: (Each undeclared identifier is reported only once
Comment 2 Tim Prince 2007-03-24 01:22:12 UTC
Note that the newly built bootstrap compiler fails the configure tests which have a trailing -V on the command line.  Nearly all the various configure scripts provoke this failure.  The one cited here happens to be the first.
Comment 3 Tim Prince 2007-03-24 03:06:27 UTC
The failure can be worked around by commenting out the section of <stdio.h> in the cygwin distribution which sets __SCLE  (conversion of \r\n to \n, according to comments).  The  code thus commented out apparently requires some cygwin extensions in the library which have disappeared since 20070224 (quoted by submitter as last working build).  I concur, having built successfully the 20070223.
Comment 4 Andreas Schwab 2007-03-24 08:26:11 UTC
(In reply to comment #2)
> Note that the newly built bootstrap compiler fails the configure tests which
> have a trailing -V on the command line.

This is harmless, it's only for informational purpose (various tries to make the compiler display its version number, but nothing depends on this).
Comment 5 Dave Korn 2007-03-30 01:50:17 UTC
I have just checked in a fix for this in newlib.  See the thread at:

http://sourceware.org/ml/newlib/2007/msg00292.html

and the references therein:

http://cygwin.com/ml/cygwin/2007-03/msg00705.html
http://gcc.gnu.org/ml/gcc/2007-03/msg00948.html
http://gcc.gnu.org/ml/gcc/2007-03/msg01088.html

This bug could be closed fixed now.

    cheers,
      DaveK
Comment 6 Andrew Pinski 2007-05-28 23:57:43 UTC
*** Bug 32134 has been marked as a duplicate of this bug. ***
Comment 7 Andrew Pinski 2007-05-29 00:00:07 UTC
This was a newlib bug which was fixed already so closing as such.

You need to update your cygwin libc.
Comment 8 Rob 2007-05-29 04:15:39 UTC
I did just run Cygwin's setup.exe and tried a few sites - even kernel.org .

You can't get an update that way. It will either be by SVN/CVS or apply the patches listed in the links above to your /cygwin directory.
Comment 9 Rob 2007-05-29 18:21:45 UTC
Created attachment 13629 [details]
Fix Cygwin __sgetc_r bug with GCC 4.3.0

The information above is for patching the _source_ tree.

If you obtained Cygwin gcc 3.4.4 by using the setup.exe program, the included /usr/include/stdio.h can not be used to bootstrap GCC 4.3.0.

This patch is for Cygwin's /usr/include/stdio.h - it is NOT for patching GCC.

It is slightly different from what is suggested for patching the _source_ ONLY in that this patch does not cause offset warning messages - otherwise it is equal (plus a few comments).

It was derived from the two patches listed at: http://sourceware.org/ml/newlib/2007/msg00296.html and http://sourceware.org/ml/newlib/2007/msg00326.html combined together and applied to the "setup.exe"'s version version of /usr/include/stdio.h .

It has been tested on Cygwin with GCC 4.3.0 revision 125164 .