Compiler updates for the SL Viewer

66 views
Skip to first unread message

Brad Payne (Vir Linden)

unread,
Jul 22, 2020, 9:33:02 AM7/22/20
to opensou...@lists.secondlife.com
Via Nat Linden:

The Tools Update viewer (aka DRTVWR-476, aka the VS 2017 viewer) has been released as Linden's default download viewer. That has several implications for everybody.

  • You must install VS 2017 to continue local development. The updated code on lindenlab/viewer's master branch is not compatible with VS 2013.
  • Only the newest versions of autobuild can even find VS 2017. The current version is 1.1.9, but 1.1.8 should also work. If you have an older version, please update.
  • If you have VS 2017 and older versions of Visual Studio installed, autobuild should select VS 2017 by default. Setting the environment variable AUTOBUILD_VSVER=120 selects VS 2013. AUTOBUILD_VSVER=150 selects VS 2017.
  • If you have VS 2017 plus newer versions of Visual Studio installed, Kitty surfaced a bug in autobuild 1.1.9: it blows up because the Microsoft vswhere tool reports paths for VS 2017 and VS 2019 in a string where autobuild expects a single pathname. We'll get that fixed, hopefully before too many people need to build the viewer with VS 2019.
  • All autobuild package canonical repositories have finally been converted to git.
  • If you have pending work for some autobuild package in a Mercurial fork of the previous canonical repo, you should be able to convert that fork to a branch of your local clone of the new git canonical repo using hg-git, and proceed as if you were working in a git branch from the outset.

Lance Corrimal

unread,
Jul 23, 2020, 8:31:56 AM7/23/20
to opensource-dev, Vir Linden
Hi,

is there an updated "installing the tools to build the viewer" page on the wiki? the current page (http://wiki.secondlife.com/wiki/Viewer_2_Microsoft_Windows_Builds) still talks about viewer 2 and VS2013...

What do I upgrade to get to the new toolchain? only VS2017 and autobuild?

Cheers
LC

Brad Payne (Vir Linden)

unread,
Jul 23, 2020, 10:04:47 AM7/23/20
to Lance Corrimal, opensource-dev
We haven't updated any of the documentation that mentions VS2013 yet. But I think the changes you mention should cover it. The only changes I needed to make when updating were:
- need to install VS2017
- need to update autobuild
- any scripts that look for the build results need to look in build-vc150-* instead of build-vc120*

--
Archives of earlier incarnations of this list are at https://list-archives.secondlife.com
---
You received this message because you are subscribed to the Google Groups "opensource-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opensource-de...@lists.secondlife.com.
To view this discussion on the web visit https://groups.google.com/a/lists.secondlife.com/d/msgid/opensource-dev/54203583-4651-453a-a48c-ac7c60d68298n%40lists.secondlife.com.

Lance Corrimal

unread,
Jul 23, 2020, 4:55:33 PM7/23/20
to opensou...@lists.secondlife.com


Am 23.07.2020 um 16:04 schrieb Brad Payne (Vir Linden):
We haven't updated any of the documentation that mentions VS2013 yet. But I think the changes you mention should cover it. The only changes I needed to make when updating were:
- need to install VS2017


Guess I uninstall VS2013 first?


- need to update autobuild


...how do I do that with pip? in "my world" python stuff usually happens in rpm packages...


Cheers

LC



Lance Corrimal

unread,
Jul 23, 2020, 5:03:39 PM7/23/20
to opensou...@lists.secondlife.com


Am 23.07.2020 um 22:55 schrieb Lance Corrimal:


Am 23.07.2020 um 16:04 schrieb Brad Payne (Vir Linden):
We haven't updated any of the documentation that mentions VS2013 yet. But I think the changes you mention should cover it. The only changes I needed to make when updating were:
- need to install VS2017


Guess I uninstall VS2013 first?


- need to update autobuild


...how do I do that with pip? in "my world" python stuff usually happens in rpm packages...


and do I still use python 2.7, or should I (finally) upgrade to python 3.x, and if so, which version?


Cheers

LC

You received this message because you are subscribed to a topic in the Google Groups "opensource-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/a/lists.secondlife.com/d/topic/opensource-dev/ylliSVFvfvc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to opensource-de...@lists.secondlife.com.
To view this discussion on the web visit https://groups.google.com/a/lists.secondlife.com/d/msgid/opensource-dev/199083a0-23af-8691-443a-dc68b0d3ac85%40eregion.de.

choraz...@gmail.com

unread,
Jul 23, 2020, 6:00:02 PM7/23/20
to opensou...@lists.secondlife.com

Hi,

 

You can keep VS2013 installed. Generally the build process will find the newest VS so long as autobuild is new enough. If you’re going to have a problem, it’ll be VS2017 coming into play when you actually wanted VS2013 😊

 

The autobuild fetch command is almost the same as documented on the wiki at http://wiki.secondlife.com/wiki/Autobuild However, the repo to use is now autobuild-git and the command needs to be ‘git+’ instead of ‘hg+’.

 

Tip - If you have autobuild 1.1.7 there’s a good chance it has the VS2017 detect logic inside. The 1.1.7 version number spanned a range of commits during which the VS2017 detection was added.

 

Tip – if you ever think you might need to revert autobuild, clone the repo and point the install command at the local repo checked out to whichever version you want to retrieve.

 

Tip – you may need to manually nuke the existing autobuild with rm /cygdrive/c/Python27/Scripts/autobuild* and rm -fr /cygdrive/c/Python27/Lib/site-packages/autob* otherwise pip is likely to say it’s already present if you try to update it.

 

Tip – if you have a spare Windows system, get that up and running as a VS2017 build environment first. Once you’ve done it once, you’ll know what to expect when you do it on your usual build system.

 

Tip – If you’re on Windows Insider, beware grabbing early versions of Windows SDKs. Sometimes their installation can confuse things and result in their coming into play when you’re expecting to work with VS2013. Of course, this isn’t a problem if you don’t need to retain VS2013.

 

Good luck!

Lance Corrimal

unread,
Jul 24, 2020, 3:17:28 AM7/24/20
to opensou...@lists.secondlife.com
Am 2020-07-23 23:59, schrieb choraz...@gmail.com:
> Hi,
>
> You can keep VS2013 installed. Generally the build process will find
> the newest VS so long as autobuild is new enough. If you’re going to
> have a problem, it’ll be VS2017 coming into play when you actually
> wanted VS2013 😊
>

I'm uninstalling VS2013 - building a viewer binary is the only
development thing I do on that computer on windows so I really don't
need both.

Anyhow, I'm staring at the VS2017 installer, and all these "workloads",
which one(s) do i need? c++-desktop and c++-games, right?

And to whom it might concern: had to run "pip install --upgrade
setutools", pip wouldn't successfully update autobuild without that.

@chorazin would you be willing to look at the list of other
VS2013-related stuff i have installed, and help me clean up a bit? You
know, remove things i don't need for building viewers, removing old
SDKs, etc etc etc? ...running a bit low on disk space here...

Cheers
LC

--
I do stuff.

Henri Beauchamp

unread,
Jul 24, 2020, 10:42:45 AM7/24/20
to opensource-dev
On Thu, 23 Jul 2020 05:31:56 -0700 (PDT), Lance Corrimal wrote:

> is there an updated "installing the tools to build the viewer" page on the
> wiki? the current page
> (http://wiki.secondlife.com/wiki/Viewer_2_Microsoft_Windows_Builds) still
> talks about viewer 2 and VS2013...
>
> What do I upgrade to get to the new toolchain? only VS2017 and autobuild?

The Cool VL Viewer has been using VS2017 for Windows builds for quite a
while now... While it does not depend on LL's "autobuild" tools, it's build
howto for Windows would cover everything else you would need to know. Here
is chapter one:

------------------------

1.- Build dependencies:

You need a C++ VS2017 Community Edition build environment, Python (v3.6.8
32 bits) and CMake.

You (still) can get VS2017 Community Edition for free but will need to join
Microsoft's "Visual Studio Dev Essentials" to get the download link (see (5)).

When installing VS2017, only install the desktop application C++ development
tools (VC++ 2017, ATL Visual C++, VC++ 2017 latest v141 tools, SDK CRT
universal runtime, Visual C++ tools for CMake, JIT debugger), with the latest
Windows 10 SDK (you do not need the older Windows 8 SDK since the build target
API version (Vista) is specified in the viewer cmake files via the appropriate
defines). Do not install the bundled Python either.

Get Python (Python v3.6.8 *32 bits* is recommended for use with VS2017) from
Python's site (https://www.python.org/ftp/python/3.6.8/python-3.6.8.exe).
Run the installer as administrator (right click, "Run as administrator"); this
way, you will be able to install Python in C:\Programs, for example (instead
of in your roaming profile).
You may use the custom installation option to remove the unnecessary components
that would otherwise clutter your hard disk/SSD for nothing: just keep Python
itself and the Python launcher.
Do make sure to ask the installer to update your PATH environment variable.

For CMake, you may use the latest release (the Cool VL Viewer build system is
regularly updated to work with the latest cmake version), from CMake's site:
https://cmake.org/files/LatestRelease/ (you may use the 64 bits version).
Do ask to the installer to update your PATH environment variable so that cmake
can be found.

You may have to restart your session after installation so that the new PATH is
taken into account.

To verify that everything is installed properly, you may open a command prompt
console and type the following commands:
python --version
cmake --version
.../...
(5) https://my.visualstudio.com/Downloads?q=visual%20studio%202017&wt.mc_id=o~msft~vscom~older-downloads

------------------------

Note that I do not mention the old DirextX 10 SDK, since it is now part
of the VS2017 SDK (not sure LL updated their viewer sources to remove
the old references to it in their cmake files however).

Henri.

Lance Corrimal

unread,
Jul 24, 2020, 2:20:24 PM7/24/20
to opensou...@lists.secondlife.com
Hi,

does autobuild 1.1.9 work with python 3?


Cheers

LC

Lance Corrimal

unread,
Sep 19, 2020, 4:06:32 PM9/19/20
to opensou...@lists.secondlife.com

Hei guys,


is there by now a new "how to build the viewer on windows" page? I had to replace the harddisk in my build computer and did a "install from scratch" - what do I need as the current build toolchain?


Cheers

LC

--
Archives of earlier incarnations of this list are at https://list-archives.secondlife.com
---
You received this message because you are subscribed to the Google Groups "opensource-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opensource-de...@lists.secondlife.com.

Bennett Goble

unread,
Sep 19, 2020, 7:53:50 PM9/19/20
to Lance Corrimal, opensou...@lists.secondlife.com
On 9/19/2020 1:06 PM, Lance Corrimal wrote:
> is there by now a new "how to build the viewer on windows" page? I had
> to replace the harddisk in my build computer and did a "install from
> scratch" - what do I need as the current build toolchain?

wiki.secondlife.com's primary Visual Studio page has been updated to
reflect the upgrade to 2k17. You may still find references to older MSVS
versions on dusty pages.

http://wiki.secondlife.com/wiki/Visual_Studio_Viewer_Builds

-Signal

Lance Corrimal

unread,
Sep 20, 2020, 7:48:07 AM9/20/20
to opensou...@lists.secondlife.com
...That page is not complete at all.

1. It lacks detail, in some cases there's a 32bit and a 64bit version of
a tool - which one should be used? For example, cmake - do I use 32bit
ot 64bit?

And a simple "uncheck all optional components" is by far not enough
detail - which one of the many many build environments do i catually need?

2. The whole setup is a mix ov 32bit and 64bit, why?

Also, the resulting setup does not actually work to build a viewer: All
I get when I try is:

ERROR: vcvarsall.bat not found at: C:\Program Files (x86)\Microsoft
Visual Studio\2017\Community\VC\Auxiliary\Build (via vswhere.exe)


So what do i need now?


Cheers

LC

Lance Corrimal

unread,
Sep 20, 2020, 8:05:41 AM9/20/20
to Jonathan Welch, opensou...@lists.secondlife.com

On the contrary, the page still talks about mercurial...

The paths actually get properly updated by the setup programs, tho.


Cheers

LC


Am 20.09.2020 um 13:51 schrieb Jonathan Welch:
There is no mention of installing git.

There is no mention of updating paths.

These instructions need to be written for and tested on a clean system with no access to the LL internal network.

--
Archives of earlier incarnations of this list are at https://list-archives.secondlife.com
---
You received this message because you are subscribed to the Google Groups "opensource-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opensource-de...@lists.secondlife.com.

Henri Beauchamp

unread,
Sep 20, 2020, 8:58:04 AM9/20/20
to opensou...@lists.secondlife.com
On Sun, 20 Sep 2020 13:48:02 +0200, Lance Corrimal wrote:

> ...That page is not complete at all.
>
> 1. It lacks detail, in some cases there's a 32bit and a 64bit version of
> a tool - which one should be used? For example, cmake - do I use 32bit
> ot 64bit?

The 64 bits version of cmake is fine. The use of a 32 bits Python v3.6.8
binary is however preferred (I do not remember the issue with 64 bits
version, for I am using VS2017 to build the Cool VL Viewer for a few years
already). I am using a genuine Python (from Python's official site) version,
not the one bundled with VS2017.

> And a simple "uncheck all optional components" is by far not enough
> detail - which one of the many many build environments do i catually need?

Citing my own "WindowsBuildHowto.txt" (in the doc/ directory of my viewer
sources):
"When installing VS2017, only install the desktop application C++ development
tools (VC++ 2017, ATL Visual C++, VC++ 2017 latest v141 tools, SDK CRT
universal runtime, Visual C++ tools for CMake, JIT debugger), with the latest
Windows 10 SDK (you do not need the older Windows 8 SDK since the build target
API version (Vista) is specified in the viewer cmake files via the appropriate
defines). Do not install the bundled Python either."

> 2. The whole setup is a mix ov 32bit and 64bit, why?

Because of some shenanigans...

> Also, the resulting setup does not actually work to build a viewer: All
> I get when I try is:
>
> ERROR: vcvarsall.bat not found at: C:\Program Files (x86)\Microsoft
> Visual Studio\2017\Community\VC\Auxiliary\Build (via vswhere.exe)

Can't help you there, sorry... When building the Cool VL Viewer under
Windoze, I only run "python develop.py -G VC141 -m64" (done via a batch
file in my viewer sources) and then I open the resulting *.sln solution
under VS2017 UI to select the "Release" build type and build the viewer...

Henri.

Lance Corrimal

unread,
Sep 21, 2020, 2:43:22 AM9/21/20
to Jonathan Welch, opensou...@lists.secondlife.com
by the way: I am getting a strong feeling that the whole cygwin stuff
can be seamlessly replaced by having the windows subsystem for linux
installed...

Cheers
LC
>>>> wiki.secondlife.com [1]'s primary Visual Studio page has been
>>> updated to
>>>> reflect the upgrade to 2k17. You may still find references to
>>> older
>>>> MSVS versions on dusty pages.
>>>>
>>>> http://wiki.secondlife.com/wiki/Visual_Studio_Viewer_Builds
>>>>
>>>> -Signal
>>>
>>> --
>>> Archives of earlier incarnations of this list are at
>>> https://list-archives.secondlife.com
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "opensource-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it,
>>> send an email to opensource-de...@lists.secondlife.com.
>>> To view this discussion on the web visit
>>>
>>
> https://groups.google.com/a/lists.secondlife.com/d/msgid/opensource-dev/ade25c9b-917f-0990-33e4-2be41c94f324%40eregion.de.
>
> --
> Archives of earlier incarnations of this list are at
> https://list-archives.secondlife.com
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "opensource-dev" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/a/lists.secondlife.com/d/topic/opensource-dev/ylliSVFvfvc/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> opensource-de...@lists.secondlife.com.
> To view this discussion on the web visit
> https://groups.google.com/a/lists.secondlife.com/d/msgid/opensource-dev/405e61d5-8de4-19c7-2bd1-3796c47f1018%40eregion.de
> [2].
>
>
> Links:
> ------
> [1] http://wiki.secondlife.com
> [2]
> https://groups.google.com/a/lists.secondlife.com/d/msgid/opensource-dev/405e61d5-8de4-19c7-2bd1-3796c47f1018%40eregion.de?utm_medium=email&utm_source=footer

--
I do stuff.

choraz...@gmail.com

unread,
Sep 21, 2020, 5:23:06 AM9/21/20
to opensou...@lists.secondlife.com
Like most things that should be seamless, it isn't. You'll likely run into file permissions issues while doing git operations under WSL on existing repos (see https://docs.microsoft.com/en-us/windows/wsl/file-permissions ). Doing them with sudo solves the issue. There also isn't the speed improvement in git file operations I was hoping for compared to Cygwin.

I didn't go much further than comparing git speeds, but there would also probably need to be some tweaks in the build tree to cater for it in the platform detection.

-----Original Message-----
From: opensou...@lists.secondlife.com <opensou...@lists.secondlife.com> On Behalf Of Lance Corrimal

Tonya Souther

unread,
Sep 21, 2020, 9:00:54 AM9/21/20
to opensource-dev
I used WSL only sparingly at a previous job for a short time. With that said...

Git will clone from a local repository to a new one on the same machine. Would doing that fix permissions issues? As long as you've committed all of your work, that is.

--
Archives of earlier incarnations of this list are at https://list-archives.secondlife.com
---
You received this message because you are subscribed to the Google Groups "opensource-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opensource-de...@lists.secondlife.com.

Lance Corrimal

unread,
Sep 23, 2020, 3:04:55 AM9/23/20
to opensou...@lists.secondlife.com

Here is what I have found (by experimentation) to give me a working build environment:


  1. Install VS2017 Community
    - can be the never of the two available Vs2017 Community packages
    - install with these "workloads":Windows development, Windows Game development
  2. Install cmake >= 3.8.0:
    - can be 64bit
  3. Install cygwin64 as described on the wiki
    - you might have to manually add c:\cygwin64\bin to your path for all users
  4. Install 32bit Python 2.7, latest version
    - install as described, make sure it's in the %PATH
  5. Install autobuild as described
  6. Install NSIS:
    The version 3.04 from the sourceforge page works just fine

after installing like this my %PATH looks like this:

PS C:\Users\lemmy> $env:path -split ";"
C:\cygwin64\bin
C:\Python27\
C:\Python27\Scripts
C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Windows\System32\OpenSSH\
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR
c:\Program Files\Calibre2\
C:\ProgramData\chocolatey\bin
C:\Program Files\PuTTY\
C:\Program Files\Git\cmd
C:\Program Files\CMake\bin
C:\Users\lemmy\AppData\Local\Microsoft\WindowsApps

C:\Users\lemmy\DOCUME~1\MobaXterm\slash\bin

You received this message because you are subscribed to a topic in the Google Groups "opensource-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/a/lists.secondlife.com/d/topic/opensource-dev/ylliSVFvfvc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to opensource-de...@lists.secondlife.com.
To view this discussion on the web visit https://groups.google.com/a/lists.secondlife.com/d/msgid/opensource-dev/CA%2BBE2c4bxS7xYsLCczbPEK3SRzKWpvD-kJY90-qjnnKRXacN8w%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages