public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* w32api: configure: error: C compiler cannot create executables
@ 2014-08-07 19:59 YuGiOhJCJ Mailing-List
  2014-08-07 20:05 ` Jonathan Wakely
  2014-08-07 21:07 ` Kai Ruottu
  0 siblings, 2 replies; 6+ messages in thread
From: YuGiOhJCJ Mailing-List @ 2014-08-07 19:59 UTC (permalink / raw)
  To: gcc-help

Hello,

I am building a cross compiler (linux 32 bits -> windows 32 bits).
I have compiled and installed:
- binutils-2.24.51
- gcc-4.9.1 (with mingwrt-4.0.3.1 and w32api-4.0.3.1 headers)

But when I try to configure the w32api library, I got an error:
$ ./configure --prefix=/usr/i686-pc-mingw32 --build=`./config.guess` --host=i686-pc-mingw32 --disable-nls
bash: ./config.guess: No such file or directory
configure: WARNING: unrecognized options: --disable-nls
configure: WARNING: if you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-mingw32
checking target system type... i686-pc-mingw32
checking for i686-pc-mingw32-gcc... i686-pc-mingw32-gcc
checking whether the C compiler works... no
configure: error: in `/tmp/build/w32api-4.0.3-1.mingw32-src':
configure: error: C compiler cannot create executables
See `config.log' for more details

As you can see, there is a missing "config.guess" file in the archive.
Also, the "--disable-nls" option is not available.
Maybe it can explain why the C compiler is recognize by the configure script as not working.

Do you have any idea why I am unable to compile this w32api please?

Thank you.
Best regards.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: w32api: configure: error: C compiler cannot create executables
  2014-08-07 19:59 w32api: configure: error: C compiler cannot create executables YuGiOhJCJ Mailing-List
@ 2014-08-07 20:05 ` Jonathan Wakely
  2014-08-07 21:06   ` YuGiOhJCJ Mailing-List
  2014-08-07 21:07 ` Kai Ruottu
  1 sibling, 1 reply; 6+ messages in thread
From: Jonathan Wakely @ 2014-08-07 20:05 UTC (permalink / raw)
  To: YuGiOhJCJ Mailing-List; +Cc: gcc-help

On 7 August 2014 20:59, YuGiOhJCJ Mailing-List wrote:
> Hello,
>
> I am building a cross compiler (linux 32 bits -> windows 32 bits).
> I have compiled and installed:
> - binutils-2.24.51
> - gcc-4.9.1 (with mingwrt-4.0.3.1 and w32api-4.0.3.1 headers)
>
> But when I try to configure the w32api library, I got an error:
> $ ./configure --prefix=/usr/i686-pc-mingw32 --build=`./config.guess` --host=i686-pc-mingw32 --disable-nls
> bash: ./config.guess: No such file or directory
> configure: WARNING: unrecognized options: --disable-nls
> configure: WARNING: if you wanted to set the --build type, don't use --host.
>     If a cross compiler is detected then cross compile mode will be used
> checking build system type... i686-pc-linux-gnu
> checking host system type... i686-pc-mingw32
> checking target system type... i686-pc-mingw32
> checking for i686-pc-mingw32-gcc... i686-pc-mingw32-gcc
> checking whether the C compiler works... no
> configure: error: in `/tmp/build/w32api-4.0.3-1.mingw32-src':
> configure: error: C compiler cannot create executables
> See `config.log' for more details
>
> As you can see, there is a missing "config.guess" file in the archive.

Is it supposed to be there?

> Also, the "--disable-nls" option is not available.

Then why are you using it?

> Maybe it can explain why the C compiler is recognize by the configure script as not working.
>
> Do you have any idea why I am unable to compile this w32api please?

w32api is not part of GCC, maybe you should ask on a mingw list, but
it looks like you're calling its configure wrong and then complaining
that it doesn't work.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: w32api: configure: error: C compiler cannot create executables
  2014-08-07 20:05 ` Jonathan Wakely
@ 2014-08-07 21:06   ` YuGiOhJCJ Mailing-List
  2014-08-07 22:07     ` Jonathan Wakely
  0 siblings, 1 reply; 6+ messages in thread
From: YuGiOhJCJ Mailing-List @ 2014-08-07 21:06 UTC (permalink / raw)
  To: gcc-help

> > Hello,
> >
> > I am building a cross compiler (linux 32 bits -> windows 32 bits).
> > I have compiled and installed:
> > - binutils-2.24.51
> > - gcc-4.9.1 (with mingwrt-4.0.3.1 and w32api-4.0.3.1 headers)
> >
> > But when I try to configure the w32api library, I got an error:
> > $ ./configure --prefix=/usr/i686-pc-mingw32 --build=`./config.guess` --host=i686-pc-mingw32 --disable-nls
> > bash: ./config.guess: No such file or directory
> > configure: WARNING: unrecognized options: --disable-nls
> > configure: WARNING: if you wanted to set the --build type, don't use --host.
> >     If a cross compiler is detected then cross compile mode will be used
> > checking build system type... i686-pc-linux-gnu
> > checking host system type... i686-pc-mingw32
> > checking target system type... i686-pc-mingw32
> > checking for i686-pc-mingw32-gcc... i686-pc-mingw32-gcc
> > checking whether the C compiler works... no
> > configure: error: in `/tmp/build/w32api-4.0.3-1.mingw32-src':
> > configure: error: C compiler cannot create executables
> > See `config.log' for more details
> >
> > As you can see, there is a missing "config.guess" file in the archive.
> 
> Is it supposed to be there?
> 
> > Also, the "--disable-nls" option is not available.
> 
> Then why are you using it?
> 
> > Maybe it can explain why the C compiler is recognize by the configure script as not working.
> >
> > Do you have any idea why I am unable to compile this w32api please?
> 
> w32api is not part of GCC, maybe you should ask on a mingw list, but
> it looks like you're calling its configure wrong and then complaining
> that it doesn't work.

For the "config.guess" file, yes it was supposed to be there because in w32api-3.17 this file was present.
In w32api-4.0.3.1, it is absent.
This file is useful to guess my platform:
$ ./config.guess 
i686-pc-linux-gnu
So, instead of calling this config.guess script, I can replace it by the "i686-pc-linux-gnu" string.
It is just strange that this file is missing.

For the "--disable-nls" option it is because I don't need Native Language Support for this compiler.
This option was available for w32api-3.17 but seems to be absent from the w32api-4.0.3.1 release.

Yes, I am aware that this is a problem of w32api (which is part of the mingw project).
This mailing-list is for discussions about gcc.
On the mailing-list of mingw, I have already asked, and there is a lack of responses so I try here.
I am using gcc-4.9.1 to build my cross-compiler as you can see above, so we can say that this discussion is not completely out of the mailing-list focus.

I am wondering why my C compiler cannot create executables.
I have compiled it with these options:
$ ../gcc-4.9.1/configure --prefix=/usr --target=i686-pc-mingw32 --disable-shared --enable-languages=c --disable-nls

I have always used these options for building my cross-compiler.
Today, I try with a new version of gcc and it is a failure.
Instead of downgrading, I would like to understand better why it does not work with the latest gcc, binutils, w32api and mingwrt.
If anyone has an idea about that, please tell me.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: w32api: configure: error: C compiler cannot create executables
  2014-08-07 19:59 w32api: configure: error: C compiler cannot create executables YuGiOhJCJ Mailing-List
  2014-08-07 20:05 ` Jonathan Wakely
@ 2014-08-07 21:07 ` Kai Ruottu
  1 sibling, 0 replies; 6+ messages in thread
From: Kai Ruottu @ 2014-08-07 21:07 UTC (permalink / raw)
  To: YuGiOhJCJ Mailing-List, gcc-help

7.8.2014, 22:59, YuGiOhJCJ Mailing-List kirjoitti:
> Hello,
>
> I am building a cross compiler (linux 32 bits -> windows 32 bits).
> I have compiled and installed:
> - binutils-2.24.51
> - gcc-4.9.1 (with mingwrt-4.0.3.1 and w32api-4.0.3.1 headers)

I understand this as the creation of the (bare) gcc-4.9.1 succeeding 
with only
the MinGW headers... But I don't understand why you didn't install the full
prebuilt 4.0.3.1 runtime and w32api stuff...

> But when I try to configure the w32api library, I got an error:

This I don't understand... Why you are trying to reinvent the wheel and 
recreate
the w32api headers and import libraries for the MS DLLs?

I myself have done this last when making a variation of the w32api for 
the Win32s
subset used with the Win3.1/Win32s 16/32-bit hybrid opsys in the 1990's...

 > Do you have any idea why I am unable to compile this w32api please?

Probably it wasn't thought that someone wants to reinvent the wheel with the
import libraries, if not being one of the MinGW-maintainers. Are you one 
of them
but don't know how they will be recreated after some fixes?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: w32api: configure: error: C compiler cannot create executables
  2014-08-07 21:06   ` YuGiOhJCJ Mailing-List
@ 2014-08-07 22:07     ` Jonathan Wakely
  2014-08-07 23:38       ` YuGiOhJCJ Mailing-List
  0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Wakely @ 2014-08-07 22:07 UTC (permalink / raw)
  To: YuGiOhJCJ Mailing-List; +Cc: gcc-help

On 7 August 2014 22:05, YuGiOhJCJ Mailing-List wrote:
> For the "config.guess" file, yes it was supposed to be there because in w32api-3.17 this file was present.
> In w32api-4.0.3.1, it is absent.
> This file is useful to guess my platform:
> $ ./config.guess
> i686-pc-linux-gnu
> So, instead of calling this config.guess script, I can replace it by the "i686-pc-linux-gnu" string.

It's used by configure to guess you platform if you don't tell it, so
using the script to tell configure is just pointless, you're setting
the value to what will be guessed anyway.

Don't use the --build option, and configure will guess it for you (by
calling build.aux/config,guess ... apparently you didn't look very
hard for the file).

> It is just strange that this file is missing.

It's just moved.

Stop using --build=`config.guess` because it's pointless, and the
problem goes away.

> For the "--disable-nls" option it is because I don't need Native Language Support for this compiler.
> This option was available for w32api-3.17 but seems to be absent from the w32api-4.0.3.1 release.

But w32api is not the compiler. If you don't want NLS in the compiler,
pass --disable-nls to the compiler, you don't need to pass it to other
things. So you can just stop using that option too.

> Yes, I am aware that this is a problem of w32api (which is part of the mingw project).
> This mailing-list is for discussions about gcc.
> On the mailing-list of mingw, I have already asked, and there is a lack of responses so I try here.
> I am using gcc-4.9.1 to build my cross-compiler as you can see above, so we can say that this discussion is not completely out of the mailing-list focus.

Just because you use GCC to compile some code doesn't make this list
the right place to ask about that code.


> I am wondering why my C compiler cannot create executables.
> I have compiled it with these options:
> $ ../gcc-4.9.1/configure --prefix=/usr --target=i686-pc-mingw32 --disable-shared --enable-languages=c --disable-nls

Look in the config.log file, it will show why it failed.

> I have always used these options for building my cross-compiler.
> Today, I try with a new version of gcc and it is a failure.

Because you used a different version of w32api, it has nothing to do
with the new GCC.

> Instead of downgrading, I would like to understand better why it does not work with the latest gcc, binutils, w32api and mingwrt.
> If anyone has an idea about that, please tell me.

The w32api package changed, but that's nothing to do with GCC.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: w32api: configure: error: C compiler cannot create executables
  2014-08-07 22:07     ` Jonathan Wakely
@ 2014-08-07 23:38       ` YuGiOhJCJ Mailing-List
  0 siblings, 0 replies; 6+ messages in thread
From: YuGiOhJCJ Mailing-List @ 2014-08-07 23:38 UTC (permalink / raw)
  To: gcc-help

> > For the "config.guess" file, yes it was supposed to be there because in w32api-3.17 this file was present.
> > In w32api-4.0.3.1, it is absent.
> > This file is useful to guess my platform:
> > $ ./config.guess
> > i686-pc-linux-gnu
> > So, instead of calling this config.guess script, I can replace it by the "i686-pc-linux-gnu" string.
> 
> It's used by configure to guess you platform if you don't tell it, so
> using the script to tell configure is just pointless, you're setting
> the value to what will be guessed anyway.
> 
> Don't use the --build option, and configure will guess it for you (by
> calling build.aux/config,guess ... apparently you didn't look very
> hard for the file).
> 
> > It is just strange that this file is missing.
> 
> It's just moved.
> 
> Stop using --build=`config.guess` because it's pointless, and the
> problem goes away.
> 
> > For the "--disable-nls" option it is because I don't need Native Language Support for this compiler.
> > This option was available for w32api-3.17 but seems to be absent from the w32api-4.0.3.1 release.
> 
> But w32api is not the compiler. If you don't want NLS in the compiler,
> pass --disable-nls to the compiler, you don't need to pass it to other
> things. So you can just stop using that option too.
> 
> > Yes, I am aware that this is a problem of w32api (which is part of the mingw project).
> > This mailing-list is for discussions about gcc.
> > On the mailing-list of mingw, I have already asked, and there is a lack of responses so I try here.
> > I am using gcc-4.9.1 to build my cross-compiler as you can see above, so we can say that this discussion is not completely out of the mailing-list focus.
> 
> Just because you use GCC to compile some code doesn't make this list
> the right place to ask about that code.
> 
> 
> > I am wondering why my C compiler cannot create executables.
> > I have compiled it with these options:
> > $ ../gcc-4.9.1/configure --prefix=/usr --target=i686-pc-mingw32 --disable-shared --enable-languages=c --disable-nls
> 
> Look in the config.log file, it will show why it failed.
> 
> > I have always used these options for building my cross-compiler.
> > Today, I try with a new version of gcc and it is a failure.
> 
> Because you used a different version of w32api, it has nothing to do
> with the new GCC.
> 
> > Instead of downgrading, I would like to understand better why it does not work with the latest gcc, binutils, w32api and mingwrt.
> > If anyone has an idea about that, please tell me.
> 
> The w32api package changed, but that's nothing to do with GCC.

Yes, you have totally right: That's nothing to do with gcc.
In fact, that was a problem occurring on the last w32api-4.0.3.1 tarball.
If I keep the old one (w32api-3.17), it works.
So, no problem to build a cross-compiler using:
- binutils-2.24.51
- gcc-4.9.1
- mingwrt-3.20.2
- w32api-3.17

Thanks for the support (and sorry for the wrong mailing-list).

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-08-07 23:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-07 19:59 w32api: configure: error: C compiler cannot create executables YuGiOhJCJ Mailing-List
2014-08-07 20:05 ` Jonathan Wakely
2014-08-07 21:06   ` YuGiOhJCJ Mailing-List
2014-08-07 22:07     ` Jonathan Wakely
2014-08-07 23:38       ` YuGiOhJCJ Mailing-List
2014-08-07 21:07 ` Kai Ruottu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).