Question

Right now I'm trying to compile the google protocol buffers from source with MinGW but when I try:

Matthew@RaRemoz-8 /e/workspace/protobuf-2.5.0
$ ./configure
checking whether to enable maintainer-specific portions of Makefiles... yes
checking build system type... i686-pc-mingw32
checking host system type... i686-pc-mingw32
checking target system type... i686-pc-mingw32
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc

checking whether the C compiler works... no
configure: error: in `/e/workspace/protobuf-2.5.0':
configure: error: C compiler cannot create executables
See `config.log' for more details

and the config says: This

it seems to fail around this

configure:3474: checking whether the C compiler works
configure:3496: gcc    conftest.c  >&5
gcc.exe: error: CreateProcess: No such file or directory
configure:3500: $? = 1
configure:3538: result: no

heres the output of -v:

$ gcc -v helloworld.c
Using built-in specs.
COLLECT_GCC=E:\MinGW\bin\gcc.exe
Target: mingw32
Configured with: ../gcc-4.8.1/configure --prefix=/mingw --host=mingw32 --build=m
ingw32 --without-pic --enable-shared --enable-static --with-gnu-ld --enable-lto
--enable-libssp --disable-multilib --enable-languages=c,c++,fortran,objc,obj-c++
,ada --disable-sjlj-exceptions --with-dwarf2 --disable-win32-registry --enable-l
ibstdcxx-debug --enable-version-specific-runtime-libs --with-gmp=/usr/src/pkg/gm
p-5.1.2-1-mingw32-src/bld --with-mpc=/usr/src/pkg/mpc-1.0.1-1-mingw32-src/bld --
with-mpfr= --with-system-zlib --with-gnu-as --enable-decimal-float=yes --enable-
libgomp --enable-threads --with-libiconv-prefix=/mingw32 --with-libintl-prefix=/
mingw --disable-bootstrap LDFLAGS=-s CFLAGS=-D_USE_32BIT_TIME_T
Thread model: win32
gcc version 4.8.1 (GCC)
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=pentiumpro'
 cc1 -quiet -v -iprefix E:\MinGWmingw32/4.8.1/ helloworld.c -quiet -dumpbase hel
loworld.c -mtune=generic -march=pentiumpro -auxbase helloworld -version -o C:\Us
ers\Matthew\AppData\Local\Temp\ccVVxhTh.s
gcc.exe: error: CreateProcess: No such file or directory

anyone encountered this or can help with this?

No correct solution

OTHER TIPS

There's something wrong with your MinGW install, or maybe it's just that your PATH environment variable isn't set up quite right.

  • COLLECT_GCC indicates that gcc is in E:\MinGW\bin\gcc.exe
  • COLLECT_GCC_OPTIONS indicates that gcc couldn't locate cc1.exe, so it's trying to execute it as a simple cc1 command hoping that the system will find it by a normal PATH search. The system doesn't find it, so you get the CreateProcess error. Because the Target that GCC is built for is mingw32, I'd expect that cc1.exe would be located in E:\MinGW\libexec\gcc\mingw32\4.8.1\cc1.exe.

There's something else interesting about the cc1 invocation: it specifies the option -iprefix E:\MinGWmingw32/4.8.1/.

I'd expect it to look like: -iprefix E:\MinGW\bin\../lib/gcc/mingw32/4.8.1/

Something is munging the -iprefix option, but I'm not sure what.

I'd suggest reinstalling MinGW. As mentioned in one of my comments, I'd choose one of the following distributions since they've always installed in a straightforward manner for me. I can't say the same thing for the standard MinGW distribution installer, though I hear it's been greatly improved over the past few years.

  • nuwen.net's MinGW Distro - note that recent versions of this are 64-bit native, so it will only run on 64-bit machines and apparently will only build 64-bit binaries (distro versions before 11.0 were 32-bit native and only built 32-bit binaries). One very nice thing about nuwen MinGW is that installation is simply unpacking the archive and setting the path appropriately. There's a set_distro_paths.bat that will add it to the path for you. Nuwen's distribution also includes several libraries, including Boost. Unfortunately C++11 threads don't seem to be supported just yet.

  • TDM MinGW - you have a choice of 32-bit or 64-bit versions. The 64-bit version will build either 32 or 64-bit targets. The toolchain itself is a 32-bit build, so it doesn't need a 64-bit machine to perform the compile/link steps. Use the -m32 option to build a 32-bit target. The installer for TDM is a wizard-style installer. C++ 11 threads are supported, but Boost isn't included.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top