Up-to-date FreeOrion Mac-SDK and build - Test please!

For topics that do not fit in another sub-forum.

Moderator: Oberlus

Post Reply
Message
Author
User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#61 Post by Vezzra »

Another thing is, I'm not entirely sure what I should make of the result of my build. I got a working FO application, however, there seem to be some things broken:
  • The fleet names of the startup fleets don't show the names as they shoud be picked from the stringlist files, but the internal string identifier (FN_COLONY_FLEET etc.).
  • All your homeworld's resource meters are 0 at turn 1, both current and max meters, save research, which has a max meter of 5. Cultural Archives building is present, but the boni don't get applied.
  • Research panel: everything is grey in grey, no colors anymore. Is that intentional?
  • Food current and max resource meter is also 0, and that doesn't change regardless if focus is set to food or not. This should have the pop starving, which didn't happen even after some turns (but maybe I haven't played enough turns for starvation to kick in).
Of course this way you can't play a game. I just wanted to know if that's to be expected because there is some work in progress that has these things broken at the moment, or has something gone wrong with my build experiments? Gone wrong as in: no crashes, but some messed up funtionality?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#62 Post by Geoff the Medio »

Vezzra wrote:I just wanted to know if that's to be expected because there is some work in progress that has these things broken at the moment...
I think these issues are mostly related to the new parser stuff not being debugged yet.

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#63 Post by Vezzra »

night wrote:I would not say that I do not know what I am doing, but most time my strategy is trial and error. :)
Now that sounds familiar :lol: Although I've to admit that I just barely know what I'm doing...
Currently I am evaluating Git as a version control system for the mac builds. The main reason for that its, that you then can easily clone/download the entire repo with all of its history to your hard drive without needing to download a SDK first.
Hm, let's see if I understand correctly: You create a git repo on a site similar to sourceforge, which mirrors the FO svn repo on sourceforge. This you clone to your local harddrive and keep in sync with the remote git repo. What do you do to commit stuff? First to your local git repo, that gets synced with the remote git repo, and the changes there are mirrored back to the svn repo? Or do you commit changes to the svn repo *and* the remote git repo, which is synced back to your local git repo? Or *only* to svn, and then => remote git repo => local git repo?

I still struggle to wrap my head around working on a project that uses svn. I'm new to this kind of stuff also. So you see, I'm a bit confused ;)
Features like the new editor of Xcode 4 which allows you to compare the current file against any other revision work a lot faster, too.
You can have a look at the experimental repo here.
Could you tell me which compiler you are using for your build?
Well, I'm using Xcode 3.2.6 on SL, and upgrading to Xcode 4 on SL is apparently no longer possible (at least for free, of course I could enroll in Apples developer program and pay $99/yr, but honestly, that's a joke). Upgrading to Lion is not an option for me, at least not now. So no new Xcode 4 editor for me :(

As for which compiler I'm using, I assume you refer to the build settings? Well, the build setting in the project properties show gcc 4.0, but the build settings for the executables are different, so I think they override the global setting. There it's gcc 4.2 (for all three of them, freeorion, freeoriond and freeorionca). I've tried not to touch too much here and break anything, so they should be the same as in the version of the SDK you posted in this thread.

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#64 Post by Vezzra »

Geoff the Medio wrote:
Vezzra wrote:As I don't know which boost libraries are needed for 4502
On windows, FreeOrion uses the following (in addition to header-only libs):
date_time
filesystem
python
regex
serialization
signals
system
thread

Can you just check what's in the older SDK?
All of the above except date_time.
Another problem was that apparently now some of the GG adobe libraries are used, which wasn't the case before. My skills are too limited to find out exactly which ones of them...
On Windows I needed name.cpp, memory.cpp, and string_pool.cpp.
Ok, I've removed all boost libraries that you don't use on Win from the project. Also removed all the GG adobe libraries from the GG build target except for name.cpp, memory.cpp, and string_pool.cpp. The entire boost header files are included however (but as far as I can tell that has been the case with the older SDK too).

I was able to build FO successfully with this configuration.
The SDK I downloaded was stripped down to the bare minimum, you'd have to tell me how to do that.
I think you just need the .svn directory and its contents in the root FreeOrion directory. Check what's in the old SDK; it probably just has what's necessary. You definitely don't need the whole code and default directories.
Ok, I looked at the old SDK and tried to build a new one that is set up the same way.

Can be downloaded here: Mac OS X SDK svn4502 EDIT: Download no longer available.

I hadn't the time to test it though, it's getting a bit late over here ;) If someone could test this thing on their system, that would be great :)

So, I think I'm going to sleep now...
Last edited by Vezzra on Wed Feb 01, 2012 10:31 pm, edited 1 time in total.

night
Space Kraken
Posts: 102
Joined: Sun Jun 12, 2011 1:21 pm

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#65 Post by night »

Vezzra wrote: Hm, let's see if I understand correctly: You create a git repo on a site similar to sourceforge, which mirrors the FO svn repo on sourceforge. This you clone to your local harddrive and keep in sync with the remote git repo. What do you do to commit stuff? First to your local git repo, that gets synced with the remote git repo, and the changes there are mirrored back to the svn repo? Or do you commit changes to the svn repo *and* the remote git repo, which is synced back to your local git repo? Or *only* to svn, and then => remote git repo => local git repo?

I still struggle to wrap my head around working on a project that uses svn. I'm new to this kind of stuff also. So you see, I'm a bit confused ;)
My Git setup is a bit complicated:
There already was an SVN mirror of the FO project on GitHub. I do not have write access to the SVN repo at Sourceforge and since the contents of the SDK are not tracked either it really does not matter what I am doing with the files that are only relevant to the mac builds. So I forked the FO project on GitHub and also made a SVN mirror of GG. Then I had to add GG as a Git submodule to my fork to simulate the external we have in the SVN repository on SF. Also the contents of the SDK were added to the fork.
Now there is a shell script running on my computer every hour to keep everything in sync:

I have three relevant folders (only Git repos) on my hard drive:
*projectdir*/
SVN/GG
freeorion
freeorion/FreeOrion/GG

First the script is updating the svn clone of GG in SVN/GG from SF. The changes then are pushed to the GitHub repo of GG. After that the changes are pulled into the GG submodule in freeorion/FreeOrion/GG. Now we have an up-to-date version of GG.
Next we need to keep FO in sync. Since we already have a SVN mirror of FO on GitHub, the changes of the mirror have to be merged into my fork and then have to be pushed to GitHub. Now FO also is based on the current version.
On top of that I can commit my own changes to my fork for updating the Xcode project, dependencies, etc.

I made a schematic overview for the system. It might look a bit complicated, but it works.
Version Control.png
Version Control.png (52.99 KiB) Viewed 5401 times
Vezzra wrote: Well, I'm using Xcode 3.2.6 on SL, and upgrading to Xcode 4 on SL is apparently no longer possible (at least for free, of course I could enroll in Apples developer program and pay $99/yr, but honestly, that's a joke). Upgrading to Lion is not an option for me, at least not now. So no new Xcode 4 editor for me :(
Really? I was able to download Xcode 4 from the Mac AppStore for free back when I was using Snow Leopard...

User avatar
eleazar
Design & Graphics Lead Emeritus
Posts: 3858
Joined: Sat Sep 23, 2006 7:09 pm
Location: USA — midwest

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#66 Post by eleazar »

night wrote:Really? I was able to download Xcode 4 from the Mac AppStore for free back when I was using Snow Leopard...
Now you get:

"Xcode Install Assistant can't be installed on Perceptomorph because Mac OS X version 10.7 or later is required."

night
Space Kraken
Posts: 102
Joined: Sun Jun 12, 2011 1:21 pm

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#67 Post by night »

Bildschirmfoto 2011-11-25 um 16.41.43.png
Bildschirmfoto 2011-11-25 um 16.41.43.png (13.8 KiB) Viewed 5399 times
Aww crap it's in my App Store account but I am not able to access it anymore -.-

night
Space Kraken
Posts: 102
Joined: Sun Jun 12, 2011 1:21 pm

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#68 Post by night »

I tried to compile common yesterday which resulted in 6 hours of compilation and a 1,73 GB large libCommon.a.
Why does it suddenly take so long (older versions compiled in about 20 min) and why is the binary so large?

EDIT: Which header-only libs are used?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#69 Post by Geoff the Medio »

night wrote:I tried to compile common yesterday which resulted in 6 hours of compilation and a 1,73 GB large libCommon.a.
What is libCommon? Boost thing, or FreeOrion thing, or...?
Why does it suddenly take so long (older versions compiled in about 20 min) and why is the binary so large?
If you mean FreeOrion, I think it's something to do with the Spirit 2 parser. I've had similar problems on Windows, with the debug database growing to over 1 GB at which point the linker crashes, and frequent out of heap space or internal compiler errors when trying to compile more than one project at a time, and massive increases in compile times for the parser source files in particular and everything else in general. It started after the switch to the new parser, though I also had updated to the SP1 of Visual Studio 2010 around the same time, so can't rule out that as a factor.
EDIT: Which header-only libs are used?
Do you mean which Boost header-only libs are used? A whole bunch of them, including shared pointer, function, lexical cast, unordered map, various algorithms, statechart, asio, and obviously spirit.

night
Space Kraken
Posts: 102
Joined: Sun Jun 12, 2011 1:21 pm

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#70 Post by night »

libCommon or Common is a target of the FO project (together with FREEALUT, GG and ClientCommon).
I meant the Boost header-libs but those do not seem to be the problem here. So we have to wait for a fix of the parser?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#71 Post by Geoff the Medio »

night wrote:So we have to wait for a fix of the parser?
Since it's causing major issues on OSX and Windows, we might need to revert it to the old version. tzlaine wrote the new code, but doesn't build or develop on OSX or Windows, and there don't seem to be any issues on Linux.

Do things work fine for you on OSX if you build 4471 and only get weird with the newest versions? 4472 added the new parser...

Edit: tzlaine suggested making a separate static library for the parsing stuff, similar to what's done in the CMake build. /Edit

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#72 Post by Vezzra »

Night, I think I pass on your kind of setup for the time being :shock: First I have to get familiar with a more traditional configuration ;)
night wrote:I tried to compile common yesterday which resulted in 6 hours of compilation and a 1,73 GB large libCommon.a.
Why does it suddenly take so long (older versions compiled in about 20 min) and why is the binary so large?
You're actually quite lucky that you were able to build the whole project in one go. I had to compile several of the parser source files seperately, because on my machine the build process got stuck :( Like Geoff already mentioned, it's a result of the rewritten parser.

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#73 Post by Vezzra »

Geoff the Medio wrote:What is libCommon? Boost thing, or FreeOrion thing, or...?
Xcode thing. The Xcode project setup is: all source files that are needed by all three final executables are compiled into the static library "libCommon.a", all source files needed by freeorion and freeorionca are compiled into "libClientCommon.a". FREEALUT and GG are each compiled into seperate libriaries. These libraries are then linked to the final executables.
...It started after the switch to the new parser, though I also had updated to the SP1 of Visual Studio 2010 around the same time, so can't rule out that as a factor.
When I installed MSVC 2010 Express I didn't update to SP1 immediately, so my first build attempts where without SP1. These failed the way you described here, then I upgraded to SP1 and got the same results. So I think you can safely rule out SP1 as cause of the problems.

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#74 Post by Vezzra »

Geoff the Medio wrote:Do things work fine for you on OSX if you build 4471 and only get weird with the newest versions? 4472 added the new parser...
Yeah, that's exactly what I get on my system. The final FreeOrion.app is also almost twice the size for 4502. 4471 is ~770MB, 4502 is ~1.5GB.
Edit: tzlaine suggested making a separate static library for the parsing stuff, similar to what's done in the CMake build. /Edit
That's a good idea - we should definitely try that.

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Up-to-date FreeOrion Mac-SDK and build - Test please!

#75 Post by Vezzra »

night wrote:...The Python problems also have to be fixed. I'll try to fix all this stuff as soon as I can but I cannot promise anything.
If you refer to the problem with the AI client apparently not using the bundled python framework correcty, and to have to install the python 2.7 package separately, I think I fixed that one. See this thread in Programming.

Post Reply