Re: [Mingw-w64-public] Build issues on trunk

2013-08-27 Thread Jacek Caban
On 08/22/13 15:30, Jacek Caban wrote:
 Hi Erik,

 On 08/21/13 07:55, Erik van Pienbroek wrote:
 Hi,

 The current trunk seems to have some conflicting declarations which
 causes various build failures. Here are the failures we discovered with
 the test mass rebuild script.

 ===

 NSIS:

 i686-w64-mingw32-gcc -o build/release/stub_bzip2/Ui.o -c -Os -Wall -xc
 -fno-strict-aliasing -DNSISCALL= __attribute__((__stdcall__))
 -DEXEHEAD -DWIN32_LEAN_AND_MEAN -D_WIN32_IE=0x0500
 -DNSIS_COMPRESS_USE_BZIP2 -Ibuild/release/config Source/exehead/Ui.c
 In file included from Source/exehead/Ui.c:19:0:
 /usr/i686-w64-mingw32/sys-root/mingw/include/shellapi.h:191:16: error:
 conflicting types for 'PRINTEROP_FLAGS'
typedef WORD PRINTEROP_FLAGS;
 ^
 In file included from Source/exehead/Ui.c:18:0:
 /usr/i686-w64-mingw32/sys-root/mingw/include/shlobj.h:606:16: note:
 previous declaration of 'PRINTEROP_FLAGS' was here
typedef UINT PRINTEROP_FLAGS;
 ^
 ===

 wine-gecko:

 In file included from ../../dist/include/nsWindowsDllInterceptor.h:9:0,

 from 
 /builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/xpcom/base/AvailableMemoryTracker.cpp:25:
 /usr/i686-w64-mingw32/sys-root/mingw/include/winternl.h:913:27: error:
 conflicting declaration 'typedef THREADINFOCLASS
 THREAD_INFORMATION_CLASS'
typedef THREADINFOCLASS THREAD_INFORMATION_CLASS,
 *PTHREAD_INFORMATION_CLASS;
^
 In file included
 from /usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:70:0,
  from ../../dist/include/nsWindowsDllInterceptor.h:8,

 from 
 /builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/xpcom/base/AvailableMemoryTracker.cpp:25:
 /usr/i686-w64-mingw32/sys-root/mingw/include/winbase.h:1164:5: error:
 'THREAD_INFORMATION_CLASS' has a previous declaration as 'typedef enum
 _THREAD_INFORMATION_CLASS THREAD_INFORMATION_CLASS'
} THREAD_INFORMATION_CLASS;
  ^
 ===

 Could somebody take a look at these?
 I've seen this error as well (wine-gecko also hits the first bug you
 posted). Lately the trunk has been very unstable and I wasn't able to
 fix Gecko compilation because before I could test my fixes on rebased
 tree, new ones were introduced  (and, to be fair, the ones that I was
 testing were fixed occasionally). For the ones that you can see, the
 attached patch should help. I will work on upstreaming it, together with
 a few other patches, next week hoping that things will calm down
 meantime. If someone wants to take it, feel free.

Both problems should be fixed in the trunk.

Cheers,
Jacek

--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511iu=/4140/ostg.clktrk
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] Build issues on trunk

2013-08-22 Thread Jacek Caban
Hi Erik,

On 08/21/13 07:55, Erik van Pienbroek wrote:
 Hi,

 The current trunk seems to have some conflicting declarations which
 causes various build failures. Here are the failures we discovered with
 the test mass rebuild script.

 ===

 NSIS:

 i686-w64-mingw32-gcc -o build/release/stub_bzip2/Ui.o -c -Os -Wall -xc
 -fno-strict-aliasing -DNSISCALL= __attribute__((__stdcall__))
 -DEXEHEAD -DWIN32_LEAN_AND_MEAN -D_WIN32_IE=0x0500
 -DNSIS_COMPRESS_USE_BZIP2 -Ibuild/release/config Source/exehead/Ui.c
 In file included from Source/exehead/Ui.c:19:0:
 /usr/i686-w64-mingw32/sys-root/mingw/include/shellapi.h:191:16: error:
 conflicting types for 'PRINTEROP_FLAGS'
typedef WORD PRINTEROP_FLAGS;
 ^
 In file included from Source/exehead/Ui.c:18:0:
 /usr/i686-w64-mingw32/sys-root/mingw/include/shlobj.h:606:16: note:
 previous declaration of 'PRINTEROP_FLAGS' was here
typedef UINT PRINTEROP_FLAGS;
 ^
 ===

 wine-gecko:

 In file included from ../../dist/include/nsWindowsDllInterceptor.h:9:0,

 from 
 /builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/xpcom/base/AvailableMemoryTracker.cpp:25:
 /usr/i686-w64-mingw32/sys-root/mingw/include/winternl.h:913:27: error:
 conflicting declaration 'typedef THREADINFOCLASS
 THREAD_INFORMATION_CLASS'
typedef THREADINFOCLASS THREAD_INFORMATION_CLASS,
 *PTHREAD_INFORMATION_CLASS;
^
 In file included
 from /usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:70:0,
  from ../../dist/include/nsWindowsDllInterceptor.h:8,

 from 
 /builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/xpcom/base/AvailableMemoryTracker.cpp:25:
 /usr/i686-w64-mingw32/sys-root/mingw/include/winbase.h:1164:5: error:
 'THREAD_INFORMATION_CLASS' has a previous declaration as 'typedef enum
 _THREAD_INFORMATION_CLASS THREAD_INFORMATION_CLASS'
} THREAD_INFORMATION_CLASS;
  ^
 ===

 Could somebody take a look at these?

I've seen this error as well (wine-gecko also hits the first bug you
posted). Lately the trunk has been very unstable and I wasn't able to
fix Gecko compilation because before I could test my fixes on rebased
tree, new ones were introduced  (and, to be fair, the ones that I was
testing were fixed occasionally). For the ones that you can see, the
attached patch should help. I will work on upstreaming it, together with
a few other patches, next week hoping that things will calm down
meantime. If someone wants to take it, feel free.

Cheers,
Jacek
diff --git a/mingw-w64-headers/include/shlobj.h 
b/mingw-w64-headers/include/shlobj.h
index 836df3b..8ef4656 100644
--- a/mingw-w64-headers/include/shlobj.h
+++ b/mingw-w64-headers/include/shlobj.h
@@ -603,7 +603,6 @@ extern C {
 
 #define PO_REN_PORT 0x0034
 
-  typedef UINT PRINTEROP_FLAGS;
 #endif
 
 #undef INTERFACE
diff --git a/mingw-w64-headers/include/winternl.h 
b/mingw-w64-headers/include/winternl.h
index c9ba7c4..5d862f1 100644
--- a/mingw-w64-headers/include/winternl.h
+++ b/mingw-w64-headers/include/winternl.h
@@ -910,7 +910,6 @@ typedef struct _RTL_USER_PROCESS_PARAMETERS {
  ThreadIsIoPending,
  ThreadHideFromDebugger
   } THREADINFOCLASS;
-  typedef THREADINFOCLASS THREAD_INFORMATION_CLASS, *PTHREAD_INFORMATION_CLASS;
 
   typedef enum _SYSTEM_INFORMATION_CLASS {
 SystemBasicInformation = 0,
--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511iu=/4140/ostg.clktrk___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] Build issues on trunk

2013-08-21 Thread Erik van Pienbroek
Erik van Pienbroek schreef op wo 21-08-2013 om 07:55 [+0200]:
 Hi,
 
 The current trunk seems to have some conflicting declarations which
 causes various build failures. Here are the failures we discovered with
 the test mass rebuild script.

Additionally these two failures were also discovered:

qt5-qtsystems:

In file included
from 
/builddir/build/BUILD/qt-qtsystems/src/systeminfo/windows/qdeviceinfo_win.cpp:50:0:
/usr/i686-w64-mingw32/sys-root/mingw/include/vfw.h:908:3: error:
'interface' does not name a type
   DECLARE_INTERFACE_(IAVIStream,IUnknown) {
   ^
In file included
from 
/builddir/build/BUILD/qt-qtsystems/src/systeminfo/windows/qdeviceinfo_win.cpp:50:0:
/usr/i686-w64-mingw32/sys-root/mingw/include/vfw.h:925:11: error:
'IAVIStream' does not name a type
   typedef IAVIStream *PAVISTREAM;
   ^
(and some more cascaded ones, to me the 'interface' one looks like the
primary cause)



qt5-qtbase:

/builddir/build/BUILD/qtbase-opensource-src-5.1.0/src/corelib/io/qfilesystemengine_win.cpp:578:3:
 error: conflicting declaration 'typedef struct _FILE_ID_128 FILE_ID_128'
 } FILE_ID_128, *PFILE_ID_128;
   ^
In file included
from /usr/i686-w64-mingw32/sys-root/mingw/include/minwindef.h:146:0,

from /usr/i686-w64-mingw32/sys-root/mingw/include/windef.h:8,

from /usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:69,

from 
/builddir/build/BUILD/qtbase-opensource-src-5.1.0/include/QtCore/../../src/corelib/global/qt_windows.h:71,

from 
/builddir/build/BUILD/qtbase-opensource-src-5.1.0/include/QtCore/qt_windows.h:1,

from /builddir/build/BUILD/qtbase-opensource-src-5.1.0/mkspecs/win32-g
++-cross/qplatformdefs.h:63,

from 
/builddir/build/BUILD/qtbase-opensource-src-5.1.0/src/corelib/io/qfilesystemmetadata_p.h:56,

from 
/builddir/build/BUILD/qtbase-opensource-src-5.1.0/src/corelib/io/qfilesystemengine_p.h:58,

from 
/builddir/build/BUILD/qtbase-opensource-src-5.1.0/src/corelib/io/qfilesystemengine_win.cpp:42:
/usr/i686-w64-mingw32/sys-root/mingw/include/winnt.h:3767:7: error:
'FILE_ID_128' has a previous declaration as 'typedef struct FILE_ID_128
FILE_ID_128'
 } FILE_ID_128, *PFILE_ID_128;
   ^

This seems to be caused by the fact that this structure was only added
to mingw-w64 recently (r6115). As it was missing before, the qt folks
decided to manually implement it for mingw compilers and msvc = 1700.
Apparently the qt5-qtbase implementation of this structure differs from
the implementation done in mingw-w64. For comparison:

==

mingw-w64 winnt.h:

typedef struct FILE_ID_128 {
  ULONGLONG LowPart;
  ULONGLONG HighPart;
} FILE_ID_128, *PFILE_ID_128; 

==

qt5-qtbase:

#  if defined(Q_CC_MINGW) || (defined(Q_CC_MSVC)  _MSC_VER  1700)

typedef struct _FILE_ID_128 {
BYTE  Identifier[16];
} FILE_ID_128, *PFILE_ID_128;

typedef struct _FILE_ID_INFO {
ULONGLONG VolumeSerialNumber;
FILE_ID_128 FileId;
} FILE_ID_INFO, *PFILE_ID_INFO;
#  endif // if defined (Q_CC_MINGW) || (defined(Q_CC_MSVC)  _MSC_VER  1700))

==

The MSDN docs are a bit vague in this area. They only refer to a structure 
called EXT_FILE_ID_128 instead of just FILE_ID_128: 
http://msdn.microsoft.com/nl-nl/library/windows/desktop/hh802691%28v=vs.85%29.aspx
 and 
http://msdn.microsoft.com/nl-nl/library/windows/desktop/hh965605%28v=vs.85%29.aspx

Regards,

Erik



--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511iu=/4140/ostg.clktrk
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


[Mingw-w64-public] Build issues on trunk

2013-08-20 Thread Erik van Pienbroek
Hi,

The current trunk seems to have some conflicting declarations which
causes various build failures. Here are the failures we discovered with
the test mass rebuild script.

===

NSIS:

i686-w64-mingw32-gcc -o build/release/stub_bzip2/Ui.o -c -Os -Wall -xc
-fno-strict-aliasing -DNSISCALL= __attribute__((__stdcall__))
-DEXEHEAD -DWIN32_LEAN_AND_MEAN -D_WIN32_IE=0x0500
-DNSIS_COMPRESS_USE_BZIP2 -Ibuild/release/config Source/exehead/Ui.c
In file included from Source/exehead/Ui.c:19:0:
/usr/i686-w64-mingw32/sys-root/mingw/include/shellapi.h:191:16: error:
conflicting types for 'PRINTEROP_FLAGS'
   typedef WORD PRINTEROP_FLAGS;
^
In file included from Source/exehead/Ui.c:18:0:
/usr/i686-w64-mingw32/sys-root/mingw/include/shlobj.h:606:16: note:
previous declaration of 'PRINTEROP_FLAGS' was here
   typedef UINT PRINTEROP_FLAGS;
^
===

wine-gecko:

In file included from ../../dist/include/nsWindowsDllInterceptor.h:9:0,

from 
/builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/xpcom/base/AvailableMemoryTracker.cpp:25:
/usr/i686-w64-mingw32/sys-root/mingw/include/winternl.h:913:27: error:
conflicting declaration 'typedef THREADINFOCLASS
THREAD_INFORMATION_CLASS'
   typedef THREADINFOCLASS THREAD_INFORMATION_CLASS,
*PTHREAD_INFORMATION_CLASS;
   ^
In file included
from /usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:70:0,
 from ../../dist/include/nsWindowsDllInterceptor.h:8,

from 
/builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/xpcom/base/AvailableMemoryTracker.cpp:25:
/usr/i686-w64-mingw32/sys-root/mingw/include/winbase.h:1164:5: error:
'THREAD_INFORMATION_CLASS' has a previous declaration as 'typedef enum
_THREAD_INFORMATION_CLASS THREAD_INFORMATION_CLASS'
   } THREAD_INFORMATION_CLASS;
 ^
===

Could somebody take a look at these?

Thanks!

Erik



--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511iu=/4140/ostg.clktrk
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public