BOINC / boinc

Open-source software for volunteer computing and grid computing.
https://boinc.berkeley.edu
GNU Lesser General Public License v3.0
2.03k stars 449 forks source link

Upgrade to Visual Studio 2017 #1832

Closed adamradocz closed 5 years ago

adamradocz commented 7 years ago

Hi,

I think it would be a good idea to upgrade to VS2017. And maybe include the 3rd party libs which are not stored on GitHub to make the development process more convenient. And maybe the VS2010 and earlier versions and the Windows XP compatibility should be abandoned.

AenBleidd commented 7 years ago

@adamradocz There is no possibility to include 3rd part libs because they are too big. Also I do not think this is a good idea to abandon Win XP compatibility because currently BOINC works well on this OS (I see no issues related to this OS).

ChristianBeer commented 7 years ago

The Windows dependencies are not stored on github because they are too large in size. They are kept in separate repositories on the main BOINC server. See: http://boinc.berkeley.edu/trac/wiki/SourceCodeGit#Windowsbuilddependencies I looked into moving those to git via git-lfs some time ago but they are still too big for the space that github is providing for free. So they should be either small or easy to be recreated locally so they don't need to be shared via a git repository. I would prefer a solution similar to how Linux and Max dependencies are handled.

If you want to build a new set of dependencies see this page on the settings for each: http://boinc.berkeley.edu/trac/wiki/AdminDepLibs

adamradocz commented 7 years ago

@AenBleidd Why do you want to support the XP which doesn't have official support? If somebody wants to use a lightweight PC dedicated for BOINC, he/she probably will use a linux. I think (but maybe I'm wrong) the new Platform Toolset also has some performance benefits compared to the older one, which is required by the XP. But the last XP compatible version of BOINC could be downloaded just like the versions for Win95 & 98.

adamradocz commented 7 years ago

@ChristianBeer Thanks, I didn't know that page.

AenBleidd commented 7 years ago

@adamradocz Because I prefer not to drop things which are just work. If we will face some limitations - ok, we can drop it but for now we have no either issues or limitations so why we need to drop Win XP support? BOINC doesn't use some os core specific features. Also I do not want to drop Win XP support because some universities have some old PCs in their labs and they have no possibility (and budget) to upgrate their machines or install linux. So why we need just drop them while we have no issues with Win XP?

ChristianBeer commented 7 years ago

Supporting XP means to be restricted to APIs that are available for XP or inventing workarounds to use a new API on Vista+ systems while still supporting the old API on XP. I would like to not go that way and drop XP support for BOINC versions 7.8+ (which includes the 7.7 dev series).

XP is EOL and has loads of known security vulnerabilities. If anyone is still running this on computers and they are connected to the Internet I would them rather not run BOINC at all.

Some numbers: Out of the 52325 hosts that connected to Einstein@Home within the last 14 days 1127 hosts reported Windows XP as OS, that are only 2.1%.

AenBleidd commented 7 years ago

@ChristianBeer, if you think this would be better - then ok.

adamradocz commented 7 years ago

@ChristianBeer It just come to my mind that VS2017 has a Bower & npm package manager, so maybe it would be a good solution to use them for the 3rd party libraries.

ChristianBeer commented 7 years ago

To me it seems that the package manager is only available in the non Community Edition with a special subscription to Team Services. If there is an easy way to handle dependencies a different way that would work too. It just has to work with the VS 2017 Community Edition. Imagine someone wants to reproduce a given BOINC binary solely by following the documented build instruction and all he has is a brand new Windows Installation.

adamradocz commented 7 years ago

I use the community edition and it works fine.

davidpanderson commented 7 years ago

S@h has 6000 active hosts running XP (about 3.5%). I'd prefer to support them as long as possible. What are the advantages of VS2017 over 2010?

AenBleidd commented 7 years ago

If we want BOINC to be built as UWP we need to upgrade it at least to Visual Studio 2015: https://msdn.microsoft.com/en-us/library/dn975273.aspx

Best regards, Vitalii Koshura

2017-03-31 2:50 GMT+03:00 David Anderson notifications@github.com:

S@h has 6000 active hosts running XP (about 3.5%). I'd prefer to support them as long as possible. What are the advantages of VS2017 over 2010?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/BOINC/boinc/issues/1832#issuecomment-290577072, or mute the thread https://github.com/notifications/unsubscribe-auth/ADFZoWibNuIBRoCUP0eFstI1gQ9j0FbPks5rrD_dgaJpZM4Ms0wC .

davidpanderson commented 7 years ago

OK. But making UWP releases with 2017 doesn't preclude making XP-compatible releases with 2010. Let's first see whether we can make a UWP version at all (e.g. whether CreateProcess() is supported).

adamradocz commented 5 years ago

I close the issue, the #2348 more detailed.