FreeOrion Windows SDK

Programmers discuss here anything related to FreeOrion programming. Primarily for the developers to discuss.

Moderator: Committer

Message
Author
User avatar
adrian_broher
Programmer
Posts: 1072
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: FreeOrion Windows SDK

#31 Post by adrian_broher » Mon May 04, 2015 1:05 pm

Vezzra wrote:Now we not only need to patch boost, but SDL too?? This is getting ridiculous. What's up with all those libraries and their includes?
The problem is not the bug or the fix, but the artificial rigid concept of the 'SDK'.
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

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

Re: FreeOrion Windows SDK

#32 Post by Vezzra » Mon May 04, 2015 1:31 pm

adrian_broher wrote:The problem is not the bug or the fix, but the artificial rigid concept of the 'SDK'.
Wouldn't this particular problem arise anyway, even if the MSVC 2013 project and all dependencies would be produced/resolved entirely by the cmake scripts? I mean, this is obviously a bug in the header files of SDL2...?

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

Re: FreeOrion Windows SDK

#33 Post by Geoff the Medio » Mon May 04, 2015 1:32 pm

Vezzra wrote:The changes to the build configuration of the MSVC 2013 project should be committed.
Switching to the XP-target configuration? I'd prefer not.

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

Re: FreeOrion Windows SDK

#34 Post by Vezzra » Mon May 04, 2015 1:38 pm

Geoff the Medio wrote:Switching to the XP-target configuration? I'd prefer not.
That means that binaries build with MSVC 2013 wouldn't be compatible with XP anymore. Do you intend to drop backward compatibility with XP?

An alternative would be to create an additional build configuration ("Release-Win32-XP" or something like that). Would that be ok with you?

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

Re: FreeOrion Windows SDK

#35 Post by Geoff the Medio » Mon May 04, 2015 3:38 pm

Vezzra wrote:Do you intend to drop backward compatibility with XP?
Not if easily avoidable, but I'd rather have the builds from MSVC 2013 by default take advantage of all the latest tweaks they've included, assuming there are some, without having to go in and adjust all the settings.
An alternative would be to create an additional build configuration ("Release-Win32-XP" or something like that).
That seems reasonable.

User avatar
adrian_broher
Programmer
Posts: 1072
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: FreeOrion Windows SDK

#36 Post by adrian_broher » Mon May 04, 2015 5:12 pm

Vezzra wrote:Wouldn't this particular problem arise anyway, even if the MSVC 2013 project and all dependencies would be produced/resolved entirely by the cmake scripts? I mean, this is obviously a bug in the header files of SDL2...?
The bug was introduced on the way from SDL 2.0.2 to SDL 2.0.3 so you could either

1. replace SDL 2.0.3 with SDL 2.0.2
2. patch the bug with SDL master/HEAD

Both would be easier to handle if you don't need to do all this precompiling and distributing the SDK for every of those (kind of) change but instead to tell the build system to either use another dependency version (SDL 2.0.2 instead of SDL 2.0.3) or to patch the bugs beforehand.
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

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

Re: FreeOrion Windows SDK

#37 Post by Geoff the Medio » Mon May 04, 2015 5:28 pm

adrian_broher wrote:Both would be easier to handle if you don't need to do all this precompiling and distributing the SDK for every of those (kind of) change but instead to tell the build system to either use another dependency version (SDL 2.0.2 instead of SDL 2.0.3) or to patch the bugs beforehand.
As previously explained, the point of the SDK is not to be easy / simple for existing developers.

User avatar
adrian_broher
Programmer
Posts: 1072
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: FreeOrion Windows SDK

#38 Post by adrian_broher » Mon May 04, 2015 5:56 pm

Geoff the Medio wrote:As previously explained, the point of the SDK is not to be easy / simple for existing developers.
I think we're both aware of each others opinion on this topic.
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

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

Re: FreeOrion Windows SDK

#39 Post by Geoff the Medio » Tue May 05, 2015 7:52 am

Geoff the Medio wrote:The lack of the jpeg.dll I think was due to not using Ogre anymore. Try running the MSVC build without it present and after removing it from the project files... it probably will work.
From my tests / building just now, it seems like alut is also not actually needed. The .lib, .pdb, and .dll can probably be removed from both the 2010 and 2013 SDKs.

User avatar
adrian_broher
Programmer
Posts: 1072
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: FreeOrion Windows SDK

#40 Post by adrian_broher » Tue May 05, 2015 7:55 am

Geoff the Medio wrote:From my tests / building just now, it seems like alut is also not actually needed. The .lib, .pdb, and .dll can probably be removed from both the 2010 and 2013 SDKs.
The alut dependency was dropped with commit 0c3a19fa / revision 6782 when we ogg-ified all existing sound files.
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

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

Re: FreeOrion Windows SDK

#41 Post by Geoff the Medio » Tue May 05, 2015 1:15 pm

Vezzra wrote:
Geoff the Medio wrote:Probably the two sets of dependencies could be made the same by building them all in MSVC 2010 as well.
Ugh. Can I leave that to you?
I think I've built all the dependencies in MSVC 2010 using the same source code as the MSVC 2013 SDK. When I try to build GiGi I get some deep-boost errors seemingly related to regex.

Only difference relevant to that should be the Boost version, from 1.56 in the old SDK to 1.58 now.
Attachments
boost_compile_error.zip
error-ridden part of build log
(4.27 KiB) Downloaded 56 times

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

Re: FreeOrion Windows SDK

#42 Post by Vezzra » Tue May 05, 2015 6:40 pm

Geoff the Medio wrote:When I try to build GiGi I get some deep-boost errors seemingly related to regex.
Although I'm way out of my depth here, there is one strange thing I noticed at a first quick glance in the build log:

Code: Select all

cannot convert parameter 1 from 'const boost::fusion::cons_iterator<Cons>' to 'const boost::xpressive::detail::static_xpression<Matcher,Next> &'
Um, cons_iterator<Cons>...? Maybe that's intentional for whatever reason, but I'd expect const_iterator<Const>?

User avatar
Dilvish
AI Lead, Programmer
Posts: 4707
Joined: Sat Sep 22, 2012 6:25 pm

Re: FreeOrion Windows SDK

#43 Post by Dilvish » Tue May 05, 2015 7:26 pm

Vezzra wrote:Although I'm way out of my depth here, there is one strange thing I noticed at a first quick glance in the build log:

Code: Select all

cannot convert parameter 1 from 'const boost::fusion::cons_iterator<Cons>' to 'const boost::xpressive::detail::static_xpression<Matcher,Next> &'
Um, cons_iterator<Cons>...? Maybe that's intentional for whatever reason, but I'd expect const_iterator<Const>?
"cdr" and "cons" are Lisp list-manipulation terms/commands, which could fit well enough here. So maybe worth looking at, but not horribly suspicious.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

User avatar
adrian_broher
Programmer
Posts: 1072
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: FreeOrion Windows SDK

#44 Post by adrian_broher » Mon May 11, 2015 1:26 pm

Geoff, how do you invoke ./b2.exe when building the SDK?
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

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

Re: FreeOrion Windows SDK

#45 Post by Geoff the Medio » Mon May 11, 2015 1:58 pm

adrian_broher wrote:Geoff, how do you invoke ./b2.exe when building the SDK?
A batch file:

Code: Select all

@REM ZLIB files
set NO_ZLIB=0

@REM explicitly enable compression
set NO_COMPRESSION=0

@REM the actual call to boost build
b2 toolset=msvc-10.0 variant=release link=shared threading=multi runtime-link=shared debug-symbols=on debug-store=database --build-dir=C:\Users\Geoff\Desktop\FO_Deps_MSVS2010\boost_build   -sZLIB_SOURCE=C:\Users\Geoff\Desktop\FO_Deps_MSVS2010\zlib-1.2.8  --without-mpi
toolset and particulars of the path depend on the MSVC version being used. I also have various .jam config files scattered about from hours of fighting with bjam to get it to find the zlib files it needed. Not sure what all was actually helpful.

Post Reply