Skip to content

{ Tag Archives } thousand parsec

Compiling for Windows using Cygwin on Linux….

So for the past week while I have been at the best conference in the world I have been trying to compile tpserver-cpp for Windows. I had done the hard work and gotten it to compile (as documented here, here and here) on Windows previously. However, as I was in Hobart at a Linux conference I didn’t really have access to Windows computer. That was not going to stop me, so I attempted to cross compile the binaries under Linux. This has a number of advantages as it would mean when someone finally gets around to creating a autobuilder, we can produce Windows binaries too.

Ubuntu provides the mingw32 compilers in the repository so I didn’t think it would be all that hard to get working. The problem is that tpserver-cpp does not have a “native” Windows support but cygwin comes to the rescue and provides a compatibly layer. Using cygwin turned out to not be as simple as using mingw32 compiler with the cygwin headers.

I ended up using crosstool to build my own cygwin compiler. I battled for a long while with the fact that Ubuntu now enables “fortify source” by default. This breaks many versions of things like binutils and gcc (which often do naughty things which fortify source does not like). After I figured out how to disable it, I was still was only able to get an ancient version of gcc to compile (3.3.6) which meant I had to fix a lot of problems in the tpserver-cpp code. I guess someone had to do it eventually, but it was annoying that I was forced too.

I then manually downloaded a bunch of cygwin packages to build a tree for the dependencies (such as boost and guile). This was much faster then trying to compile them on my own. Finally, I was able to build tperver-cpp and create a Windows binary! I can confirm it runs fine under Wine and am now getting friends who are still shacked to Windows to test it there.

It sounds much simpler now, but it took me over a week of work to boil it down to these steps. It was like a constant game of wack-a-mole, once I had solved one problem another popped up.

So what now in this area? I want to get a recent version of the compiler working and preferably build all the dependencies ourselves (rather then rely on the cygwin compiled versions). I would ultimately like to see the cygwin compilers being packaged with Ubuntu/Debian in the same way that the mingw32 compilers are. I don’t know if any of that is likely to happen however as I never seem to have enought time. For now I have uploaded a copy of my cross compiler (It needs to be extracted so it is found in /opt/crosstool).

I hope this helps someone!

Also tagged , , , , , ,

In the land of the sheep…

I wrote this post while in New Zealand but never posted it, now I’m at Linux.conf.au I have time to finish it up.

Well its been a long time since I have posted on my blog. As I lasted mentioned I now work at Google, which has been going well but keeping me fairly busy. For the last month (October, 2009) I have been back in Mountain View, California. While I was there for mainly work purposes, I did get the chance to go to both the Summer of Code Mentor Summit and the GitTogether. Both where a lot of fun but tiering.

It was good to see the BZFlag guys again – they even had cool t-shirts this year. Not as cool as our Thousand Parsec shirts, however. 🙂 I was finally able to meet kblin who I had know through the WorldForge project for many years. As always he looked nothing like I expected.

At the GitTogther I was mainly interested in trying to make git usable with large media repositories. This is one area which Subversion still has an advantage. After much discussion we came up with a solution to the problem which I gave a short presentation.

It also gave me a chance to catch up with the Open Source Progams Office. It was great to catch up with Leslie Hawthorn and her fabulous crew.

No sooner had I gotten back from the states, I headed of to New Zealand. Lee Begg who I also first met through the WorldForge project and was the co-founder of the Thousand Parsec project, is getting married and I will be a grooms man.

Also tagged , , , ,

Thousand Parsec accepted into Google Summer of Code 2008!

As I’m too lazy to write a post myself, here is one from JLP:

Google has just published the list of accepted mentoring organizations for Google Summer of Code 2008 and it is great to see that Thousand Parsec has made it once again. We must be doing something right 🙂

So, if you are into turn-based 4X space strategy games and would like to help in game development, this is your chance. Take a look at our Google Summer of Code and Ideas for Programmers pages and get involved. There is even US$ 4500 to encourage you to take that step into the world of open source software programming.

Interested students now have about a week to get to know us better. You can chat with us on IRC (Freenode network, #tp channel) or write to our development mailing list. Starting March 24 student applications can be submitted, all applications must be in by March 31. I’m looking forward to be a mentor again.

Also tagged ,