qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1276847] [NEW] Build fails on latest MinGW


From: Corry Lazarowitz
Subject: [Qemu-devel] [Bug 1276847] [NEW] Build fails on latest MinGW
Date: Wed, 05 Feb 2014 22:44:29 -0000

Public bug reported:

I've run across all sorts of problems.  The first was simple, warnings
treated as errors, and a warning of -fPIC ignored because its generating
all code as position independant.  Next came the %hhx's everywhere.
MinGW is apparently following old MSVC non-C99 compliant systems, and
hhx is not defined.  Again, warnings as errors killed the build.  zlib
can never be found, for some reason I have to add a -I /include.  %llx
is also not recognized on mingw, but MinGW does have inttypes.h, so
those could easily be converted to PRIx64's with a regex.  asprintf is
not included in MinGW, used in srcpos.c only so far, so I added an
implementation in my build driectory which I found online.  lstat is not
part of mingw, and ntfs's links are different anyhow, so I #defined
lstat to stat.  fnmatch is included in libiberty, so I had to frab
fnmatch.h from MinGW's sourceforge and then add the -liberty statement
to the makefile.

I get the feeling though, based on the number of warnings I'm seeing
flash across as the compiler attempts to go through this that there are
going to be more errors to fix. Catching the initial errors was quite
tough because for some reason in pixman and dtc the errors couldn't
cause compilation to stop, and running make again wouldn't attempt to
rebuild the failures.  I had to watch it like a hawk and ctrl-c it when
I saw an error until I finally got a build!

For reference, my build system looks like:

address@hidden /c/projects/qemu-1.7.0
$ gcc -v
Using built-in specs.
COLLECT_GCC=C:\mingw\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.8.1/lto-wrapper.exe
Target: mingw32
Configured with: ../gcc-4.8.1/configure --prefix=/mingw --host=mingw32 
--build=mingw32 --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-libstdcxx-debug 
--enable-version-specific-runtime-libs 
--with-gmp=/usr/src/pkg/gmp-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)

I'm not wonderful with making patches, and most of what I've done I've
not properly guarded against other OS's either, but if you want,
assuming I ever get it to build, I can post the patch of all the changes
I made...

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1276847

Title:
  Build fails on latest MinGW

Status in QEMU:
  New

Bug description:
  I've run across all sorts of problems.  The first was simple, warnings
  treated as errors, and a warning of -fPIC ignored because its
  generating all code as position independant.  Next came the %hhx's
  everywhere.  MinGW is apparently following old MSVC non-C99 compliant
  systems, and hhx is not defined.  Again, warnings as errors killed the
  build.  zlib can never be found, for some reason I have to add a -I
  /include.  %llx is also not recognized on mingw, but MinGW does have
  inttypes.h, so those could easily be converted to PRIx64's with a
  regex.  asprintf is not included in MinGW, used in srcpos.c only so
  far, so I added an implementation in my build driectory which I found
  online.  lstat is not part of mingw, and ntfs's links are different
  anyhow, so I #defined lstat to stat.  fnmatch is included in
  libiberty, so I had to frab fnmatch.h from MinGW's sourceforge and
  then add the -liberty statement to the makefile.

  I get the feeling though, based on the number of warnings I'm seeing
  flash across as the compiler attempts to go through this that there
  are going to be more errors to fix. Catching the initial errors was
  quite tough because for some reason in pixman and dtc the errors
  couldn't cause compilation to stop, and running make again wouldn't
  attempt to rebuild the failures.  I had to watch it like a hawk and
  ctrl-c it when I saw an error until I finally got a build!

  For reference, my build system looks like:

  address@hidden /c/projects/qemu-1.7.0
  $ gcc -v
  Using built-in specs.
  COLLECT_GCC=C:\mingw\bin\gcc.exe
  COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.8.1/lto-wrapper.exe
  Target: mingw32
  Configured with: ../gcc-4.8.1/configure --prefix=/mingw --host=mingw32 
--build=mingw32 --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-libstdcxx-debug 
--enable-version-specific-runtime-libs 
--with-gmp=/usr/src/pkg/gmp-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)

  I'm not wonderful with making patches, and most of what I've done I've
  not properly guarded against other OS's either, but if you want,
  assuming I ever get it to build, I can post the patch of all the
  changes I made...

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1276847/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]