Want info about the latest client: VS2019? 7.18?

Message boards : Questions and problems : Want info about the latest client: VS2019? 7.18?
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile Joseph Stateson
Volunteer tester
Avatar

Send message
Joined: 27 Jun 08
Posts: 611
United States
Message 105841 - Posted: 24 Oct 2021, 15:08:20 UTC

I recently found out that VS2019 can be used to build Boinc. That is a huge jump from VS2013.

Was 7.16.20 built using VS2019?

I noticed there is a 7.18 but it is listed as an Android download. Is it correct to assume there will be a 7.18 release for Windows and Linux?

I just put VS2019 on my system. Is there anything special that needs to be done to build the latest? Not looking for a walkthrough but more of a heads-up.

Thanks for looking!

(Thanks for ujpgrade to VS2019 !!!)
ID: 105841 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 4793
United Kingdom
Message 105842 - Posted: 24 Oct 2021, 15:26:58 UTC - in response to Message 105841.  

VS2019 builds OK on my Windows 10 test machine: it downloads and builds the dependency sources as required. Note - that makes it very slow for a first-time build. Make sure it's got a stable internet connection. It gets those sources via a git transfer, so make sure you've got a Git client and a 7-zip decompresser installed before you start.

But: v7.16.20 wasn't - and can't be - built using VS2019. I tried - my uploaded error messages led to https://github.com/BOINC/boinc/issues/4544#issuecomment-935787091
ID: 105842 · Report as offensive
Profile Joseph Stateson
Volunteer tester
Avatar

Send message
Joined: 27 Jun 08
Posts: 611
United States
Message 105845 - Posted: 24 Oct 2021, 19:35:39 UTC - in response to Message 105842.  
Last modified: 24 Oct 2021, 19:53:42 UTC

VS2019 builds OK on my Windows 10 test machine: it downloads and builds the dependency sources as required. Note - that makes it very slow for a first-time build. Make sure it's got a stable internet connection. It gets those sources via a git transfer, so make sure you've got a Git client and a 7-zip decompresser installed before you start.

But: v7.16.20 wasn't - and can't be - built using VS2019. I tried - my uploaded error messages led to https://github.com/BOINC/boinc/issues/4544#issuecomment-935787091


Thanks Richard!

I looked at your install.txt file but did not want to put in Git neither the 2.33.0.2 nor the Tortoise because I have been using the Desktop Git. It does not have a command git function.

However, VS2019 actually has a GIT.EXE but it had to be added to the path. Once I did that I was able to build 7.16.20 (But it is named 7.19.0!)

The additions I had to make to Windows 10x64 (v) 21h1
--> VS2019 community
--> SDK: 22000.194.210911-1543.co_release_svc_prod1_WindowsSDK

In system path the following:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\cmd


I also made a few other changes before I figured out the git had to be in the path. I am going to undo those change and verify all I needed was the git.exe to be the right one.

The "debug" build took a long time, most of which was git'ing but I managed to build the client

3>Generating Code...
3>boinc_cli_vs2019.vcxproj -> D:\Projects\VSrepository\b_7_16_20\boinc-master\win_build\Build\x64\Debug\boinc.exe
========== Build: 3 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========


I then execute the client and asked for the version:

D:\Projects\VSrepository\b_7_16_20\boinc-master\win_build\Build\x64>dir *.exe /s
 Volume in drive D is DATA
 Volume Serial Number is 7A49-C614

 Directory of D:\Projects\VSrepository\b_7_16_20\boinc-master\win_build\Build\x64\Debug

10/24/2021  02:23 PM         9,728,000 boinc.exe
               1 File(s)      9,728,000 bytes

     Total Files Listed:
               1 File(s)      9,728,000 bytes
               0 Dir(s)  1,801,046,863,872 bytes free

D:\Projects\VSrepository\b_7_16_20\boinc-master\win_build\Build\x64>cd debug

D:\Projects\VSrepository\b_7_16_20\boinc-master\win_build\Build\x64\Debug>boinc.exe --version
7.19.0 windows_x86_64



It seems to me the version should have been 7.17. by adding 1 to the 16

So why is it 7.19?

On an unrelated question, if I found a boinc binary that was 7.17 what build was it taken from?
ID: 105845 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 4793
United Kingdom
Message 105847 - Posted: 24 Oct 2021, 20:21:59 UTC - in response to Message 105845.  

On an unrelated question, if I found a boinc binary that was 7.17 what build was it taken from?
You have to get to grips with the way with the way BOINC uses GitHub and version numbering.

In theory: The BOINC master branch - the code you see when you first visit GitHub, or when you update a cloned copy, has the most recent accepted code contributions. It should compile and run, but that's not guaranteed: it's treated as 'untrusted', and given an odd version number - 7.17, 7.19, etc.

BOINC creates release branches when it feels that the code has reached a stable, trusted, point. The release branch is given an even release number - 7.16, 7.18 - and in principle is ready for public use. Bugs may be found during testing, and as fixed the minor version number is incremented: 7.16.11, 7.16.16, 7.16.20.

There's no evolution of the minor version number during development: it stays at 7.17.0, 7.19.0 or whatever. So it you see a v7.17 binary, it was built from the master branch, but you have no idea exactly what code was used to build it.

In practice: BOINC v7.16 has been been a dog's breakfast ever since the release branch was first created. There were multiple bugs in the early code, and they have been 'fixed', not by precision fixing, but by mass importations from the master branch (at least three times, by my count). Each one has copied in a whole new set of bugs. We hope that a new stable v7.18.? release will be made within the next month, to accommodate Windows 11 and the next certificate expiry. It will be built by VS2019, but that's about all we know.

That's my personal interpretation of:
https://github.com/BOINC/boinc-policy/blob/master/Development_Documents/Client_Release_Process.md
https://boinc.berkeley.edu/trac/wiki/AdminReleaseManagement

Those documents may disagree, and other interpretations my be available. Best of luck.
ID: 105847 · Report as offensive
Profile Dave
Help desk expert

Send message
Joined: 28 Jun 10
Posts: 1769
United Kingdom
Message 105849 - Posted: 24 Oct 2021, 20:39:26 UTC

In theory: The BOINC master branch - the code you see when you first visit GitHub, or when you update a cloned copy, has the most recent accepted code contributions. It should compile and run, but that's not guaranteed: it's treated as 'untrusted', and given an odd version number - 7.17, 7.19, etc.


Which of course means, my 7.19 that I have compiled on my Ubuntu box may have differences in the code from anyone else's. Mine was from code downloaded from git-hub on the second of September. Worth making a note of the date your code is from in order to check whether issues have been resolved since then or even introduced!
ID: 105849 · Report as offensive
Profile Joseph Stateson
Volunteer tester
Avatar

Send message
Joined: 27 Jun 08
Posts: 611
United States
Message 105850 - Posted: 24 Oct 2021, 20:42:13 UTC - in response to Message 105849.  
Last modified: 24 Oct 2021, 20:44:15 UTC

In theory: The BOINC master branch - the code you see when you first visit GitHub, or when you update a cloned copy, has the most recent accepted code contributions. It should compile and run, but that's not guaranteed: it's treated as 'untrusted', and given an odd version number - 7.17, 7.19, etc.


Which of course means, my 7.19 that I have compiled on my Ubuntu box may have differences in the code from anyone else's. Mine was from code downloaded from git-hub on the second of September. Worth making a note of the date your code is from in order to check whether issues have been resolved since then or even introduced!


I made a mod to 7.16.3 to improve the version number ;<)

root@h110btc:/usr/bin# ./boinc --version
7.16.3 x86_64-pc-linux-gnu Build:2020-02-22T12:14:55
root@h110btc:/usr/bin#

Changes automatically on every build!
ID: 105850 · Report as offensive

Message boards : Questions and problems : Want info about the latest client: VS2019? 7.18?

Copyright © 2022 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.