Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

Building Oolite Windows from source - The Easier Way

News and discussion of the PC port of Oolite.

Moderators: winston, another_commander

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

Post by another_commander »

DaddyHoggy wrote:
The zipped development environment package I uploaded in the first post should contain all you need to build the game. You don't need any Local_XXXX file anymore. Just stick with the instructions in the first post in this thread and ignore the wiki ones.
Kind of negates the point of the wiki does it not - are people coming across Oolite for the first time more likely to find the BB or the wiki? (genuine question - I don't know)
You are absolutely correct, DH. The wiki instructions should be replaced with the new ones, but unfortunately I cannot access the wiki from my normal internet connection. I will try to do it if and when I get the chance. If anyone else can get there before me, feel free to update the page. All that is needed is a copy/paste from the first post in this thread (maybe reformatted for wiki, of course).
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5525
Joined: Thu Jun 12, 2008 6:55 pm

Post by Thargoid »

another_commander wrote:
You are absolutely correct, DH. The wiki instructions should be replaced with the new ones, but unfortunately I cannot access the wiki from my normal internet connection. I will try to do it if and when I get the chance. If anyone else can get there before me, feel free to update the page. All that is needed is a copy/paste from the first post in this thread (maybe reformatted for wiki, of course).
Done, although you may want to play a bit with the formatting as I can never get code to look right in wiki-space.

I've left the old instructions there too for the moment, but noted that they are superceded by the new ones.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6569
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

Thanks Thargoid, appreciated. I'll try to have a look at the formatting etc. at first opportunity.
wades
Above Average
Above Average
Posts: 29
Joined: Wed Feb 03, 2010 11:04 pm

Post by wades »

another_commander wrote:
The zipped development environment package I uploaded in the first post should contain all you need to build the game. You don't need any Local_XXXX file anymore. Just stick with the instructions in the first post in this thread and ignore the wiki ones.

I have to note though, that if you have problems starting MSYS with GNUstep 1.15.3 and it works OK with the latest GNUstep version, then you will have to install the newest GNUstep and make sure that the environment sees only that last version. Just renaming the original gstep1153 folder to something else should be sufficient to make the old GNUstep disappear as far as the build environment is concerned, but you will have to ensure yourself that the new GNUstep has been setup correctly.
I'm away from that Vista64 box right now and can't continue with this right away, but:

Are you saying that I should uninstall/blow away everything I've got up to this point, start from scratch and

1) Load the dev environment linked in the OP
2) Hide the GNUstep that comes with it, install the latest and greatest in its place
3) Proceed with the build instructions in the OP?

Note that I did get to the point of getting a exe that shows the splash.
wades wrote:
What's sdl-config?
sdl-config is a shell script that returns settings of the SDL library, regarding the way SDL was built and what parameters are required for using its resources in other projects. Other libraries may have similar scripts in the /usr/local/bin MSYS folder. As an example, if you go to the MSYS propmt and execute 'sdl-config --version', it comes back with '1.2.13', if you execute 'sdl-config --libs' it returns the line that needs to be used for a successful linking of the library, something like '-L/usr/local/lib -lmingw32 -lSDLmain -lSDL -mwindows'. The returned value can be passed directly to makefiles and in this way you don't have to remember what the library needs for linking or where its headers are etc. Try executing 'sdl-config --help' for a list of options.
I figured something like that, and once I'd pulled in the Local_xxxx stuff where it belonged, sdl-config got found.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6569
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

If you have built the exe with the latest GNUstep, then you need the newest gnustep-base dll in the oolite.app folder. What are the contents of the oolite.app folder you are trying to run the exe from?

The three steps you mention are correct, but I cannot be certain that they will work first try. Changing gnustep-base is not trivial and once you switch to it the rest of the steps might or might not work. You will just have to try and see. There is no need to uninstall or scrap anything you have done so far, just rename temporarily gstep1153, msys_x, svn-win32-1.4.3, install the environment again and checkout Oolite in a different folder. If you want to return to your previous setup you can delete the three dev environment "new" folders, give the old ones their original names back and fall back to the original checkout of Oolite's source. Having multiple source checkouts is not a problem, as long they are kept separated from eachother.

I apologize for not being able to be more specific, but I do not have access to a 64-bit system to test my theory properly. If you want, PM me and we can give it a try over the [url=irc://irc.oftc.net/oolite-dev]#oolite-dev[/url] channel on irc.
wades
Above Average
Above Average
Posts: 29
Joined: Wed Feb 03, 2010 11:04 pm

Post by wades »

another_commander wrote:
If you have built the exe with the latest GNUstep, then you need the newest gnustep-base dll in the oolite.app folder. What are the contents of the oolite.app folder you are trying to run the exe from?

Code: Select all

 c:/oolite-build/GNUstep/Local/oolite/trunk/oolite.app:
  total used in directory 10637 available 617654588
  drwxrwxrwx   1 wades    root             0 02-19 22:04 .
  drwxrwxrwx   1 wades    root             0 02-19 22:03 ..
  drwxrwxrwx   1 wades    root             0 02-19 22:04 GNUstep
  drwxrwxrwx   1 wades    root             0 02-19 22:04 Logs
  drwxrwxrwx   1 wades    root             0 02-19 22:02 Resources
  -rw-rw-rw-   1 wades    root        320000 02-19 22:02 SDL.dll
  -rw-rw-rw-   1 wades    root        315392 02-19 22:02 SDL_mixer.dll
  -rw-rw-rw-   1 wades    root       3940352 02-19 22:02 gnustep-base-1_15.dll
  -rw-rw-rw-   1 wades    root        858592 02-19 22:02 js32.dll
  -rw-rw-rw-   1 wades    root        922112 02-19 22:02 libiconv-2.dll
  -rw-rw-rw-   1 wades    root        280576 02-19 22:02 libpng14.dll
  -rw-rw-rw-   1 wades    root       1082908 02-19 22:02 libxml2-2.dll
  -rw-rw-rw-   1 wades    root         68608 02-19 22:02 objc-1.dll
  -rwxrwxrwx   1 wades    root       3047936 02-19 22:02 oolite.exe
  -rw-rw-rw-   1 wades    root             0 02-19 22:04 stderr.txt
  -rw-rw-rw-   1 wades    root             0 02-19 22:04 stdout.txt
  -rw-rw-rw-   1 wades    root         55808 02-19 22:02 zlib1.dll
another_commander wrote:
The three steps you mention are correct, but I cannot be certain that they will work first try. Changing gnustep-base is not trivial and once you switch to it the rest of the steps might or might not work. You will just have to try and see. There is no need to uninstall or scrap anything you have done so far, just rename temporarily gstep1153, msys_x, svn-win32-1.4.3, install the environment again and checkout Oolite in a different folder. If you want to return to your previous setup you can delete the three dev environment "new" folders, give the old ones their original names back and fall back to the original checkout of Oolite's source. Having multiple source checkouts is not a problem, as long they are kept separated from eachother.

I apologize for not being able to be more specific, but I do not have access to a 64-bit system to test my theory properly. If you want, PM me and we can give it a try over the [url=irc://irc.oftc.net/oolite-dev]#oolite-dev[/url] channel on irc.
I think I will take another whack at it with the pieces I have, trying to adapt the instructions in the OP.
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

Wades, this might well be a red herring, but the javascript dll is specifically compiled for 32 bits windows, so it might cause some problems...
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
wades
Above Average
Above Average
Posts: 29
Joined: Wed Feb 03, 2010 11:04 pm

Post by wades »

Kaks wrote:
Wades, this might well be a red herring, but the javascript dll is specifically compiled for 32 bits windows, so it might cause some problems...
There was a reply on the other thread:
Cmd. Cheyd wrote:
another_commander wrote:
If I am not mistaken, Screet is building on 32-bit, then runs it on different, 64-bit system. At least, that's what I remembered from the last time he posted about this.
This is how I am doing it. IIRC, if I build directly on Win64 (Vista x64 Ultimate, 6GB Ram), MinGW opens 127 windows (command prompts actually), throws an error, then closes all 127 as the process crashes.
This is what I'm seeing and why I tried changing to the newer GNUstep. another_commander has convinced me that what I want to do is figure out how to proceed starting with his packaged build environment.
wades
Above Average
Above Average
Posts: 29
Joined: Wed Feb 03, 2010 11:04 pm

Re: Building Oolite Windows from source - The Easier Way

Post by wades »

From the OP
another_commander wrote:

{ big snip }

Instructions on how to build an Oolite trunk executable from zero:

IMPORTANT: The zip file you downloaded must be unzipped maintaining all paths under the root folder of the D drive (D:\).

This is the only catch with the package. Due to the way GNUstep sets up its paths by using absolute references, it is not possible to have this package working from any other drive. Since I am using my D drive to build, all this fun is set up to work from that drive letter only. You can change any drive's letter to D by following instructions as provided by Microsoft Support here.

Once unzipped, you must run the msys.bat file, found in D:\msys_x\1.0. You can create a shortcut to desktop for this file if you want. Once run, the environment will start up.

{ more snip }
OK, so the original problem I was having with this was that when I tried to run msys.bat I got a zillion rxvt windows, which then crashed.

Copying msys.bat to msys.bat-ORIG and editing the original, I changed

Code: Select all

if EXIST bin\nul cd bin
if EXIST rxvt.exe goto startrxvt
if EXIST sh.exe goto startsh
to

Code: Select all

if EXIST bin\nul cd bin
rem if EXIST rxvt.exe goto startrxvt
if EXIST sh.exe goto startsh
which starts the console shell instead of the GUI one. Unfortunately this shell displays

Code: Select all

      0 [main] sh 4784 sync_with_child: child 6968(0x144) died before initialization with status code 0x0
     81 [main] sh 4784 sync_with_child: *** child state waiting for longjmp
sh: fork: Resource temporarily unavailable
sh-2.04$
which does not look encouraging. The 0.23 version of GNUstep has a similar-looking msys.bat and it launches the console version without complaining... maybe if I look in to why it does that I will have more luck in making AC's version do the same.
User avatar
Gimi
---- E L I T E ----
---- E L I T E ----
Posts: 2073
Joined: Tue Aug 29, 2006 5:02 pm
Location: Norway

Build trunk on 64bit Win 7.

Post by Gimi »

Hi.

Just followed the instructions and built trunk on my Windows 7, 64 bit system. (Used instructions as in post number one in this thread with no changes).

Worked a treat, and I'm now running trunk. Have to say that there are some subtle but VERY slick improvements over 1.73.4. Look much more professional.
(This, after firing it up three times only)

I also pushed in all my OXP's (About 30 in all) and it is running a little slower than 1.73.4, but still playable on my laptop with all eye candy at maximum.
"A brilliant game of blasting and trading... Truly a mega-game... The game of a lifetime."
(Gold Medal Award, Zzap!64 May 1985).
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6569
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

The development environment package has been updated to include all files necessary for compiling Oolite using gnustep-base version 1.18.0. See first post for more details.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6569
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

Yet one more update to the dev environment, to add the /svn path in the list of mapped folders. Thanks to Getafix for noting the issue.
User avatar
Frame
---- E L I T E ----
---- E L I T E ----
Posts: 1477
Joined: Fri Mar 30, 2007 8:32 am
Location: Witchspace

Re: Building Oolite Windows from source - The Easier Way

Post by Frame »

I just wanted to reset up the building enviroment, since my previous Primary 500 GB HD, suffered a catastrophic Failure while in suspend due to a wife slamming a chair into the side of my Stationary, not in anger though, however not a popular act, as i lost about 12 years of work,that i did back up at various times, however, you never quite have 500 GB of data backed up correctly. Music, documents, special things, port folio of 3d models and textures, etc etc... Never allow your not so techi women near your PC, they will break it. intending or not.

So while i consider buying a new PC, instead of just a new HD(old IDE or early SATA I), i wanted to install the building enviroment on this house surviving Computer, a laptop. However there is a snatch...

It is a HP with a recovery partion drive with the letter D:

So it is not possible to map a virtual drive nore change the letter of the drive as that could corrupt the recovery, that has already saved this laptop once since it screwed something up, the first time it updated to Vista SP2. I was lucky enough that i could remove the Sata Drive and put it into my stationary to back up the wifes critical data, back then..

So how do I go about setting up the enviroment NOT using the D drive.. links to how to do that would be welcome, and please links to how to that makes sense and not making educated guesses ;-)

Cheers Frame..

Edit

I tried downloading MinGW, however at install alot of files, fails download
and on starup of msys.bat, it fails with a message about a missing dll file...

this laptop is an X64 though, that might be the problem.. :-(

edit 2, i checked out gnustep homepage, and downloaded 0.25 instead of 0.19 as shown on the wiki
i followed the old instal directions to the letter but i am getting this message when i type

make debug=0

Code: Select all

/bin/sh: gcc command not found
I tried shifting the bin libary downloaded around in case it was a file missing, however i cannot make sense of the error message about a gcc command not found...

I wish for error messages to come out of the dark ages

End of line. :-/

I think though it might be something with the path of the enviromental virable "path" containing spaces.
Bounty Scanner
Number 935
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Re: Building Oolite Windows from source - The Easier Way

Post by Kaks »

The last time I successfully set up a build environment (the one I currently use) I followed my own advice:

https://bb.oolite.space/viewtopic.php?p=69755#p69755


I had to use the 'local' file, the build environment kept throwing errors without those files :?:, and instead of .19 I used gnustep-core-0.22 & gnustep-system-0.22 which can be found on the same ftp server as their 0.19 counterparts.

Sorry to hear about the snafu with the 500GB disk, I've had something similar happen to me (managed to rescue some data from mine though) not too long ago. Not the best feeling in the world, to put it mildly. :(
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
Frame
---- E L I T E ----
---- E L I T E ----
Posts: 1477
Joined: Fri Mar 30, 2007 8:32 am
Location: Witchspace

Re: Building Oolite Windows from source - The Easier Way

Post by Frame »

Kaks wrote:
The last time I successfully set up a build environment (the one I currently use) I followed my own advice:

https://bb.oolite.space/viewtopic.php?p=69755#p69755


I had to use the 'local' file, the build environment kept throwing errors without those files :?:, and instead of .19 I used gnustep-core-0.22 & gnustep-system-0.22 which can be found on the same ftp server as their 0.19 counterparts.

Sorry to hear about the snafu with the 500GB disk, I've had something similar happen to me (managed to rescue some data from mine though) not too long ago. Not the best feeling in the world, to put it mildly. :(

Many Thanks Kaks, some of that solved it.. What i did when i could not compile was that i used 0.25 instead of 0.22 since 0.19 would generate mutiple instances of some rvt program, and clearly was not behaving in the intended matter so here is what i did for reference.

I did need to extract Local_20090108.zip to /Local/ , however winrar wanted to add the name of the zip file as a directory so I needed to extract it to another location an copy all the bin / lib etc etc directories from a temporary location to the /Local/ directory

for reference here is what i did exactly... and note I did not use export PATH=$PATH

downloaded 0.22 core and setup of Gnustep from the same ftp server as 0.19 from this site
ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows

Installed tortoiseSvns 64 bit from this location http://tortoisesvn.net/downloads.html
ofcourse if you got a 32 bit system you should go for the 32 bit version.

Started up gnuStep from Start->programs->gnustep->shell
typed the following in the window

mkdir /Local
mkdir /Local/oolite
mkdir /Local/oolite/trunk


Remember the first slash and the capital L in /Local

Closed GNUstep
Opened windows explorer (not internet explorer), or goto my computer
opened C:\GNUstep\Local\oolite\trunk
rightclicked in an empty section of the window and selected svn checkout from the roll down menu
entered svn://svn.berlios.de/oolite-linux/trunk into the URL field and pressed ok, and waited for it to
download everything.

Downloaded local zip from ftp://ftp.alioth.net/oolite/Local_20090108.zip extracted all the folders to /Local/
for reference my GnuStep is installed on the C drive, and the local directory is located like this C:/GNUstep/Local

Started up GNUstep and typed

cd /Local/oolite/trunk
make debug=0

Wait for it to finish
All you need todo to update your build after you made a first succesfull build is to go into the trunk directory and pick svn update, after that you restart GNUstep and follows to two points above to make a new version again.

And made a cup of coffee in the mean time, after build i could in windows explorer double click the exe file found in
oolite.app that is a directory like this c:/GNUstep/Local/oolite/trunk/oolite.app/oolite.exe

This is on Windows vista home premium 64 bit HP pavilion dv7 1290eo laptop..
Bounty Scanner
Number 935
Post Reply