Cool VL Viewer forum

View unanswered posts | View active topics It is currently 2025-08-07 11:01:29



Reply to topic  [ 6 posts ] 
apply patches to source (Windows) 
Author Message

Joined: 2010-04-15 10:02:51
Posts: 4
Reply with quote
Hi I enjoy compiling from source code but i have no idea how to apply the patches to source code i am used to just downloading source and adding libraries and compiling like emerald.
but would really like this source code
but am lost please help

btw I use windows


2010-04-15 10:30:17
Profile

Joined: 2009-09-08 01:27:46
Posts: 172
Reply with quote
There's a build script on the home page, check that.


2010-04-15 15:05:12
Profile WWW

Joined: 2009-03-17 18:42:51
Posts: 6028
Reply with quote
Alas, the viewer (even the official one) is far from easy to build, due to a dirty mix of build tools (scons or cmake, python scripts, shell (batch) scripts, Visual C++, etc).

I will assume that your system is already configured to properly build an official viewer (see the SL Wiki for details), with fmod and the QuickTime SDK also properly installed (normally in "C:\Program Files\fmodapi375win" and "C:\Program Files\QuickTime SDK" respectively)

The Cool VL Viewer is developed under Linux, so the sources are also adapted for a Linux build environment, and building the viewer in such an environment is just a matter of invoking (c)make-SL and letting the script do all the dirty work for me...

When I build for Windows, I first prepare the sources under Linux using make-SL (for the v1.19.2 branch) or cmake-SL (for the v1.23.5 branch), then I export the prepared source tree to a Windows virtual machine (using VirtualBox) and build the viewer there with Visual Express C++ 2005.

You first need to download all the files linked from the download section of the main site, in the "(source files used to build this release: main sources, artwork files, libraries, fmod, patches)" line corresponding to the branch you wish to build.
Put all the files inside a single directory. For v1.19.2, delete the two slviewer-8-v11905-gcc42-Warnings-libs.patch.bz2 and slviewer-8-v11905-gcc42-Warnings.patch.bz2 patch files, since Visual C++ doesn't like them at all... For both v1.19.2 and v1.23.5, make sure to put the supplementary Windows patch (available here for v1.19.2 and here for v1.23.5) in the same directory as the other patches.

For preparing the source tree, you have then two choices:

1.- The quick and easy way: by using the (c)make-SL scripts under Linux.

For v1.19.2, type:
Code:
make-SL --win /your_directory_with_source_files_and_patches

and, for v1.23.5, type:
Code:
cmake-SL /your_directory_with_source_files_and_patches --prep

2.- The slow and hard way: if you don't want to prepare the source tree under Linux, then you will have to find the way to do it with Windows tools, but I can't point you to them since I don't know them (search for "diff patch windows" in Google). With the build environment installed for building the viewer, you may already have "patch", "bzcat", "tar", etc as cygwin tools...

Once you got the tools and learned how to use them, you then have to proceed as follow, in this exact order:
  • Untar the *.tar.gz files (these are the official viewer sources and "libraries"): it should create a "linden" directory.
  • Unzip the slviewer-artwork-*.zip file (this is the official viewer artwork): it should uncompress in the same "linden" directory as for the sources above.
  • Unzip the slviewer-*-patch.zip files in alphabetical order: they should uncompress in the same "linden" directory as for the sources above. Do allow unzip to overwrite any existing file.
  • Apply all the *.patch.bz2 patch files in alphabetical order from inside the "linden" directory. Under Linux, for a given patch, this is done with a command line such as:
    Code:
    bzcat /your_directory_with_source_files_and_patches/slviewer-whatever.patch.bz2 | patch -p1 -s
    Do not worry about the few rejects as they are taken care of by the "AdjustRejects" patch (note however, that if you remove or add new patches from/to the standard patch set, you will have to check for the possible supplementary rejects...).

You now have a source tree, ready to build for Windows. Let's do it:
  • Open the linden\indra directory under the Explorer, and double-click on "winbuild.bat" (note that you may want to check first for the fmod and Quicktime SDK directory names in this script if you did not install these in C:\Program Files).
  • Launch Visual Express C++ 2005.
  • For v1.19.2, follow the detailed instructions given in linden\doc\VS2005conversionInstructions.txt
  • For v1.23.5, open the linden\indra\build-VC80\viewer.vcproj project, select the Release configuration, and hit F7 to build.

Good luck ! :)


2010-04-15 16:53:51
Profile WWW

Joined: 2010-04-15 10:02:51
Posts: 4
Reply with quote
thanks for all that info yes I compile quite often but use builds such as emerald and others where the source is all done all we have to add is libraries and artwork.
basically what I am asking is if you could prepare the source tree under Linux. And make that available for download so us windows users can compile it as I have no access to a Linux machine thank you for your time.


2010-04-16 06:46:53
Profile

Joined: 2010-04-15 10:02:51
Posts: 4
Reply with quote
So is anybody able to help out??
and add all the patches to the source with linux then upload it so windows users can download it and compile it


2010-04-17 11:19:04
Profile

Joined: 2009-03-17 18:42:51
Posts: 6028
Reply with quote
Sorry but no.

There are several reasons:

  • The sources and the patches are GPL, however the libraries and artwork files are not. Publishing them on my site as a single bundle would be in violation of the licenses of the said libraries (and in particular fmod and KDU, but also the Vivox executable). Some third-parties viewer do it, either because they don't use fmod, KDU nor Vivox, or because they don't care about the licenses... The Cool VL Viewer offers the same level of performances in image decoding speed (thanks to KDU), sound support (thanks to fmod) and voice support (thanks to Vivox) as the official viewer, and I do care about the licenses. This is why I only provide links to the libraries and artwork files (which are actually stored on Linden Lab's sites), and why the viewer binaries are distributed as a "difference files" (or overlay) package to be installed over the official SL viewer (which installation already provides the necessary libraries and artwork, saving me from distributing them).
  • Because the patches must be applied after the artwork and libraries have been added to the source tree, it is not possible to provide a standalone sources tarball or zip file to which you would just have to add the official artwork and libraries (because should you do it, you would end up with a non functional viewer).
  • Providing the sources as both an "upstream source package" (Linden Lab's official viewer sources) and individual patches makes it easier to:
    • See what are the actual changes to the upstream code, thus improving security (by making it easy to make sure that no malicious code was inserted).
    • Hunt and fix bugs (if you have a doubt about a feature, just rebuild without the corresponding patch to make sure).
    • Quickly update the Cool VL Viewer when a new official viewer version is issued (like it was the case for v1.20, v1.22 and v1.23, and like Lance Corrimal did to create his "Frozen Globe" build, based on Snow Globe sources and the Cool VL Viewer patches).
    • Port the Cool VL Viewer features to other Open Source viewers (and many do use the Cool VL Viewer patches: Hippo (almost all patches !), Imprudence, Emerald, etc...).
    • Let people create their own private, customized version of the viewer (if you don't like a feature, just rebuild the viewer without the corresponding patch).
  • I do not have a lot of available space on my website and can't afford storing megabytes of sources on it.

I nevertheless provide you with all the necessary tools to build the viewer, and even took the time for lengthy explanations on how to do it in this thread... It's just a matter for you to use the ingredients and follow the recipe like many others did already...


2010-04-17 12:48:57
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 6 posts ] 

Who is online

Users browsing this forum: No registered users and 12 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
Designed by ST Software.