FreeOrion

Forums for the FreeOrion project
It is currently Fri Jun 22, 2018 7:42 am

All times are UTC




Post new topic Reply to topic  [ 11 posts ] 
Author Message
PostPosted: Sat May 26, 2018 12:06 am 
Offline
AI Lead, Programmer
User avatar

Joined: Sat Sep 22, 2012 6:25 pm
Posts: 4651
Is it intended that current master would not yet compile with the SDKv9, at least for MSVC2015? I do note that Build.md has not yet been updated to reference SDKv9, but in the SDK repo itself I didn't note anything indicating that v9 was not yet fully ready. The errors I'm getting (with the FreeOrionSDK_9_MSVC-v140-xp.zip version) are
Code:
Severity   Code   Description   Project   File   Line   Suppression State
Error   C1083   Cannot open include file: 'ft2build.h': No such file or directory   GiGi   C:\Users\Public\Documents\Development\Entertainment\freeorion_project\FreeOrion\GG\src\Font.cpp   34   
Error   LNK1181   cannot open input file 'GiGi.lib'   GiGiSDL   C:\Users\Public\Documents\Development\Entertainment\freeorion_project\FreeOrion\msvc2015\GiGiSDL\LINK   1   
Error   LNK1104   cannot open file 'boost_python-vc140-mt-x32-1_66.lib'   FreeOrionCA   C:\Users\Public\Documents\Development\Entertainment\freeorion_project\FreeOrion\msvc2015\FreeOrionCA\LINK   1   
Error   LNK1104   cannot open file 'boost_log-vc140-mt-x32-1_66.lib'   FreeOrionD   C:\Users\Public\Documents\Development\Entertainment\freeorion_project\FreeOrion\msvc2015\FreeOrionD\LINK   1   
Error   C1083   Cannot open include file: 'ft2build.h': No such file or directory   FreeOrion   C:\Users\Public\Documents\Development\Entertainment\freeorion_project\FreeOrion\util\DependencyVersions.cpp   17   

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
PostPosted: Sat May 26, 2018 5:52 am 
Online
Programming, Design, Admin
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 12223
Location: Munich
Dilvish wrote:
Is it intended that current master would not yet compile with the SDKv9, at least for MSVC2015?
No; patching for new dependency locations is needed.

I could commit that, but wanted to wait a bit for people to get the new SDK set up...

The MSVC 2017 project files should work with SDK9, though.


Attachments:
File comment: update msvc 2015 project files for SDK9
0001-Update-MSVC-2015-project-files-for-FreeOrion-SDK-ver.patch [4.53 KiB]
Downloaded 8 times
Top
 Profile  
 
PostPosted: Sat May 26, 2018 7:37 am 
Offline
Programmer
User avatar

Joined: Fri Mar 01, 2013 9:52 am
Posts: 1072
Location: Germany
Dilvish wrote:
Is it intended that current master would not yet compile with the SDKv9, at least for MSVC2015


Why should it work? freeorion/freeorion#2118 is still open.

_________________
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz


Top
 Profile  
 
PostPosted: Sat May 26, 2018 8:24 am 
Offline
AI Lead, Programmer
User avatar

Joined: Sat Sep 22, 2012 6:25 pm
Posts: 4651
adrian_broher wrote:
Dilvish wrote:
Is it intended that current master would not yet compile with the SDKv9, at least for MSVC2015


Why should it work? freeorion/freeorion#2118 is still open.
I thought it might work because freeorion-bot released v9 a few days ago without indicating that it was incompatible with current master. And since you direct me to #2118, I'll note that it says "This PR isn't suppose to work yet, as the release wasn't created yet." which is no longer true as of 3 days ago, 2 days after #2118 was opened. So it seems someone should edit the issue summary, and preferably also get some kind of note into the V9 release summary indicating that it was premature or incomplete or something.

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
PostPosted: Sat May 26, 2018 8:39 am 
Offline
AI Lead, Programmer
User avatar

Joined: Sat Sep 22, 2012 6:25 pm
Posts: 4651
Geoff the Medio wrote:
I could commit that, but wanted to wait a bit for people to get the new SDK set up...
I guess I'd suggest that it seems to me that it would work better to try to put the corresponding changes in simultaneously (or maybe note the two step process in the SDK release notes along with a link to the fix/patch for the base project)-- I don't see why someone would want to update the SDK an indeterminate amount of time before the corresponding changes were available for the base project since in the interim time it would just break their ability to build FO (though I suppose that if it was clear to them that they were not yet compatible then they'd know to set up a new project location-- probably a significant contributing factor here is that I didn't have prior experience with shifting from one SDK release to another, and the SDK release notes didn't mention the issue).

But I do thank you for the clarification and the patch.

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
PostPosted: Sat May 26, 2018 9:59 am 
Offline
Programmer
User avatar

Joined: Fri Mar 01, 2013 9:52 am
Posts: 1072
Location: Germany
@Dilvish

Did you ever see a `with-FreeOrionSDK-v9` tag popping up in the freeorion/freeorion repository? I don't. Just because a SDK release happened this doesn't mean it's integrated or tested on any of those platforms that require the SDK. This process of SDK updates is not new, but years in place.

Baseline: YOU downloaded the SDK and botchered your local build environment despite the new SDK usage wasn't signed off and integration wasn't complete.

Quote:
I guess I'd suggest that it seems to me that it would work better to try to put the corresponding changes in simultaneously


To break the previous setup guaranteed AND potentially fucking up the master branch in case the SDK release is botchered?

No, the integration branches stays that way and the tags indicates that the integration has happened.

Quote:
I don't see why someone would want to update the SDK an indeterminate amount of time [...]


This is required to test the SDK functionality across all platforms via CI. The CI can only access releases of the SDK.

Quote:
[...] before the corresponding changes were available for the base project [...]


That's wrong, the integration branch existed way before the SDK release and contained all obvious required changes.

Quote:
[...] since in the interim time it would just break their ability to build FO


That's wrong, for other platforms this doesn't matter at all as you use separate build trees, don't need an SDK or the build system downloads the correct SDK for you. The Windows platform is here the odd one out with in-source building, no ability for a smooth transition and requiring manual intervention for fetching the right SDK.

_________________
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz


Top
 Profile  
 
PostPosted: Sat May 26, 2018 5:21 pm 
Offline
AI Lead, Programmer
User avatar

Joined: Sat Sep 22, 2012 6:25 pm
Posts: 4651
adrian_broher wrote:
Baseline: YOU downloaded the SDK and botchered your local build environment despite the new SDK usage wasn't signed off and integration wasn't complete.
Right, I did, and then I fixed it, and then I posted here politely asking for clarification because the current state of affairs had seemed inconsistent and confusing to me.

Quote:
Did you ever see a `with-FreeOrionSDK-v9` tag popping up in the freeorion/freeorion repository? I don't. Just because a SDK release happened this doesn't mean it's integrated or tested on any of those platforms that require the SDK.
Do you see anything in the v9 release summary indicating that any of that is a requirement? I don't. I am used to our 'normal' release process in which we release something that we expect to work. I think some explanation of this two-step SDK release process would be useful in the SDK release notes.

Quote:
This process of SDK updates is not new, but years in place.
While I have been compiling FO on Linux for many years, I am relatively new to using the SDK and compiling FO in Windows. Relying on your users to have familiarity with your historical practices in order to sort out inconsistencies between various current documents is patently unreliable and seems like poor practice to me.

I see that although you have edited your PR and repurposed it towards SDK v10, you are still using the wrong/misleading "This PR isn't suppose to work yet, as the release wasn't created yet." statement.

Baseline: by clinging to your "blame the user" trope you blind yourself to the ways you could shift your 98% perfect work towards being 99% perfect.

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
PostPosted: Sat May 26, 2018 8:16 pm 
Offline
Programmer
User avatar

Joined: Fri Mar 01, 2013 9:52 am
Posts: 1072
Location: Germany
Dilvish wrote:
Relying on your users to have familiarity with your historical practices in order to sort out inconsistencies between various current documents is patently unreliable and seems like poor practice to me.


What various documents are you talking about? There is only the README.md, inside the repository refering to BUILD.md in the FO root, which states that you should use FreeOrionSDK v8.

Dilvish wrote:
I see that although you have edited your PR and repurposed it towards SDK v10, you are still using the wrong/misleading "This PR isn't suppose to work yet, as the release wasn't created yet." statement.

Baseline: by clinging to your "blame the user" trope you blind yourself to the ways you could shift your 98% perfect work towards being 99% perfect.


So there is no documentation change instructing you to download another SDK, there is not tag signing off the usage of another version of the SDK and there is an open branch containing the changes for testing a new SDK release. So yes, the user is here to blame for not reading the instructions properly.

_________________
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz


Top
 Profile  
 
PostPosted: Sun May 27, 2018 1:33 am 
Online
Programming, Design, Admin
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 12223
Location: Munich
Dilvish wrote:
...it would work better to try to put the corresponding changes in simultaneously...
Problem is that updating the include paths for the new layout would break builds with the old SDK. I didn't want to do that immediately. Also, I first got the new MSVC 2017 project files working, which never existed for the older SDKs, as adding those wouldn't break old builds.


Top
 Profile  
 
PostPosted: Sun May 27, 2018 3:31 am 
Offline
AI Lead, Programmer
User avatar

Joined: Sat Sep 22, 2012 6:25 pm
Posts: 4651
adrian_broher wrote:
So yes, the user is here to blame for not reading the instructions properly.

As I indicated in the first post, I was aware that the build instructions indicated v8, but was also aware that a new SDK had been released. In that first post I didn't bother mentioning the timing of that awareness, but since it seems to matter to you, let me clarify, it was before choosing which SDK to use. I was setting up a new environment, and had to make a choice about which piece of info to go with-- was it more likely that the newly released SDK was inappropriate, or that the build instructions simply had not yet been updated and were stale. I read through the release notes, to see if there was any indication that it would not be appropriate, and found none.

I had to make a call one way or the other about the apparent inconsistency, decided that the older document was more likely to be stale, tried the new SDK, found it didn't work, redid everything with SDK v8, found it did work, and then posted a question here asking for clarification about the situation.

I could totally understand if you were to say it's a low priority task for you to determine appropriate and accurate clarifying guidance on this point to be added to the SDK release notes. But for you to repeatedly assert there is no inconsistency, and to berate me for suggesting a clarification should be made, well, that I do not understand.

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
PostPosted: Sun May 27, 2018 1:19 pm 
Offline
Release Manager, Design
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 4561
Location: Sol III
To be fair, adding a short statement to the SDK release notes along the lines of "Please use this SDK to build FO for the commit tagged 'with-FreeOrionSDK-vX' and later" certainly wouldn't hurt and further help avoiding potential confusion. AFAIK the significance of the 'with-FreeOrionSDK-vX' tags isn't documented anywhere else.

Of course, once the cmake build scripts and the SDK work on Windows as they do now on OSX, the point is moot anyway, as the special case handling on Windows will be history, so this isn't really a priority.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 0 guests


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