From: Bidski <bi...@bi...> - 2010-07-08 06:05:31
|
Hi all, Just running through this but have run into a problem while building the crt. Everything else has appeared to configure and make without error thus far. The error I am getting is while running make and looks like this make[1]: Entering directory `/mingw64/mingw64/mingw-w64-crt/build' x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -m64 -pipe -std=gnu99 -Wall -Wextra -Wformat -Wstrict-aliasing -Wshadow -Wpacked -Winline -Wimplicit-function-declaration -Wmissing-noreturn -Wmissing-prototypes -g -O2 -MT libsrc/lib64_libdinput_a-dinput_kbd.o -MD -MP -MF libsrc/.deps/lib64_libdinput_a-dinput_kbd.Tpo -c -o libsrc/lib64_libdinput_a-dinput_kbd.o `test -f 'libsrc/dinput_kbd.c' || echo '../'`libsrc/dinput_kbd.c In file included from C:\MinGW\include/windef.h:253:0, from C:\MinGW\include/windows.h:48, from ../libsrc/dinput_private.h:16, from ../libsrc/dinput_kbd.c:13: C:\MinGW\include/winnt.h:2394:2: error: #error "undefined processor type" C:\MinGW\include/winnt.h:2396:17: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token C:\MinGW\include/winnt.h:2407:2: error: expected specifier-qualifier-list before 'PCONTEXT' In file included from C:\MinGW\include/windows.h:50:0, from ../libsrc/dinput_private.h:16, from ../libsrc/dinput_kbd.c:13: C:\MinGW\include/winbase.h:1595:48: error: expected declaration specifiers or '...' before 'LPCONTEXT' C:\MinGW\include/winbase.h:1974:61: error: expected ';', ',' or ')' before '*' token make[1]: *** [libsrc/lib64_libdinput_a-dinput_kbd.o] Error 1 make[1]: Leaving directory `/mingw64/mingw64/mingw-w64-crt/build' make: *** [all] Error 2 I have googled this a bit and looked in this mailing lists archives but cant really find much. Can anyone tell me whats wrong here? Regards Bidski |
From: Ozkan S. <se...@gm...> - 2010-07-08 06:29:49
|
On Thu, Jul 8, 2010 at 9:05 AM, Bidski <bi...@bi...> wrote: > Hi all, > > Just running through this but have run into a problem while building the > crt. Everything else has appeared to configure and make without error thus > far. > > The error I am getting is while running make and looks like this > > make[1]: Entering directory `/mingw64/mingw64/mingw-w64-crt/build' > x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -m64 -pipe -std=gnu99 > -Wall -Wextra -Wformat -Wstrict-aliasing -Wshadow -Wpacked -Winline > -Wimplicit-function-declaration -Wmissing-noreturn -Wmissing-prototypes -g > -O2 -MT libsrc/lib64_libdinput_a-dinput_kbd.o -MD -MP -MF > libsrc/.deps/lib64_libdinput_a-dinput_kbd.Tpo -c -o > libsrc/lib64_libdinput_a-dinput_kbd.o `test -f 'libsrc/dinput_kbd.c' || echo > '../'`libsrc/dinput_kbd.c > In file included from C:\MinGW\include/windef.h:253:0, > from C:\MinGW\include/windows.h:48, > from ../libsrc/dinput_private.h:16, > from ../libsrc/dinput_kbd.c:13: > C:\MinGW\include/winnt.h:2394:2: error: #error "undefined processor type" You are using headers from mingw.org and not from mingw-w64. Please use headers from mingw-w64. > C:\MinGW\include/winnt.h:2396:17: error: expected '=', ',', ';', 'asm' or > '__attribute__' before '*' token > C:\MinGW\include/winnt.h:2407:2: error: expected specifier-qualifier-list > before 'PCONTEXT' > In file included from C:\MinGW\include/windows.h:50:0, > from ../libsrc/dinput_private.h:16, > from ../libsrc/dinput_kbd.c:13: > C:\MinGW\include/winbase.h:1595:48: error: expected declaration specifiers > or '...' before 'LPCONTEXT' > C:\MinGW\include/winbase.h:1974:61: error: expected ';', ',' or ')' before > '*' token > make[1]: *** [libsrc/lib64_libdinput_a-dinput_kbd.o] Error 1 > make[1]: Leaving directory `/mingw64/mingw64/mingw-w64-crt/build' > make: *** [all] Error 2 > I have googled this a bit and looked in this mailing lists archives but cant > really find much. Can anyone tell me whats wrong here? > > Regards > Bidski -- Ozkan |
From: Bidski <bi...@bi...> - 2010-07-08 07:02:39
|
"Ozkan Sezer" <se...@gm...> wrote: > You are using headers from mingw.org and not from mingw-w64. > Please use headers from mingw-w64. Should I overwrite the heaqders I have from mingw.org or should i set some CFLAGS/CXXFLAGS to make it look for the mingw-w64 headers? Regards Bidski |
From: Ozkan S. <se...@gm...> - 2010-07-08 07:09:32
|
On Thu, Jul 8, 2010 at 10:01 AM, Bidski <bi...@bi...> wrote: > "Ozkan Sezer" <se...@gm...> wrote: >> >> You are using headers from mingw.org and not from mingw-w64. >> Please use headers from mingw-w64. > > Should I overwrite the heaqders I have from mingw.org or should i set some > CFLAGS/CXXFLAGS to make it look for the mingw-w64 headers? > For all of your mingw-w64 purposes, do not use mingw.org headers, just delete them. (For the record, the particular error you reported is due to the fact that mingw.org headers don't know how to handle x86_64, so they error out. On the other hand, there is zero guarantee that those headers would work with mingw-w64 configured for x86. So either delete them, or use another directory with the mingw-w64 headers installed.) > Regards > Bidski > -- Ozkan |
From: Ozkan S. <se...@gm...> - 2010-07-08 07:30:54
|
On Thu, Jul 8, 2010 at 10:20 AM, Bidski <bi...@bi...> wrote: > The mingw.org headers are the ones im using to build this cross-compiler, > which is why I am wondering if its safe to get rid of them. Hmm, you used mingw.org compiler to build a w64 compiler, yes? In that case, the answer is yes, it is safe to get rid of those headers and not allow the w64 compiler to use them. > > The mingw-w64 headers are installed, but for some reason it is defaulting to > mingw.org headers. > Tell us exactly how you configured and built your w64 compiler. It may have to do with the configuration time options, I guess. Others here may have more to say on the matter. > Regards > Bidski > -- Ozkan PS: Please do not drop the mailing list from the CC-list so others can also see and help. |
From: Bidski <bi...@bi...> - 2010-07-08 07:42:52
|
"Ozkan Sezer" <se...@gm...> wrote: > Tell us exactly how you configured and built your w64 compiler. > It may have to do with the configuration time options, I guess. My compile time options are exactly as specified in the guide I mentioned earlier. I used --disable-multilib wherever it gave the option to use it and used --prefix and --with-sysroot where possible too. > Hmm, you used mingw.org compiler to build a w64 compiler, yes? Yes, I originally followed this guide (http://wiki.wxwidgets.org/HowTo:_Install_MSYS_and_MinGW_for_use_with_Eclipse_CDT) to get MSYS/MinGW set up, then realised that I need mingw-w64 as well. Although recently (earlier today in fact) I downloaded new MSYS files from mingw-w64 sf site (just remembered I did that). Ok, I shall replace the include files from mingw.org and see how it goes. Regards Bidski |
From: Bidski <bi...@bi...> - 2010-07-08 09:00:19
|
That appears to have worked. Thank you for your help Ozkan. Regards Bidski |
From: Bidski <bi...@bi...> - 2010-07-08 09:22:28
|
Hi all, Im running on a AMD64 processor with Windows 7 64 bit OS and I just finished building a Win32/Win64 cross-compiler (using --disable-multilib and --target=x86_64-w64-mingw32). Im wondering now if I should continue and build a native Win64 compiler. My main questions are: 1) What precisely is the difference between the cross-compiler and the native compiler in terms of the files that are generated from the build and the files that are generated when compiling projects with the cross-compiler, 2) What is difference between having a multilib and a non-multilib cross-compiler? I assume multilib has both 32 and 64 bit libraries and therefore the capability to produce 32 and 64 bit output? Does non-multilib (with --target=x86_64-w64-mingw32) produce only 64 bit output? and, 3) Is there any major advantage to having a native Win64 compiler? If this is all answered somewhere else, please point me in the right direction. Regards Bidski |
From: Ruben V. B. <van...@gm...> - 2010-07-08 10:05:07
|
> > 1) What precisely is the difference between the cross-compiler and the > native compiler in terms of the files that are generated from the build and > the files that are generated when compiling projects with the > cross-compiler, > There should be no difference between the created files. GCC is GCC, and if the target is the same, the output is the same. > 2) What is difference between having a multilib and a non-multilib > cross-compiler? I assume multilib has both 32 and 64 bit libraries and > therefore the capability to produce 32 and 64 bit output? Does non-multilib > (with --target=x86_64-w64-mingw32) produce only 64 bit output? and, > You're completely correct. Without multilib, only one kind of output can be produced. With a multilib enabled compiler (see TDM-GCC for example), you have a default target, and force the other to be active by calling gcc/g++ with "-m32" or "-m64" to build for the other target. > 3) Is there any major advantage to having a native Win64 compiler? > Generally, x64 applications (on Windows at least) have access to more CPU registers without any specific x64 optimization. If this translates into a speed boost in the case of GCC or binutils, I don't know. What I do know is that some large libraries (like Qt's QtGui and wxWidgets) force ld (when using GCC 4.5+) to use an enormous amount of memory that makes a 32-bit version of ld run out of memory. Using a x64 native ld.exe allows it to access enough memory. (I believe this memory usage is being treated as a bug) |
From: NightStrike <nig...@gm...> - 2010-07-08 18:14:10
|
On Thu, Jul 8, 2010 at 3:41 AM, Bidski <bi...@bi...> wrote: >> Hmm, you used mingw.org compiler to build a w64 compiler, yes? > Yes, I originally followed this guide > (http://wiki.wxwidgets.org/HowTo:_Install_MSYS_and_MinGW_for_use_with_Eclipse_CDT) > to get MSYS/MinGW set up, then realised that I need mingw-w64 as well. I would suggest in the future just using our makefile to pull sources and build your toolchain properly. Look in svn under experimental/buildsystem/makebuildroot.mk |
From: Bidski <bi...@bi...> - 2010-07-08 10:27:52
|
Ok, so with GCC and BinUtils configured as they are currently on my system (--disable-multilib and --target=x86_64-w64-mingw32 and nothing else specified except for --prefix and --with-sysroot) do I have 32 bit GCC and BinUtils that is capable of building 64 bit only, or do I have 64 bit BinUtils and GCC? I didnt set --host or --build but having a look at the output from configure for both BinUtils and GCC it says checking build system type... i686-pc-mingw32 checking host system type... i686-pc-mingw32 Regards Bidski |
From: Dmitrijs L. <dmi...@ub...> - 2010-07-08 10:32:01
|
On 8 July 2010 11:26, Bidski <bi...@bi...> wrote: > Ok, so with GCC and BinUtils configured as they are currently on my system > (--disable-multilib and --target=x86_64-w64-mingw32 and nothing else > specified except for --prefix and --with-sysroot) do I have 32 bit GCC and > BinUtils that is capable of building 64 bit only, or do I have 64 bit > BinUtils and GCC? > > I didnt set --host or --build but having a look at the output from configure > for both BinUtils and GCC it says > checking build system type... i686-pc-mingw32 > checking host system type... i686-pc-mingw32 > > Regards > Bidski You have 1 cross-compiler configured to run on 32bit windows which compiles / generates code for 64bit windows. > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > Mingw-w64-public mailing list > Min...@li... > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public > > |
From: Bidski <bi...@bi...> - 2010-07-08 13:01:21
|
"Dmitrijs Ledkovs" <dmi...@ub...> wrote: > You have 1 cross-compiler configured to run on 32bit windows which > compiles / generates code for 64bit windows. Thank you very much for that clarification. Regards Bidski |