This is the mail archive of the
mailing list for the Cygwin project.
Re: [BUG ?] Failed to rebuild Cygwin
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 31 Jul 2013 12:47:01 +0200
- Subject: Re: [BUG ?] Failed to rebuild Cygwin
- References: <003401ce8dcb$a630b310$f2921930$%fedin at samsung dot com> <20130731095949 dot GV4166 at calimero dot vinschen dot de> <51F8E342 dot 5020509 at gmail dot com> <20130731102826 dot GX4166 at calimero dot vinschen dot de>
- Reply-to: cygwin at cygwin dot com
On Jul 31 12:28, Corinna Vinschen wrote:
> On Jul 31 18:13, JonY wrote:
> > On 7/31/2013 17:59, Corinna Vinschen wrote:
> > > On Jul 31 12:55, Pavel Fedin wrote:
> > >> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o: In function
> > >> `__tmainCRTStartup':
> > >> /usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/crt/crtexe.c:285:
> > >> undefined reference to `_set_invalid_parameter_handler'
> > >> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/libmingwex.a(lib64_libming
> > >> wex_a-mingw_pformat.o): In function `__pformat_exponent_digits':
> > >> /usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/stdio/mingw_pformat.c:1
> > >> 76: undefined reference to `_get_output_format'
> > >> collect2: error: ld returned 1 exit status
> > >> Makefile:143: recipe for target `cygwin-console-helper.exe' failed
> > >> make: *** [cygwin-console-helper.exe] Error 1
> > >> --- cut ---
> > >> Likely some MinGW CRT bug ?
> > >
> > > This also occurs on Fedora right now.
> > >
> > > AFAICS, the culprit is that the latest Cygwin w32api package doesn't
> > > match the files from mingw-crt for some reason.
> > >
> > > The build uses -L/usr/lib/w32api (-L/usr/i686-pc-cygwin/lib/w32api when
> > > cross building on Fedora), so the libs are taken from the w32api-runtime
> > > package. However, the compiler uses the default crt file
> > > /usr/i686-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o which is provided
> > > by the mingw-crt package.
> > >
> > > This is a bug in Cygwin's Makefile since you should never use the w32api
> > > stuff for mingw executables, only for Cygwin executables, but still...
> > >
> > > JonY, do you have an idea why the mingw-crt differs that much from the
> > > w32api stuff that the above error occurs?
> > >
> > Likely, because _set_invalid_parameter_handler was a stub in mingwex
> > that loads msvcrt.dll, it was disabled as a quickfix, as it was using
> > mingw-w64 stdlib.h directly. I did not think Cygwin win32api might need it.
> > The build should be fixed on trunk, I will roll out a new release soon.
> Cool, thanks!
Erm... hang on. On second thought, I'm not sure that this is a bug.
The actual bug here was clearly in the Cygwin utils Makefile.
In fact, since w32api should only be used by Cygwin executables, why
should w32api provide libmingwex.a at all? Linking a Cygwin executable
against libmingwex doesn't sound like the right thing to do. Shouldn't
rather libmingwex.a just go from w32api?
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple