Building Oolite Windows from source - The Easier Way

News and discussion of the PC port of Oolite.

Moderators: another_commander, winston

User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

Re: Building Oolite Windows from source - The Easier Way

Post by Tricky »

Svengali wrote:
El Viejo wrote:
Tricky wrote:Threaded optimisation was the culprit.
Ah... good. I've had that disabled since I switched to nVidia. Oolite doesn't seem to like it much (on some machines, anyway), it seems.
Yep. It has even caused CTDs on some machines (Core2Duo) whenever specific models are spawned.
It just gets better. Here's me thinking that it would help the GPU if the threads for rendering were spread over multiple CPUs. :roll:

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 13825
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: Building Oolite Windows from source - The Easier Way

Post by Cody »

Tricky wrote:Here's me thinking that it would help the GPU if the threads for rendering were spread over multiple CPUs.
Oh it does help the GPU! If enabled on my machine, the GPU just shunts the load onto the CPU, and puts its feet up!

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 13825
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: Building Oolite Windows from source - The Easier Way

Post by Cody »

another_commander wrote:Those of you who pay attention to detail will notice that there is a folder named Mingw64 in the distribution, which contains a zip file and a readme. The zipped file contains the 64-bit version of the compiler, which unfortunately I cannot do anything with since I don't have a 64-bit operating system handy. It is a complete, ready-to-run environment for 64-bits, but anyone who would like to use it will have to unzip the file at the location it is, rename the Mingw64 folder to Mingw (and of course rename the existing Mingw folder to something else first) and rebuild all the game's dependencies, plus the executable of course. In other words, the task requires someone who knows what they are doing. It's not easy, but here it is for whomever would like to take the plunge.
I keep looking at this... but I know it's beyond my ken. Is there a chance of it being made usable for dumb pilots in the near future?

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5530
Joined: Wed Feb 28, 2007 7:54 am

Re: Building Oolite Windows from source - The Easier Way

Post by another_commander »

Well, if I ever get my hands on a 64-bit Windows system, you can bet I'm going to try it. Donations welcome. :-P

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 13825
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: Building Oolite Windows from source - The Easier Way

Post by Cody »

another_commander wrote:Well, if I ever get my hands on a 64-bit Windows system, you can bet I'm going to try it. Donations welcome.
Heh... I've barely managed to save enough pennies to double my RAM (I'll be on Win7 64bit for the new year), so no donations, unfortunately.

User avatar
Commander McLane
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Re: Building Oolite Windows from source - The Easier Way

Post by Commander McLane »

another_commander wrote:Well, if I ever get my hands on a 64-bit Windows system, you can bet I'm going to try it. Donations welcome. :-P
You could try a Kickstarter. :wink:

User avatar
Cmd. Cheyd
---- E L I T E ----
---- E L I T E ----
Posts: 929
Joined: Tue Dec 16, 2008 2:52 pm
Location: Deep Horizon Industries Manufacturing & Research Site somewhere in G8...

Re: Building Oolite Windows from source - The Easier Way

Post by Cmd. Cheyd »

A_C -
Would VPN access to a Win7 x64 VM be of assistance?

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5530
Joined: Wed Feb 28, 2007 7:54 am

Re: Building Oolite Windows from source - The Easier Way

Post by another_commander »

Cmd. Cheyd wrote:A_C -
Would VPN access to a Win7 x64 VM be of assistance?
As discussed on IRC, it would be, but not right now. We can have a look at it in the near future. Thanks for offering this access.

User avatar
Pleb
---- E L I T E ----
---- E L I T E ----
Posts: 884
Joined: Sun Apr 29, 2012 2:23 pm
Location: United Kingdom

Re: Building Oolite Windows from source - The Easier Way

Post by Pleb »

another_commander wrote:Those of you who pay attention to detail will notice that there is a folder named Mingw64 in the distribution, which contains a zip file and a readme. The zipped file contains the 64-bit version of the compiler, which unfortunately I cannot do anything with since I don't have a 64-bit operating system handy. It is a complete, ready-to-run environment for 64-bits, but anyone who would like to use it will have to unzip the file at the location it is, rename the Mingw64 folder to Mingw (and of course rename the existing Mingw folder to something else first) and rebuild all the game's dependencies, plus the executable of course. In other words, the task requires someone who knows what they are doing. It's not easy, but here it is for whomever would like to take the plunge.
Okay so I've got a new computer, Intel Core i5 processor, 8GB RAM, Nvidia Graphics Card with 1GB memory...and sadly Windows 8. Still, it's 64 bit so I though I'd try and give what another_commander tslked about in the quote above...

...except, I get this error when trying to compile:

Code: Select all

GNUstep System Root is /mingw/../devlibs/gnustep1201/System

Jake@JAKE-LAPTOP ~
$ cd /c/oolite-source/oolite-source-1.77

Jake@JAKE-LAPTOP /c/oolite-source/oolite-source-1.77
$ make debug=no
This is gnustep-make 2.4.0. Type 'make print-gnustep-make-help' for help.
Making all for objc_program oolite...
 Compiling file src/Core/legacy_random.c ...
 Compiling file src/BSDCompat/strlcpy.c ...
 Compiling file src/Core/Debug/OOTCPStreamDecoder.c ...
 Compiling file src/Core/OOPlanetData.c ...
 Compiling file src/Core/Debug/OODebugMonitor.m ...
In file included from c:\oolite-build\msys_x2\1.0\mingw\bin\../lib/gcc/x86_64-w6
4-mingw32/4.7.1/../../../../x86_64-w64-mingw32/include/windows.h:74:0,
                 from C:/Oolite-Build/Msys_x2/1.0/mingw/../devlibs/gnustep1201/L
ocal/Library/Headers/GNUstepBase/preface.h:57,
                 from C:/Oolite-Build/Msys_x2/1.0/mingw/../devlibs/gnustep1201/L
ocal/Library/Headers/GNUstepBase/GSConfig.h:225,
                 from C:/Oolite-Build/Msys_x2/1.0/mingw/../devlibs/gnustep1201/L
ocal/Library/Headers/GNUstepBase/GSVersionMacros.h:193,
                 from C:/Oolite-Build/Msys_x2/1.0/mingw/../devlibs/gnustep1201/L
ocal/Library/Headers/Foundation/Foundation.h:30,
                 from src/Core/OOCocoa.h:35,
                 from src/Core/Debug/OODebugMonitor.h:38,
                 from src/Core/Debug/OODebugMonitor.m:33:
c:\oolite-build\msys_x2\1.0\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../
../../x86_64-w64-mingw32/include/wincon.h:324:3: error: unknown type name 'BOOL'

In file included from C:/Oolite-Build/Msys_x2/1.0/mingw/../devlibs/gnustep1201/L
ocal/Library/Headers/Foundation/NSPort.h:37:0,
                 from C:/Oolite-Build/Msys_x2/1.0/mingw/../devlibs/gnustep1201/L
ocal/Library/Headers/Foundation/NSPortMessage.h:30,
                 from C:/Oolite-Build/Msys_x2/1.0/mingw/../devlibs/gnustep1201/L
ocal/Library/Headers/Foundation/Foundation.h:94,
                 from src/Core/OOCocoa.h:35,
                 from src/Core/Debug/OODebugMonitor.h:38,
                 from src/Core/Debug/OODebugMonitor.m:33:
c:\oolite-build\msys_x2\1.0\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/../../
../../x86_64-w64-mingw32/include/winsock2.h:15:2: warning: #warning Please inclu
de winsock2.h before windows.h [-Wcpp]
make[3]: *** [obj.win.spk/oolite.obj/OODebugMonitor.m.o] Error 1
make[2]: *** [internal-objc_program-all_] Error 2
make[1]: *** [oolite.all.objc-program.variables] Error 2
make: *** [internal-all] Error 2

Jake@JAKE-LAPTOP /c/oolite-source/oolite-source-1.77
$
Can anyone help? Would love to try and get a 64 bit version of Oolite to finally run on Windows.

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5530
Joined: Wed Feb 28, 2007 7:54 am

Re: Building Oolite Windows from source - The Easier Way

Post by another_commander »

It is not going to be as easy as just typing make debug=no for this one. The problem in the first Obj-C file being compiled is a BOOL definition that fails to be found (probably something to do with the MinGW 64 Winapi headers), but before tackling that, have you already built all the support dlls? Even if you do build 64-bit Oolite, it will not run without the 64-bit versions of all its support libraries.

I can tell you that by the time you are done building the last one of them, you will already know more than enough to be able to find a solution to the BOOL problem without external help. Be prepared for a long trip.

User avatar
Pleb
---- E L I T E ----
---- E L I T E ----
Posts: 884
Joined: Sun Apr 29, 2012 2:23 pm
Location: United Kingdom

Re: Building Oolite Windows from source - The Easier Way

Post by Pleb »

I can see what you mean. Even trying to build the dependencies in 64 bit is not very straight forward, so I can see why this hasn't been a task anyone's eager to under take. But I will see what I can do, even though I fear this way be way beyond my knowledge and capabilities... :cry:

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5530
Joined: Wed Feb 28, 2007 7:54 am

Re: Building Oolite Windows from source - The Easier Way

Post by another_commander »

All the resources necessary to build the 64-bit trunk version of Oolite were committed to the github repository today.

Following that, the development environment for building the game has been updated once more. The compiler used now is GCC 4.7.1 for the x64 target by default. However, there is the option of switching back to the 32-bit original compiler if one so wishes. See the first post for more details. Since we have moved away from svn, the building instructions have been updated to work with git.

If you discover problems or any inaccuracies in the instructions give us a shout.

User avatar
Gimi
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 2073
Joined: Tue Aug 29, 2006 5:02 pm
Location: Norway

Re: Building Oolite Windows from source - The Easier Way

Post by Gimi »

another_commander wrote:All the resources necessary to build the 64-bit trunk version of Oolite were committed to the github repository today.

Following that, the development environment for building the game has been updated once more. The compiler used now is GCC 4.7.1 for the x64 target by default. However, there is the option of switching back to the 32-bit original compiler if one so wishes. See the first post for more details. Since we have moved away from svn, the building instructions have been updated to work with git.

If you discover problems or any inaccuracies in the instructions give us a shout.
Thanks AC.
Stellar effort. I really appreciate this.
"A brilliant game of blasting and trading... Truly a mega-game... The game of a lifetime."
(Gold Medal Award, Zzap!64 May 1985).

User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

Re: Building Oolite Windows from source - The Easier Way

Post by Tricky »

I think the command

Code: Select all

git submodule update
needs adding to the build instructions.

Zireael
---- E L I T E ----
---- E L I T E ----
Posts: 1396
Joined: Tue Nov 09, 2010 1:44 pm

Re: Building Oolite Windows from source - The Easier Way

Post by Zireael »

*dances around happily*

Thank you, thank you, thank you for this guide! I just managed to compile and test a certain tweak of mine (and no, I am not talking of the failed attempt to de-hardcode the number of systems)

Post Reply