FreeOrion

Forums for the FreeOrion project
It is currently Fri Dec 19, 2014 10:38 pm

All times are UTC




Post new topic Reply to topic  [ 335 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 23  Next
Author Message
PostPosted: Thu Nov 24, 2011 7:53 pm 
Offline
Programmer and Packager
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 1776
Location: Sol III
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?


Top
 Profile  
 
PostPosted: Thu Nov 24, 2011 8:44 pm 
Offline
Programming, Design, and De Facto Lead
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 10277
Location: Munich
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.


Top
 Profile  
 
PostPosted: Thu Nov 24, 2011 8:47 pm 
Offline
Programmer and Packager
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 1776
Location: Sol III
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...

Quote:
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 ;)

Quote:
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.


Top
 Profile  
 
PostPosted: Thu Nov 24, 2011 11:03 pm 
Offline
Programmer and Packager
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 1776
Location: Sol III
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.

Quote:
Quote:
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.

Quote:
Quote:
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.

Top
 Profile  
 
PostPosted: Fri Nov 25, 2011 2:29 pm 
Offline
Space Kraken
User avatar

Joined: Sun Jun 12, 2011 1:21 pm
Posts: 102
Location: Germany
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.

Attachment:
Version Control.png
Version Control.png [ 52.99 KiB | Viewed 827 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...

_________________
nothing to see here...


Top
 Profile  
 
PostPosted: Fri Nov 25, 2011 3:01 pm 
Offline
Design & Graphics Lead
User avatar

Joined: Sat Sep 23, 2006 7:09 pm
Posts: 3857
Location: USA — midwest
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."

_________________
—• Read this First before posting Game Design Ideas!
—• Design Philosophy

—•— My Ideas, Organized —•— Get an Avatar —•— Acronyms —•—


Top
 Profile  
 
PostPosted: Fri Nov 25, 2011 3:49 pm 
Offline
Space Kraken
User avatar

Joined: Sun Jun 12, 2011 1:21 pm
Posts: 102
Location: Germany
Attachment:
Bildschirmfoto 2011-11-25 um 16.41.43.png
Bildschirmfoto 2011-11-25 um 16.41.43.png [ 13.8 KiB | Viewed 825 times ]

Aww crap it's in my App Store account but I am not able to access it anymore -.-

_________________
nothing to see here...


Top
 Profile  
 
PostPosted: Sat Nov 26, 2011 11:54 am 
Offline
Space Kraken
User avatar

Joined: Sun Jun 12, 2011 1:21 pm
Posts: 102
Location: Germany
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?

_________________
nothing to see here...


Top
 Profile  
 
PostPosted: Sat Nov 26, 2011 1:30 pm 
Offline
Programming, Design, and De Facto Lead
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 10277
Location: Munich
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...?
Quote:
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.
Quote:
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.


Top
 Profile  
 
PostPosted: Sat Nov 26, 2011 1:36 pm 
Offline
Space Kraken
User avatar

Joined: Sun Jun 12, 2011 1:21 pm
Posts: 102
Location: Germany
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?

_________________
nothing to see here...


Top
 Profile  
 
PostPosted: Sat Nov 26, 2011 1:46 pm 
Offline
Programming, Design, and De Facto Lead
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 10277
Location: Munich
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


Top
 Profile  
 
PostPosted: Sat Nov 26, 2011 9:38 pm 
Offline
Programmer and Packager
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 1776
Location: Sol III
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.


Top
 Profile  
 
PostPosted: Sat Nov 26, 2011 9:50 pm 
Offline
Programmer and Packager
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 1776
Location: Sol III
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.

Quote:
...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.


Top
 Profile  
 
PostPosted: Sat Nov 26, 2011 9:57 pm 
Offline
Programmer and Packager
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 1776
Location: Sol III
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.

Quote:
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.


Top
 Profile  
 
PostPosted: Sun Nov 27, 2011 6:52 pm 
Offline
Programmer and Packager
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 1776
Location: Sol III
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.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 335 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 23  Next

All times are UTC


Who is online

Users browsing this forum: Baidu [Spider] and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group