<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nicholaz+Beresford</id>
	<title>Second Life Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nicholaz+Beresford"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Nicholaz_Beresford"/>
	<updated>2026-06-20T23:37:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User_talk:Liana_Linden/Hippopelago&amp;diff=82678</id>
		<title>User talk:Liana Linden/Hippopelago</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User_talk:Liana_Linden/Hippopelago&amp;diff=82678"/>
		<updated>2008-08-04T13:46:33Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: New page: === Nick&amp;#039;s Random Thoughts ===  * Sandbox: I know that a lot of people are enjoying the sandboxing I&amp;#039;m currently offering on my parcel (the usual comment is &amp;quot;it&amp;#039;s a nice and quiet place to...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Nick&#039;s Random Thoughts ===&lt;br /&gt;
&lt;br /&gt;
* Sandbox: I know that a lot of people are enjoying the sandboxing I&#039;m currently offering on my parcel (the usual comment is &amp;quot;it&#039;s a nice and quiet place to do stuff&amp;quot;).  It&#039;s certainly not OS related, but I guess the sandbox puts more actual use to the SIM than the current winner parcels.  I have currently set aside about 1000-2000 prims for that purpose.&lt;br /&gt;
* Dev Sandbox: I guess it&#039;s way too large.  When a dev needs land options to test features (I remember that I needed one once to check for a bug with voice enabled parcels and think it was Alissa who had the idea of offering land features for developers with basic accounts for such cases), a small place (even 16sqm) would have been enough for me to test a given feature etc.  I may be wrong, but I don&#039;t foresee many such cases (but I may be misinterpreting the use of the Dev Sandbox entirely though).&lt;br /&gt;
* Legacy winner parcels: A group owned parcel would be fine by me ... just a place to put a few prims (and maybe terraforming).  However, given the large Dev sandbox, I&#039;d personally prefer a bit more room on OpenSpace (I don&#039;t need many prims but prefer space).  So maybe the previous winners could be given parcels on the openspace sim, leaving the rest there as Dev. Sandbox or even public building sandbox.&lt;br /&gt;
* The above are just my two cents worth of comment off my mind.&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Alternate_viewers&amp;diff=68177</id>
		<title>Alternate viewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Alternate_viewers&amp;diff=68177"/>
		<updated>2008-05-20T11:13:27Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: just some whitespace between the entries&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The [[Extended_FAQ|Extended FAQ]] states that it is okay to create and distribute homebrew viewers as long they adhere to the respective licenses for code usage and server usage.  &lt;br /&gt;
&lt;br /&gt;
The code itself is licensed under {{OSWebsite|gplv2|alt=the GNU General Public License (GPL)}}, which governs modification and redistribuition of the source code.  Use of Linden Lab&#039;s servers will still be governed by [http://secondlife.com/corporate/tos.php the Second Life Terms of Service]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Homebrew viewers are obviously not associated with LindenLab, are governed by their own respective licenses.  LindenLab is not responsible for any desired or undesired results in association with those viewers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note to authors: If you make a viewer available make sure to include platform, version numbers and dates.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Able Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This is a Windows viewer is an unofficial build which adds a [https://jira.secondlife.com/browse/VWR-1017 Mute Visibility] feature, which allows objects in-world to be rendered partially or entirely invisible. &lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Mute Visibility &lt;br /&gt;
* Improvements to the Mute List&lt;br /&gt;
* Muting objects applies to entire linksets&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://ablewhitman.blogspot.com/ Able Whitman on Blogspot]&lt;br /&gt;
* Direct download link: http://ablewhitman.org/viewer/&lt;br /&gt;
* Source code: http://ablewhitman.org/viewer/&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Dale Glass Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This is a Windows (soon Linux) viewer which adds new experimental features. The features are intended to give users more information about the world and to simplify moderation by making it easier to tell where people are and what they&#039;re doing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Avatar Scanner&lt;br /&gt;
** Shows nearby avatars, roughly in drawing distance range.&lt;br /&gt;
** Shows name, age, payment info, current activity. &lt;br /&gt;
** Land and estate commands for ejecting/banning multiple avatars at once&lt;br /&gt;
** Integration with Luskwood moderation tools&lt;br /&gt;
** Buttons to open profile, IM, teleport to or track selected avatars&lt;br /&gt;
* Event Log: Experimental feature, shows a list of active particle effects (soon sounds too), and their owners. Allows moving camera to emitter.&lt;br /&gt;
* Branding: Replaces LL branding with my own. Different login page, checks for updates against my server.&lt;br /&gt;
* Logging of the owner and location of speaking objects&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: http://sl.daleglass.net&lt;br /&gt;
* Blog: http://daleglass.wordpress.com&lt;br /&gt;
* Direct download link: http://sl.daleglass.net/download&lt;br /&gt;
* Source code: http://svn.daleglass.net/sl/release/ ( [[User:Dale_Glass#Subversion_Repository|subversion]] )&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Nicholaz Edition (Discontinued) ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
These are Windows viewer based on SL builds with a focus on stability, usability and performance (see [http://www.blueflash.cc/users/nicholaz/EyeCandy/!!Installation.txt Installation.txt] for homebrew disclaimer).  Mac and Linux variants are available through other open sourcers (links on the website).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Development of this viewer is discontinued as of 1.19.1.  Older versions are still working, download links can be found [http://nicholaz-beresford.blogspot.com/ here] (look for &amp;quot;Release&amp;quot; posts).&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Improved stability&lt;br /&gt;
* Lower memory footprint&lt;br /&gt;
* GUI redesigns &lt;br /&gt;
* Workarounds for common annoyances (Group IM Filtering, &amp;quot;Release Key&amp;quot; button, etc.)&lt;br /&gt;
* see [http://www.blueflash.cc/users/nicholaz/EyeCandy/!Changes.txt Changes.txt] for all details&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://nicholaz-beresford.blogspot.com/ Nicholaz Beresford on Blogspot]&lt;br /&gt;
* Direct download link: [http://www.blueflash.cc/users/nicholaz Download versions of this viewer] &lt;br /&gt;
* Source code: Look at the [http://www.blueflash.cc/users/nicholaz download site] for the source-xxx-zip files in the respective folders and see the readme.txt inside the archives&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Marine Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This viewer, codename &amp;quot;&#039;&#039;&#039;RestrainedLife&#039;&#039;&#039;&amp;quot; is an attempt at enhancing the experience of people who practice BDSM in Second Life. It is used jointly with simple scripts made to use its features in-world, such as making an attached object undetachable, preventing chat and such. An &#039;&#039;&#039;API&#039;&#039;&#039; (Application Programming Interface, a text file) is provided so that every content creator can create their own scripts to interface their own items to the viewer and use its features.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Attachments can be made undetachable&lt;br /&gt;
* Chat and IM prevention on demand, with exceptions if needed&lt;br /&gt;
* Teleport and sit-tp prevention on demand, with exceptions if needed&lt;br /&gt;
* Editing and Rezzing prevention on demand&lt;br /&gt;
* Adding/Removing clothes on demand, + force remove clothes and force remove unlocked attachments&lt;br /&gt;
* Force sit and prevent stand up (even after a relog) on demand&lt;br /&gt;
* Manual (by IM) and automatic (by script) version checking&lt;br /&gt;
* API for content creators&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://realrestraint.blogspot.com/ Marine Kelley&#039;s blog on Blogspot]&lt;br /&gt;
* Direct download link to the Windows viewer: [http://www.erestraint.com/realrestraint Download for Windows] (Executable and readme)&lt;br /&gt;
* Direct download link to the MacOS X viewer: [http://www.erestraint.com/realrestraint Download for MacOS X] (Executable and readme, courtesy of Mo Noel)&lt;br /&gt;
* Direct download link to the Linux viewer: [http://www.loomiverse.net/RestrainedLife Download for Linux] (Executable and readme, courtesy of Loom Kish)&lt;br /&gt;
* Source code and text API : [http://www.erestraint.com/realrestraint Download] (Text files)&lt;br /&gt;
* API as a wiki page : [https://wiki.secondlife.com/wiki/RestrainedLifeAPI API] (Wiki format)&lt;br /&gt;
* Specification to interface cages &amp;amp; furnitures with the viewer through the use of a relay : [https://wiki.secondlife.com/wiki/LSL_Protocol/RestrainedLifeRelaySpecs Relay Spec] (Wiki format)&lt;br /&gt;
&lt;br /&gt;
=== Version and timestamp ===&lt;br /&gt;
&lt;br /&gt;
* Version : 1.10.5.2, compiled on SL official viewer 1.19.0.5&lt;br /&gt;
* Date : 04/09/2008&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Henri Beauchamp Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This viewer, codename &amp;quot;&#039;&#039;&#039;Cool SL Viewer&#039;&#039;&#039;&amp;quot; combines elements of several of the other viewers, as well as some extra patches very carefully tested.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Reverses many of the unpopular interface changes made in the transition to voice being standard (including reinstating the packet loss and bandwidth indicators, the old toolbar and buttons layouts, the old, more visible, status bar icons, and optionally reinstating the old, more visible, tracking dots in the mini-map).&lt;br /&gt;
* Implements the &amp;quot;Restrained Life&amp;quot; API discussed more fully in the Marine Edition client.&lt;br /&gt;
* Defines double-click default actions for many types of inventory.&lt;br /&gt;
* Allows to optionally prevent IMs to show in the main chat. &lt;br /&gt;
* Allows to hide the &amp;quot;Release Keys&amp;quot; and/or the &amp;quot;Master volume&amp;quot; in the panel overlay.&lt;br /&gt;
* MUD/MUSH/MUCK/MU* style &amp;quot;poses&amp;quot;.&lt;br /&gt;
* Allows to build and TP over 768m of altitude (and up to 4096m).&lt;br /&gt;
* Allows to build large prims (up to 100m in any or all dimensions) on OpenSim (not on SL, because of server-side limitations).&lt;br /&gt;
* Various patches by Nicholaz Beresford, Gigs Taggart, Blakar Ogre, and others.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://sldev.free.fr/ The Cool SL Viewer homepage]&lt;br /&gt;
* Direct download link to the Linux viewer: [http://sldev.free.fr/SecondLife_i686_1_19_0_5_CoolRelease_10-diff_files.tar.bz2 Download for Linux] (please, check the [http://sldev.free.fr/ The Cool SL Viewer homepage] for installation instructions).&lt;br /&gt;
* Windows viewer: [http://my.opera.com/boylane/blog/ See Boy Lane&#039;s site] for files and instructions.&lt;br /&gt;
* MacOS X viewer: [http://radio-boomslang.shacknet.nu/~bb/articles/cool-viewer-mac/index.html See Barney Boomslang&#039;s site] for files and instructions. Beware: Barney&#039;s first version was not an exact port of the Cool SL Viewer: it missed the RestrainedLife features: be sure to download the latest release (1.19.1.4(b) or later).&lt;br /&gt;
* Source code: The standard Linden codebase is used, with the addition of the patches listed and linked to on the homepage.&lt;br /&gt;
&lt;br /&gt;
=== Version and timestamp ===&lt;br /&gt;
&lt;br /&gt;
* Version : i686 1.19.0.5 CoolRelease 10&lt;br /&gt;
* Date : 2008/05/09&lt;br /&gt;
&lt;br /&gt;
* Version : i686 1.19.1.4 CoolRelease 7&lt;br /&gt;
* Date : 2008/05/09&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Kirstens Viewers ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
These Viewers are custom built for win32 platforms, and take code from the SLDev and patches from 3rd parties or jira, and should be considered experimental compared to the standard release client, they are however compiled more or less exclusively for high end intel based machines for best performance or to fix specific problems and have proved very stable with minor performance increases and added stability in some cases.&lt;br /&gt;
&lt;br /&gt;
Kirsten also builds Viewers based off snapshots, very experimental and sometimes not yet available from the official website.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Compiled For Maximum Performance (Some Viewers High End Intel Specific)&lt;br /&gt;
* Quicker Loading,More Responsive,better memory use.&lt;br /&gt;
* Record Logins 19 to 20h Hours (Thanks to Phantium and Paulo For the Tests)&lt;br /&gt;
* Viewers Released to Fix specific problems (Including Kirstens Own Patches)&lt;br /&gt;
* Snapshots Preview Builds of Newest Viewers (Sometimes Before Official Release )&lt;br /&gt;
&lt;br /&gt;
* Redesigned Skins on Certain Viewers&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://code.google.com/p/kirstens-secondlife-viewers/&lt;br /&gt;
* http://www.armyof4.com/Kirstenlee/&lt;br /&gt;
&lt;br /&gt;
=== Version and timestamp ===&lt;br /&gt;
&lt;br /&gt;
* Version : Kirstens Dazzle(Stable,Low Memory Footprint,Grey UI )&lt;br /&gt;
* Version : Kirstens 1-20-2-85057(R5) Latest Snapshot - R4(most Stable) R5(latest) R5a(Dark Hi Contrast UI)&lt;br /&gt;
* Version : Kirstens Retro ,For Older Hardware based on 1-18-6-4 (To Support Older Hardware,Grid Thinks its a 1-20 ^^ )&lt;br /&gt;
* Date : 04/19/2008&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Onrez Viewer ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
The Onrez viewer was made by the Onrez company in connection with a Second Life themed story on the high tech forensics based TV show &amp;quot;CSI: New York&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* A back and history button for teleports&lt;br /&gt;
* In-viewer web browsing. &lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://viewer.onrez.com for the download&lt;br /&gt;
&lt;br /&gt;
=== Comment ===&lt;br /&gt;
The source code for this viewer is closed source.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== RealXtend Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
The realXtend viewer is a heavily modified version of the Linden Labs&#039; Second Life client by a partnership of two Finnish companies, ADMINO technologies and LudoCraft.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
    * Second life compatibility mode for use in SL and Opensim worlds&lt;br /&gt;
    * Teleports between realXtend and Secondlife&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://www.realxtend.org/]&lt;br /&gt;
* Direct download link: http://www.realxtend.org/downloads.html&lt;br /&gt;
* Source code: http://sourceforge.net/projects/realxtendviewer/&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== METAbolt ==&lt;br /&gt;
=== Text Based SL Viewer Edition ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
METAbolt is a non-graphical (text based) viewer. It&#039;s light weight and cross grid, which means it will work in Second Life as well as other grids that are based on OpenSIM. The viewer is Open Source so it&#039;s free. Currently METAbolt is only available for Windows platforms.&lt;br /&gt;
&lt;br /&gt;
METAbolt is ideal if:&lt;br /&gt;
&lt;br /&gt;
* the graphical viewers are not allowed at your work place &lt;br /&gt;
* you have a low powered computer that has difficulty running the SL viewer&lt;br /&gt;
* you have a low speed internet connection e.g. dial up  &lt;br /&gt;
* you need to run multiple alts at the same time &lt;br /&gt;
* you need to run alts to carry out land security, group management functions &lt;br /&gt;
* you can&#039;t or don&#039;t want to run the SL viewer all the time but need the ability to stay online for communications or other reasons &lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
Too many to be listed here. Here are just a few:&lt;br /&gt;
* Built in Machine Translation with 16 language pairs&lt;br /&gt;
* Emoticons on chat &amp;amp; IM. Feature can be switched on/off&lt;br /&gt;
* Land monitor: monitor parcels that are for sale on a SIM&lt;br /&gt;
* Object Manager: Detailed object information &amp;amp; stats&lt;br /&gt;
* (optional) Group Manager plug-in for sending direct group invites&lt;br /&gt;
* Uses extremely low computing power and bandwidth&lt;br /&gt;
&lt;br /&gt;
=== Version and timestamp ===&lt;br /&gt;
&lt;br /&gt;
* Version : 0.9.0.34 BETA (at the time this page was prepared)&lt;br /&gt;
* Date : 01 May 2008&lt;br /&gt;
* Platform: Windows Only&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: http://www.metabolt.net/&lt;br /&gt;
* Download: http://www.metabolt.net/download.asp&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Preparing_Code&amp;diff=66413</id>
		<title>Preparing Code</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Preparing_Code&amp;diff=66413"/>
		<updated>2008-05-07T10:12:28Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiContribBox}}&lt;br /&gt;
&lt;br /&gt;
If you have a piece of source code (be it a fix, new feature, or optimization of existing code) submit the patches in a way that makes it easy for the Lindens to incorporate them into the source code.&lt;br /&gt;
&lt;br /&gt;
== Good Patch Practise ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
The people who review and apply patches are the bottleneck in the system. If you can make it easier for Lindens to understand, test and apply your patch without lots of cleanup, Lindens can incorporate more patches in a fixed amount of time.&lt;br /&gt;
&lt;br /&gt;
===Before You Start===&lt;br /&gt;
&lt;br /&gt;
Check [https://jira.secondlife.com/secure/Dashboard.jspa JIRA Bug Tracker] to see if a similar issue has been submitted, and check its status. You will eventually attach to the existing issue if you find one. If your issue is new, it can help to create the issue before starting work so that others can begin voting for the patch. More votes lead to faster incorporation.&lt;br /&gt;
&lt;br /&gt;
If you haven&#039;t, don&#039;t forget to sign and send in the [http://secondlifegrid.net/programs/open_source/submission contribution agreement]. The sooner you do that, the sooner Lindens can accept your patch. Getting this out of the way early avoids any mailing or processing delays. You only need to do this one time.&lt;br /&gt;
&lt;br /&gt;
=== Coding Standard ===&lt;br /&gt;
&lt;br /&gt;
Please read and follow the coding standard: [[Coding_standard|Second Life coding standard]]&lt;br /&gt;
&lt;br /&gt;
=== Comments ===&lt;br /&gt;
&lt;br /&gt;
Please do not add issue numbers and your name to the code section.  These have to be removed by hand. While comments explaining code in a general working context are helpful, bracketing a patch with comments like &amp;quot;// PATCH START&amp;quot; and &amp;quot;// PATCH END&amp;quot; does not add any information, and adds to the manual cleanup Lindens have to do.&lt;br /&gt;
&lt;br /&gt;
In short, add to the patch what is expected to appear in the final source.&lt;br /&gt;
&lt;br /&gt;
=== Give Yourself Credit! ===&lt;br /&gt;
&lt;br /&gt;
While names and JIRAs shouldn&#039;t appear in source, they do belong in doc/contributions.txt. Please don&#039;t be shy about adding the issue label and adding your name. We use this file for a number of purposes, including the generation of the [[Source contributions]] page. This also helps Lindens track the purpose of a given patch file.&lt;br /&gt;
&lt;br /&gt;
=== One Patch for one Issue ===&lt;br /&gt;
&lt;br /&gt;
Each patch should do exactly one thing. If you have three different bugs to fix, please submit three different patches.  When you fold unrelated hunks into a single patch, Lindens have to try to figure out which part of the patch applies to which bug, and split it out by hand, usually into several patches. Combo patches are particularly time consuming, and the manual splitting up makes it very easy to lose pieces of patches altogether.&lt;br /&gt;
&lt;br /&gt;
=== Less is more ===&lt;br /&gt;
&lt;br /&gt;
Smaller patches are easier to review and therefore more likely to be integrated quickly. The longer it takes for a patch to be incorporated, the higher the likelihood that the underlying code will change enough for the patch to fail. Please do not include formatting or other clean-up changes. These make a patch harder to review and more likely to fail.&lt;br /&gt;
&lt;br /&gt;
=== Path structure ===&lt;br /&gt;
&lt;br /&gt;
It&#039;s best practice for your patch to be made on the directory level where the linden folder resides so that the path/file names in your patch will start with &#039;&#039;&#039;linden/&#039;&#039;&#039;.  If you are working from a SVN, a diff in SVN style starting from the &#039;&#039;&#039;indra&#039;&#039;&#039; directory level [https://lists.secondlife.com/pipermail/sldev/2008-May/009568.html is also fine].&lt;br /&gt;
&lt;br /&gt;
== Creating a Patch ==&lt;br /&gt;
&lt;br /&gt;
Patches should be submitted in unified diff format.  This format is similar to simple diffs, but with more detailed information, and it can be automatically integrated into the source.  You can generate a unified diff by calling &#039;&#039;diff -u &amp;lt;original file&amp;gt; &amp;lt;new file&amp;gt;&#039;&#039; (under Windows you will find the diff command as part of the CygWin project in C:\CYGWIN\BIN).&lt;br /&gt;
&lt;br /&gt;
Please submit a single plain text uncompressed patch file that affects all of the files you need to modify.  This is far easier to review than a collection of tiny one-file patches.  &lt;br /&gt;
&lt;br /&gt;
Also bad for reviewability are a compressed patch, or a tarball or zip containing one or more patches.&lt;br /&gt;
&lt;br /&gt;
=== Unified diff of all changed files in a folder tree ===&lt;br /&gt;
The easiest way to generate a clean patch is to keep two copies of the source tree.  Leave one completely unmodified, and make all of your changes in the second.  Then use &amp;quot;diff -urN&amp;quot; to generate the patch.  You can use the --exclude option to omit unwanted files.  For example:&lt;br /&gt;
&lt;br /&gt;
 diff -urN --exclude=&amp;quot;*.o&amp;quot; my_untouched_tree my_modified_tree&lt;br /&gt;
&lt;br /&gt;
=== Unified diff of multiple files ===&lt;br /&gt;
If for any reason you can not use a whole tree diff as above, you can still merge patches from different files into one, by appending the output of patch commands to the previous output (via &#039;&#039;&#039;&amp;gt;&amp;gt;&#039;&#039;&#039; redirection for the 2nd and later commands).&lt;br /&gt;
&lt;br /&gt;
 diff -u linden-untouched/indra/newview/viewer.h linden/indra/newview/viewer.h &amp;gt;mychanges.patch.txt&lt;br /&gt;
 diff -u linden-untouched/indra/newview/viewer.cpp linden/indra/newview/viewer.cpp &#039;&#039;&#039;&amp;gt;&amp;gt;&#039;&#039;&#039;mychanges.patch.txt&lt;br /&gt;
 diff -u linden-untouched/indra/newview/llviewerwindow.cpp linden/indra/newview/llviewerwindow.cpp &#039;&#039;&#039;&amp;gt;&amp;gt;&#039;&#039;&#039;mychanges.patch.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CR/LF vs LF and Whitespace===&lt;br /&gt;
In some situations, you will find that the patch contains the whole file, rather than just the lines changed.  The reason is that sometimes, files in Linux format find their way into the source distribution.  With these diff.exe will treat all lines as different from those in your modified file.&lt;br /&gt;
&lt;br /&gt;
There are various options that will help here.  You can add &#039;&#039;--strip-trailing-cr&#039;&#039; to the command line to fix this.  &lt;br /&gt;
&lt;br /&gt;
  diff -u --strip-trailing-cr linden-untouched/indra/newview/viewer.h linden/indra/newview/viewer.h &amp;gt;mychanges.patch.txt &lt;br /&gt;
&lt;br /&gt;
In some situations try the &#039;&#039;&#039;w&#039;&#039;&#039; (ignore whitespace) and/or &#039;&#039;&#039;B&#039;&#039;&#039; (ignore empty lines) options are also helpful (e.g. with tabs vs. space or spurious space characters while editing).   Type &#039;&#039;&#039;diff --help&#039;&#039;&#039; for more details.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sample output ===&lt;br /&gt;
For reference, here&#039;s what a unified diff looks like.&lt;br /&gt;
&lt;br /&gt;
 --- linden-untouched/indra/newview/viewer.cpp    2007-05-14 16:47:26.000000000 +0200&lt;br /&gt;
 +++ linden/indra/newview/viewer.cpp 2007-05-22 08:49:50.484375000 +0200&lt;br /&gt;
 @@ -6302,7 +6326,7 @@&lt;br /&gt;
 &lt;br /&gt;
     llinfos &amp;lt;&amp;lt; &amp;quot;Cleaning Up&amp;quot; &amp;lt;&amp;lt; llendflush;&lt;br /&gt;
 &lt;br /&gt;
 -   LLKeyframeMotion::flushKeyframeCache();&lt;br /&gt;
 +   LLKeyframeMotion::flushKeyframeCache(TRUE); &lt;br /&gt;
 &lt;br /&gt;
     // Must clean up texture references before viewer window is destroyed.&lt;br /&gt;
     LLHUDObject::cleanupHUDObjects();&lt;br /&gt;
 @@ -6562,6 +6586,8 @@&lt;br /&gt;
     delete gVFS;&lt;br /&gt;
     gVFS = NULL;&lt;br /&gt;
 &lt;br /&gt;
 +   LLCurl::cleanup(); &lt;br /&gt;
 +&lt;br /&gt;
     // This will eventually be done in LLApp&lt;br /&gt;
     LLCommon::cleanupClass();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Submitting the Patch on JIRA ==&lt;br /&gt;
&lt;br /&gt;
When you are ready for the world to view your patch, submit the patch on the [https://jira.secondlife.com/secure/Dashboard.jspa| JIRA Bug Tracker].  Create a new issue or attach the patch to an existing entry as appropriate. Attach the &#039;&#039;.patch.txt&#039;&#039; file itself as a file attachment and make sure that the check mark for &#039;&#039;Patch attached&#039;&#039; is set (you can do that when creating the issue or by choosing Edit for an existing one).  Along with your patch, it helps to provide a brief description explaining your patch from an implementor&#039;s view. Non-trivial patches benefit form a simple review plan naming what systems were affected and describing what peers can do to verify that the patch works and doesn&#039;t break surrounding systems. Very often, you will find that writing only a few lines will give you pause and make you double-check some code.&lt;br /&gt;
&lt;br /&gt;
For all but the most trivial patches, it is a good idea to submit the patch for peer review on the [[Developer_communication_tools|mailing list]].  This way fellow developers can review the patch, uncover possible bugs, comment on undesired interactions or generally share ideas with you. Subscribe to the mailing list, then write an email to the list with a link to the description of what your patch does. &lt;br /&gt;
&lt;br /&gt;
Good luck!&lt;br /&gt;
&lt;br /&gt;
== Applying patches to your source ==&lt;br /&gt;
&lt;br /&gt;
In case you are interested, the application of other patches to your source is easy.  Assuming that you are at the directory level from where the patch references the files (usually in the folder where you see the &#039;&#039;&#039;linden&#039;&#039;&#039; folder), applying a patch can be done via:&lt;br /&gt;
&lt;br /&gt;
 c:\cygwin\bin\patch -p 0 -i changes.patch&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
  c:\cygwin\bin\patch -p 0 &amp;lt; changes.patch&lt;br /&gt;
&lt;br /&gt;
On your first attempts, you might also be interested in the &#039;&#039;&#039;--verbose&#039;&#039;&#039;, &#039;&#039;&#039;--backup&#039;&#039;&#039; or &#039;&#039;&#039;--dry-run&#039;&#039;&#039; (simulate patch) options.  See &#039;&#039;&#039;patch --help&#039;&#039;&#039; for details.&lt;br /&gt;
&lt;br /&gt;
 c:\cygwin\bin\patch -p 0 --verbose --backup --dry-run -i changes.patch&lt;br /&gt;
&lt;br /&gt;
Also, if a patch fails, look for files ending with &#039;&#039;&#039;.rej&#039;&#039;&#039; in the target folder.&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=66021</id>
		<title>Converting project files for MSVS2005</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=66021"/>
		<updated>2008-05-05T16:06:39Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: /* Global steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= Manual conversion of the VS2003 solution/projects =&lt;br /&gt;
This page describes the steps necessary to fully convert Linden Labs solution and project files from VS2003 to VS2005. &lt;br /&gt;
&lt;br /&gt;
There are canned sets of these available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151], so downloading these may save you the work described below.&lt;br /&gt;
&lt;br /&gt;
== Global steps ==&lt;br /&gt;
&lt;br /&gt;
* Start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* Use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete.sln&lt;br /&gt;
* Visual Studio prompts to update your project files.  Allow it to do so.  When the results are displayed, you may see warnings, but you should not see any errors.&lt;br /&gt;
* Right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* From the Visual Studio menu bar, choose &amp;quot;File &amp;gt; New &amp;gt; File...&amp;quot;.  On the &amp;quot;New File&amp;quot; dialog box, choose &amp;quot;General&amp;quot;, then &amp;quot;Text File&amp;quot;.  Select the lines from the box below in your browser, copy them, and paste them to the empty file you just created.  Save it as a file of the name &#039;&#039;&#039;SL-UpgradeFromVC71_vc8.vsprops&#039;&#039;&#039; under the folder &#039;&#039;&#039;linden/indra/indra_complete&#039;&#039;&#039; (where the &amp;quot;indra_complete.sln&amp;quot; file resides.)&lt;br /&gt;
* Alternately download the file from [http://www.blueflash.cc/users/nicholaz/~libs/sl-UpgradeFromVC71_vc8.vsprops here] (right click link, Save As, go to the &#039;&#039;&#039;linden/indra/indra_complete&#039;&#039;&#039; folder)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;VisualStudioPropertySheet&lt;br /&gt;
    ProjectType=&amp;quot;Visual C++&amp;quot;&lt;br /&gt;
    Version=&amp;quot;8.00&amp;quot;&lt;br /&gt;
    Name=&amp;quot;Upgrade From VC 7.1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCCLCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
        WarnAsError=&amp;quot;false&amp;quot;&lt;br /&gt;
        TreatWChar_tAsBuiltInType=&amp;quot;false&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCResourceCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
 &amp;lt;/VisualStudioPropertySheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== All Configuration Steps ==&lt;br /&gt;
# Select all projects, i.e., llaudio, llcharacter, ..., win_updater, &#039;&#039;&#039;except&#039;&#039;&#039; for lscript_compile_fb and test.  (You can do it by control-clicking on the projects.)  &lt;br /&gt;
# Right click on the selection and choose Properties.&lt;br /&gt;
# A window named Property Pages opens.  There single left-click (select) &#039;&#039;&#039;Configuration Properties&#039;&#039;&#039; in the tree on the left of the window.&lt;br /&gt;
# In the upper left corner of Property Pages choose &#039;&#039;&#039;All Configurations&#039;&#039;&#039; from the Configuration drop down box.&lt;br /&gt;
# Now, in the tree select &#039;&#039;&#039;Configuration Properties &amp;gt; General&#039;&#039;&#039; and change &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; and set it to &#039;&#039;&#039;$(SolutionDir)\SL-UpgradeFromVC71_vc8.vsprops&#039;&#039;&#039;.  (Write this literally, as opposed to replacing &amp;quot;$(SolutionDir)&amp;quot; with some real path.)&lt;br /&gt;
# press enter or click anywhere outside the &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; field to commit the changes to the field.&lt;br /&gt;
# Click Apply button of the dialog.  Make sure that the &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; field keeps your entry (the Apply button will clear the field if the file is wrong or if it was not found).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; General&#039;&#039;&#039;, make sure &#039;&#039;&#039;Treat Warnings As Errors&#039;&#039;&#039; is set to &amp;quot;&#039;&#039;&#039;No&#039;&#039;&#039;&amp;quot; (this should happen through the above inherited property sheet vsprops file, otherwise do it manually).  ([[:Image:MSVS2005_Project_Property_Pages_Config_CPP_General.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Language&#039;&#039;&#039;, make sure &#039;&#039;&#039;Treat wchar_t as Build-in Type&#039;&#039;&#039; is to &amp;quot;&#039;&#039;&#039;No (/Zc:wchar_t-)&#039;&#039;&#039;&amp;quot; (this should happen through the above inherited property sheet (vsprops) file, otherwise do it manually) ([[:Image:MSVS2005 Project Property Pages Config CPP Language.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Advanced&#039;&#039;&#039;, change (if necessary) &#039;&#039;&#039;Use Full Paths&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;Yes (/FC)&#039;&#039;&#039;&amp;quot; ([[:Image:MSVS2005 Project Property Pages Config CPP Advanced.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Click OK for the dialog.&lt;br /&gt;
&lt;br /&gt;
== Per Configuration Steps ==&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box next to the green arrow under the tool bar, and do the followings on the Solution Explorer frame (on left side of the VS2005 window):&lt;br /&gt;
*# Left-click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.  &lt;br /&gt;
*# Right-click &#039;&#039;&#039;newview&#039;&#039;&#039;, choose Properties.&lt;br /&gt;
*# Under &#039;&#039;&#039;Configuration Properties &amp;gt; Linker &amp;gt; Input&#039;&#039;&#039;, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
*# Scroll down the list to find &#039;&#039;&#039;libboost_regex-vc71-mt-s.lib&#039;&#039;&#039;.  Rewrite it to libboost_regex-vc&#039;&#039;&#039;80&#039;&#039;&#039;-mt-s.lib (for 1.20 and later, do the same (i.e. change 71 into 80) for other libboost libraries, like libboost_signals*.lib, libboost_program_options*lib ... to check, these libraries should be found in linden/libraries/i686-win32/lib_release).  &lt;br /&gt;
*# Scroll down again to find &#039;&#039;&#039;llmozlib.lib&#039;&#039;&#039; and rewrite it to llmozlib&#039;&#039;&#039;-vc80&#039;&#039;&#039;.lib.  (This step is not needed on viewer version 1.19.1.0 or later.) &lt;br /&gt;
*# Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box (in the toolbar, next to the green arrow).  Repeat the same steps (as for ReleaseNoOpt above) again.  &lt;br /&gt;
* Depending on what you want to do later (or if you want to do a full and complete conversion), you may also need to perform these steps for the Debug and Release configurations, but for a start it is safe to skip these.&lt;br /&gt;
&lt;br /&gt;
== Special configuration steps for llmedia (1.19.1 or later only) ==&lt;br /&gt;
&lt;br /&gt;
* Right click on the llmedia project on the solution explorer, then choose Properties.&lt;br /&gt;
* Choose &#039;&#039;&#039;Release&#039;&#039;&#039; in the Configuration drop down box on the upper loft of the &amp;quot;llmedia Property pages.&amp;quot;&lt;br /&gt;
* Choose &#039;&#039;&#039;Configuration Properties&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Librarian&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;General&#039;&#039;&#039; on the tree on the left.&lt;br /&gt;
* In &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039;, there is &#039;&#039;&#039;llmozlib2.lib&#039;&#039;&#039;.  Change it to llmozlib2&#039;&#039;&#039;-vc80&#039;&#039;&#039;.lib.&lt;br /&gt;
* Click OK to close the dialog box.&lt;br /&gt;
* Right click on the llmedia project, and choose Properties again.&lt;br /&gt;
* Choose &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Configuration.  Do the same thing as for Release again.  Click OK to close the dialog box.&lt;br /&gt;
* Right click on the llmedia project, and choose Properties, for the third time.&lt;br /&gt;
* Choose &#039;&#039;&#039;Debug&#039;&#039;&#039; in the Configuration.  Do the &#039;&#039;similar&#039;&#039; thing, too.  However, Additional Dependencies for Debug includes llmozlib2&#039;&#039;&#039;d&#039;&#039;&#039;.lib.  So, you should change it to llmozlib2&#039;&#039;&#039;d-vc80&#039;&#039;&#039;.lib.  Click OK to close the dialog box.&lt;br /&gt;
&lt;br /&gt;
== Optional steps ==&lt;br /&gt;
The following steps are not strictly necessary, unless you want a full and ultra clean conversion (e.g. for sharing with others).  These instructions are telegram style, assuming you will do this only after you have aquainted yourselves with the project&lt;br /&gt;
* In the Configuration manager (Build menu): &lt;br /&gt;
** unclick the build column for &#039;&#039;&#039;test&#039;&#039;&#039;, &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; in all configurations &#039;&#039;&#039;except ReleaseForDownload&#039;&#039;&#039;.&lt;br /&gt;
** unclick the build column for &#039;&#039;&#039;test&#039;&#039;&#039; in &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039;&lt;br /&gt;
* For all configurations: In newview, properties, linker input:  If you find libraries starting with &#039;ll&#039; (e.g. &#039;&#039;&#039;llaudio.lib&#039;&#039;&#039;, &#039;&#039;&#039;llcharacter.lib&#039;&#039;&#039;, etc.) or find the library &#039;&#039;&#039;lscript_library.lib&#039;&#039;&#039;), remove them from the list (these libraries are linked through the dependency)&lt;br /&gt;
* For all configurations: In newview, properties, linker input: Set &#039;&#039;&#039;Ignore Specific Library&#039;&#039;&#039; to &#039;&#039;&#039;msvcrt.lib;msvcrtd.lib;libc.lib;libcd.lib;&#039;&#039;&#039;&lt;br /&gt;
* In the Debug configuration, under lscript_compile_fb, indra.y, properties, custom build step, general, command line, make sure you have &#039;&#039;C:\cygwin\bin\mv.exe ytab.hpp ytab.h&#039;&#039; (use the command line from the release configuration as reference).&lt;br /&gt;
* In the Debug configuration, also add &#039;&#039;&#039;libcmt.lib;&#039;&#039;&#039; to the list of specific libraries to ignore.&lt;br /&gt;
* In all configurations: the libraries need to be changed from vc71 to vc80 (boost, llmozlib) for the &#039;&#039;&#039;test&#039;&#039;&#039; project as well, but since &#039;&#039;&#039;test&#039;&#039;&#039; does not seem to work under VC2005 so far, it&#039;s optional.&lt;br /&gt;
&lt;br /&gt;
== Done :-) ==&lt;br /&gt;
Congratulations!  You&#039;ve converted &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You need to do this by hand everytime a new viewer version is released...&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=66018</id>
		<title>Converting project files for MSVS2005</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=66018"/>
		<updated>2008-05-05T15:55:13Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: /* Per Configuration Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= Manual conversion of the VS2003 solution/projects =&lt;br /&gt;
This page describes the steps necessary to fully convert Linden Labs solution and project files from VS2003 to VS2005. &lt;br /&gt;
&lt;br /&gt;
There are canned sets of these available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151], so downloading these may save you the work described below.&lt;br /&gt;
&lt;br /&gt;
== Global steps ==&lt;br /&gt;
&lt;br /&gt;
* Start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* Use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete.sln&lt;br /&gt;
* Visual Studio prompts to update your project files.  Allow it to do so.  When the results are displayed, you may see warnings, but you should not see any errors.&lt;br /&gt;
* Right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* From the Visual Studio menu bar, choose &amp;quot;File &amp;gt; New &amp;gt; File...&amp;quot;.  On the &amp;quot;New File&amp;quot; dialog box, choose &amp;quot;General&amp;quot;, then &amp;quot;Text File&amp;quot;.  Select the following lines on your browser, copy them, and paste them to the empty file you just created.  Save it as a file of the name &amp;quot;SL-UpgradeFromVC71_vc8.vsprops&amp;quot; under the folder &amp;quot;indra_complete&amp;quot; (where the &amp;quot;indra_complete.sln&amp;quot; file resides.)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;VisualStudioPropertySheet&lt;br /&gt;
    ProjectType=&amp;quot;Visual C++&amp;quot;&lt;br /&gt;
    Version=&amp;quot;8.00&amp;quot;&lt;br /&gt;
    Name=&amp;quot;Upgrade From VC 7.1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCCLCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
        WarnAsError=&amp;quot;false&amp;quot;&lt;br /&gt;
        TreatWChar_tAsBuiltInType=&amp;quot;false&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCResourceCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
 &amp;lt;/VisualStudioPropertySheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== All Configuration Steps ==&lt;br /&gt;
# Select all projects, i.e., llaudio, llcharacter, ..., win_updater, &#039;&#039;&#039;except&#039;&#039;&#039; for lscript_compile_fb and test.  (You can do it by control-clicking on the projects.)  &lt;br /&gt;
# Right click on the selection and choose Properties.&lt;br /&gt;
# A window named Property Pages opens.  There single left-click (select) &#039;&#039;&#039;Configuration Properties&#039;&#039;&#039; in the tree on the left of the window.&lt;br /&gt;
# In the upper left corner of Property Pages choose &#039;&#039;&#039;All Configurations&#039;&#039;&#039; from the Configuration drop down box.&lt;br /&gt;
# Now, in the tree select &#039;&#039;&#039;Configuration Properties &amp;gt; General&#039;&#039;&#039; and change &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; and set it to &#039;&#039;&#039;$(SolutionDir)\SL-UpgradeFromVC71_vc8.vsprops&#039;&#039;&#039;.  (Write this literally, as opposed to replacing &amp;quot;$(SolutionDir)&amp;quot; with some real path.)&lt;br /&gt;
# press enter or click anywhere outside the &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; field to commit the changes to the field.&lt;br /&gt;
# Click Apply button of the dialog.  Make sure that the &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; field keeps your entry (the Apply button will clear the field if the file is wrong or if it was not found).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; General&#039;&#039;&#039;, make sure &#039;&#039;&#039;Treat Warnings As Errors&#039;&#039;&#039; is set to &amp;quot;&#039;&#039;&#039;No&#039;&#039;&#039;&amp;quot; (this should happen through the above inherited property sheet vsprops file, otherwise do it manually).  ([[:Image:MSVS2005_Project_Property_Pages_Config_CPP_General.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Language&#039;&#039;&#039;, make sure &#039;&#039;&#039;Treat wchar_t as Build-in Type&#039;&#039;&#039; is to &amp;quot;&#039;&#039;&#039;No (/Zc:wchar_t-)&#039;&#039;&#039;&amp;quot; (this should happen through the above inherited property sheet (vsprops) file, otherwise do it manually) ([[:Image:MSVS2005 Project Property Pages Config CPP Language.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Advanced&#039;&#039;&#039;, change (if necessary) &#039;&#039;&#039;Use Full Paths&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;Yes (/FC)&#039;&#039;&#039;&amp;quot; ([[:Image:MSVS2005 Project Property Pages Config CPP Advanced.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Click OK for the dialog.&lt;br /&gt;
&lt;br /&gt;
== Per Configuration Steps ==&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box next to the green arrow under the tool bar, and do the followings on the Solution Explorer frame (on left side of the VS2005 window):&lt;br /&gt;
*# Left-click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.  &lt;br /&gt;
*# Right-click &#039;&#039;&#039;newview&#039;&#039;&#039;, choose Properties.&lt;br /&gt;
*# Under &#039;&#039;&#039;Configuration Properties &amp;gt; Linker &amp;gt; Input&#039;&#039;&#039;, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
*# Scroll down the list to find &#039;&#039;&#039;libboost_regex-vc71-mt-s.lib&#039;&#039;&#039;.  Rewrite it to libboost_regex-vc&#039;&#039;&#039;80&#039;&#039;&#039;-mt-s.lib (for 1.20 and later, do the same (i.e. change 71 into 80) for other libboost libraries, like libboost_signals*.lib, libboost_program_options*lib ... to check, these libraries should be found in linden/libraries/i686-win32/lib_release).  &lt;br /&gt;
*# Scroll down again to find &#039;&#039;&#039;llmozlib.lib&#039;&#039;&#039; and rewrite it to llmozlib&#039;&#039;&#039;-vc80&#039;&#039;&#039;.lib.  (This step is not needed on viewer version 1.19.1.0 or later.) &lt;br /&gt;
*# Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box (in the toolbar, next to the green arrow).  Repeat the same steps (as for ReleaseNoOpt above) again.  &lt;br /&gt;
* Depending on what you want to do later (or if you want to do a full and complete conversion), you may also need to perform these steps for the Debug and Release configurations, but for a start it is safe to skip these.&lt;br /&gt;
&lt;br /&gt;
== Special configuration steps for llmedia (1.19.1 or later only) ==&lt;br /&gt;
&lt;br /&gt;
* Right click on the llmedia project on the solution explorer, then choose Properties.&lt;br /&gt;
* Choose &#039;&#039;&#039;Release&#039;&#039;&#039; in the Configuration drop down box on the upper loft of the &amp;quot;llmedia Property pages.&amp;quot;&lt;br /&gt;
* Choose &#039;&#039;&#039;Configuration Properties&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Librarian&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;General&#039;&#039;&#039; on the tree on the left.&lt;br /&gt;
* In &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039;, there is &#039;&#039;&#039;llmozlib2.lib&#039;&#039;&#039;.  Change it to llmozlib2&#039;&#039;&#039;-vc80&#039;&#039;&#039;.lib.&lt;br /&gt;
* Click OK to close the dialog box.&lt;br /&gt;
* Right click on the llmedia project, and choose Properties again.&lt;br /&gt;
* Choose &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Configuration.  Do the same thing as for Release again.  Click OK to close the dialog box.&lt;br /&gt;
* Right click on the llmedia project, and choose Properties, for the third time.&lt;br /&gt;
* Choose &#039;&#039;&#039;Debug&#039;&#039;&#039; in the Configuration.  Do the &#039;&#039;similar&#039;&#039; thing, too.  However, Additional Dependencies for Debug includes llmozlib2&#039;&#039;&#039;d&#039;&#039;&#039;.lib.  So, you should change it to llmozlib2&#039;&#039;&#039;d-vc80&#039;&#039;&#039;.lib.  Click OK to close the dialog box.&lt;br /&gt;
&lt;br /&gt;
== Optional steps ==&lt;br /&gt;
The following steps are not strictly necessary, unless you want a full and ultra clean conversion (e.g. for sharing with others).  These instructions are telegram style, assuming you will do this only after you have aquainted yourselves with the project&lt;br /&gt;
* In the Configuration manager (Build menu): &lt;br /&gt;
** unclick the build column for &#039;&#039;&#039;test&#039;&#039;&#039;, &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; in all configurations &#039;&#039;&#039;except ReleaseForDownload&#039;&#039;&#039;.&lt;br /&gt;
** unclick the build column for &#039;&#039;&#039;test&#039;&#039;&#039; in &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039;&lt;br /&gt;
* For all configurations: In newview, properties, linker input:  If you find libraries starting with &#039;ll&#039; (e.g. &#039;&#039;&#039;llaudio.lib&#039;&#039;&#039;, &#039;&#039;&#039;llcharacter.lib&#039;&#039;&#039;, etc.) or find the library &#039;&#039;&#039;lscript_library.lib&#039;&#039;&#039;), remove them from the list (these libraries are linked through the dependency)&lt;br /&gt;
* For all configurations: In newview, properties, linker input: Set &#039;&#039;&#039;Ignore Specific Library&#039;&#039;&#039; to &#039;&#039;&#039;msvcrt.lib;msvcrtd.lib;libc.lib;libcd.lib;&#039;&#039;&#039;&lt;br /&gt;
* In the Debug configuration, under lscript_compile_fb, indra.y, properties, custom build step, general, command line, make sure you have &#039;&#039;C:\cygwin\bin\mv.exe ytab.hpp ytab.h&#039;&#039; (use the command line from the release configuration as reference).&lt;br /&gt;
* In the Debug configuration, also add &#039;&#039;&#039;libcmt.lib;&#039;&#039;&#039; to the list of specific libraries to ignore.&lt;br /&gt;
* In all configurations: the libraries need to be changed from vc71 to vc80 (boost, llmozlib) for the &#039;&#039;&#039;test&#039;&#039;&#039; project as well, but since &#039;&#039;&#039;test&#039;&#039;&#039; does not seem to work under VC2005 so far, it&#039;s optional.&lt;br /&gt;
&lt;br /&gt;
== Done :-) ==&lt;br /&gt;
Congratulations!  You&#039;ve converted &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You need to do this by hand everytime a new viewer version is released...&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=66015</id>
		<title>Converting project files for MSVS2005</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=66015"/>
		<updated>2008-05-05T15:48:35Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: /* All Configuration Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= Manual conversion of the VS2003 solution/projects =&lt;br /&gt;
This page describes the steps necessary to fully convert Linden Labs solution and project files from VS2003 to VS2005. &lt;br /&gt;
&lt;br /&gt;
There are canned sets of these available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151], so downloading these may save you the work described below.&lt;br /&gt;
&lt;br /&gt;
== Global steps ==&lt;br /&gt;
&lt;br /&gt;
* Start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* Use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete.sln&lt;br /&gt;
* Visual Studio prompts to update your project files.  Allow it to do so.  When the results are displayed, you may see warnings, but you should not see any errors.&lt;br /&gt;
* Right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* From the Visual Studio menu bar, choose &amp;quot;File &amp;gt; New &amp;gt; File...&amp;quot;.  On the &amp;quot;New File&amp;quot; dialog box, choose &amp;quot;General&amp;quot;, then &amp;quot;Text File&amp;quot;.  Select the following lines on your browser, copy them, and paste them to the empty file you just created.  Save it as a file of the name &amp;quot;SL-UpgradeFromVC71_vc8.vsprops&amp;quot; under the folder &amp;quot;indra_complete&amp;quot; (where the &amp;quot;indra_complete.sln&amp;quot; file resides.)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;VisualStudioPropertySheet&lt;br /&gt;
    ProjectType=&amp;quot;Visual C++&amp;quot;&lt;br /&gt;
    Version=&amp;quot;8.00&amp;quot;&lt;br /&gt;
    Name=&amp;quot;Upgrade From VC 7.1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCCLCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
        WarnAsError=&amp;quot;false&amp;quot;&lt;br /&gt;
        TreatWChar_tAsBuiltInType=&amp;quot;false&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCResourceCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
 &amp;lt;/VisualStudioPropertySheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== All Configuration Steps ==&lt;br /&gt;
# Select all projects, i.e., llaudio, llcharacter, ..., win_updater, &#039;&#039;&#039;except&#039;&#039;&#039; for lscript_compile_fb and test.  (You can do it by control-clicking on the projects.)  &lt;br /&gt;
# Right click on the selection and choose Properties.&lt;br /&gt;
# A window named Property Pages opens.  There single left-click (select) &#039;&#039;&#039;Configuration Properties&#039;&#039;&#039; in the tree on the left of the window.&lt;br /&gt;
# In the upper left corner of Property Pages choose &#039;&#039;&#039;All Configurations&#039;&#039;&#039; from the Configuration drop down box.&lt;br /&gt;
# Now, in the tree select &#039;&#039;&#039;Configuration Properties &amp;gt; General&#039;&#039;&#039; and change &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; and set it to &#039;&#039;&#039;$(SolutionDir)\SL-UpgradeFromVC71_vc8.vsprops&#039;&#039;&#039;.  (Write this literally, as opposed to replacing &amp;quot;$(SolutionDir)&amp;quot; with some real path.)&lt;br /&gt;
# press enter or click anywhere outside the &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; field to commit the changes to the field.&lt;br /&gt;
# Click Apply button of the dialog.  Make sure that the &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; field keeps your entry (the Apply button will clear the field if the file is wrong or if it was not found).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; General&#039;&#039;&#039;, make sure &#039;&#039;&#039;Treat Warnings As Errors&#039;&#039;&#039; is set to &amp;quot;&#039;&#039;&#039;No&#039;&#039;&#039;&amp;quot; (this should happen through the above inherited property sheet vsprops file, otherwise do it manually).  ([[:Image:MSVS2005_Project_Property_Pages_Config_CPP_General.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Language&#039;&#039;&#039;, make sure &#039;&#039;&#039;Treat wchar_t as Build-in Type&#039;&#039;&#039; is to &amp;quot;&#039;&#039;&#039;No (/Zc:wchar_t-)&#039;&#039;&#039;&amp;quot; (this should happen through the above inherited property sheet (vsprops) file, otherwise do it manually) ([[:Image:MSVS2005 Project Property Pages Config CPP Language.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Advanced&#039;&#039;&#039;, change (if necessary) &#039;&#039;&#039;Use Full Paths&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;Yes (/FC)&#039;&#039;&#039;&amp;quot; ([[:Image:MSVS2005 Project Property Pages Config CPP Advanced.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Click OK for the dialog.&lt;br /&gt;
&lt;br /&gt;
== Per Configuration Steps ==&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box next to the green arrow under the tool bar, and do the followings on the Solution Explorer frame (on left side of the VS2005 window):&lt;br /&gt;
*# Left-click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.  &lt;br /&gt;
*# Right-click &#039;&#039;&#039;newview&#039;&#039;&#039;, choose Properties.&lt;br /&gt;
*# Under &#039;&#039;&#039;Configuration Properties &amp;gt; Linker &amp;gt; Input&#039;&#039;&#039;, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
*# Scroll down the list to find &#039;&#039;&#039;libboost_regex-vc71-mt-s.lib&#039;&#039;&#039;.  Rewrite it to libboost_regex-vc&#039;&#039;&#039;80&#039;&#039;&#039;-mt-s.lib.&lt;br /&gt;
*# Scroll down again to find &#039;&#039;&#039;llmozlib.lib&#039;&#039;&#039; and rewrite it to llmozlib&#039;&#039;&#039;-vc80&#039;&#039;&#039;.lib.  (This step is not needed on viewer version 1.19.1.0 or later.) &lt;br /&gt;
*# Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box (in the toolbar, next to the green arrow).  Repeat the same steps (as for ReleaseNoOpt above) again.  &lt;br /&gt;
* Depending on what you want to do later (or if you want to do a full and complete conversion), you may also need to perform these steps for the Debug and Release configurations, but for a start it is safe to skip these.&lt;br /&gt;
&lt;br /&gt;
== Special configuration steps for llmedia (1.19.1 or later only) ==&lt;br /&gt;
&lt;br /&gt;
* Right click on the llmedia project on the solution explorer, then choose Properties.&lt;br /&gt;
* Choose &#039;&#039;&#039;Release&#039;&#039;&#039; in the Configuration drop down box on the upper loft of the &amp;quot;llmedia Property pages.&amp;quot;&lt;br /&gt;
* Choose &#039;&#039;&#039;Configuration Properties&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Librarian&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;General&#039;&#039;&#039; on the tree on the left.&lt;br /&gt;
* In &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039;, there is &#039;&#039;&#039;llmozlib2.lib&#039;&#039;&#039;.  Change it to llmozlib2&#039;&#039;&#039;-vc80&#039;&#039;&#039;.lib.&lt;br /&gt;
* Click OK to close the dialog box.&lt;br /&gt;
* Right click on the llmedia project, and choose Properties again.&lt;br /&gt;
* Choose &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Configuration.  Do the same thing as for Release again.  Click OK to close the dialog box.&lt;br /&gt;
* Right click on the llmedia project, and choose Properties, for the third time.&lt;br /&gt;
* Choose &#039;&#039;&#039;Debug&#039;&#039;&#039; in the Configuration.  Do the &#039;&#039;similar&#039;&#039; thing, too.  However, Additional Dependencies for Debug includes llmozlib2&#039;&#039;&#039;d&#039;&#039;&#039;.lib.  So, you should change it to llmozlib2&#039;&#039;&#039;d-vc80&#039;&#039;&#039;.lib.  Click OK to close the dialog box.&lt;br /&gt;
&lt;br /&gt;
== Optional steps ==&lt;br /&gt;
The following steps are not strictly necessary, unless you want a full and ultra clean conversion (e.g. for sharing with others).  These instructions are telegram style, assuming you will do this only after you have aquainted yourselves with the project&lt;br /&gt;
* In the Configuration manager (Build menu): &lt;br /&gt;
** unclick the build column for &#039;&#039;&#039;test&#039;&#039;&#039;, &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; in all configurations &#039;&#039;&#039;except ReleaseForDownload&#039;&#039;&#039;.&lt;br /&gt;
** unclick the build column for &#039;&#039;&#039;test&#039;&#039;&#039; in &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039;&lt;br /&gt;
* For all configurations: In newview, properties, linker input:  If you find libraries starting with &#039;ll&#039; (e.g. &#039;&#039;&#039;llaudio.lib&#039;&#039;&#039;, &#039;&#039;&#039;llcharacter.lib&#039;&#039;&#039;, etc.) or find the library &#039;&#039;&#039;lscript_library.lib&#039;&#039;&#039;), remove them from the list (these libraries are linked through the dependency)&lt;br /&gt;
* For all configurations: In newview, properties, linker input: Set &#039;&#039;&#039;Ignore Specific Library&#039;&#039;&#039; to &#039;&#039;&#039;msvcrt.lib;msvcrtd.lib;libc.lib;libcd.lib;&#039;&#039;&#039;&lt;br /&gt;
* In the Debug configuration, under lscript_compile_fb, indra.y, properties, custom build step, general, command line, make sure you have &#039;&#039;C:\cygwin\bin\mv.exe ytab.hpp ytab.h&#039;&#039; (use the command line from the release configuration as reference).&lt;br /&gt;
* In the Debug configuration, also add &#039;&#039;&#039;libcmt.lib;&#039;&#039;&#039; to the list of specific libraries to ignore.&lt;br /&gt;
* In all configurations: the libraries need to be changed from vc71 to vc80 (boost, llmozlib) for the &#039;&#039;&#039;test&#039;&#039;&#039; project as well, but since &#039;&#039;&#039;test&#039;&#039;&#039; does not seem to work under VC2005 so far, it&#039;s optional.&lt;br /&gt;
&lt;br /&gt;
== Done :-) ==&lt;br /&gt;
Congratulations!  You&#039;ve converted &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You need to do this by hand everytime a new viewer version is released...&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=66014</id>
		<title>Converting project files for MSVS2005</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=66014"/>
		<updated>2008-05-05T15:44:08Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: /* Global steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= Manual conversion of the VS2003 solution/projects =&lt;br /&gt;
This page describes the steps necessary to fully convert Linden Labs solution and project files from VS2003 to VS2005. &lt;br /&gt;
&lt;br /&gt;
There are canned sets of these available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151], so downloading these may save you the work described below.&lt;br /&gt;
&lt;br /&gt;
== Global steps ==&lt;br /&gt;
&lt;br /&gt;
* Start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* Use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete.sln&lt;br /&gt;
* Visual Studio prompts to update your project files.  Allow it to do so.  When the results are displayed, you may see warnings, but you should not see any errors.&lt;br /&gt;
* Right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* From the Visual Studio menu bar, choose &amp;quot;File &amp;gt; New &amp;gt; File...&amp;quot;.  On the &amp;quot;New File&amp;quot; dialog box, choose &amp;quot;General&amp;quot;, then &amp;quot;Text File&amp;quot;.  Select the following lines on your browser, copy them, and paste them to the empty file you just created.  Save it as a file of the name &amp;quot;SL-UpgradeFromVC71_vc8.vsprops&amp;quot; under the folder &amp;quot;indra_complete&amp;quot; (where the &amp;quot;indra_complete.sln&amp;quot; file resides.)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;VisualStudioPropertySheet&lt;br /&gt;
    ProjectType=&amp;quot;Visual C++&amp;quot;&lt;br /&gt;
    Version=&amp;quot;8.00&amp;quot;&lt;br /&gt;
    Name=&amp;quot;Upgrade From VC 7.1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCCLCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
        WarnAsError=&amp;quot;false&amp;quot;&lt;br /&gt;
        TreatWChar_tAsBuiltInType=&amp;quot;false&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCResourceCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
 &amp;lt;/VisualStudioPropertySheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== All Configuration Steps ==&lt;br /&gt;
# Select all projects, i.e., llaudio, llcharacter, ..., win_updater, &#039;&#039;&#039;except&#039;&#039;&#039; for lscript_compile_fb and test.  (You can do it by control-clicking on the projects.)  &lt;br /&gt;
# Right click on the selection and choose Properties.&lt;br /&gt;
# A window named Property Pages opens.  There single left-click (select) &#039;&#039;&#039;Configuration Properties&#039;&#039;&#039; in the tree on the left of the window.&lt;br /&gt;
# In the upper left corner of Property Pages choose &#039;&#039;&#039;All Configurations&#039;&#039;&#039; from the Configuration drop down box.&lt;br /&gt;
# Now, in the tree select &#039;&#039;&#039;Configuration Properties &amp;gt; General&#039;&#039;&#039; and change &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; and set it to &#039;&#039;&#039;$(SolutionDir)\SL-UpgradeFromVC71_vc8.vsprops&#039;&#039;&#039;.  (Write this literally, as opposed to replacing &amp;quot;$(SolutionDir)&amp;quot; with some real path.)&lt;br /&gt;
# press enter or click anywhere outside the &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; field to commit the changes to the field.&lt;br /&gt;
# Click Apply button of the dialog.  Make sure that the &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; field keeps your entry (if the file is wrong or not found, the Apply button will clear the field again).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; General&#039;&#039;&#039;, change &#039;&#039;&#039;Treat Warnings As Errors&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;No&#039;&#039;&#039;&amp;quot;.  ([[:Image:MSVS2005_Project_Property_Pages_Config_CPP_General.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Language&#039;&#039;&#039;, change (if necessary) &#039;&#039;&#039;Treat wchar_t as Build-in Type&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;No (/Zc:wchar_t-)&#039;&#039;&#039;&amp;quot; ([[:Image:MSVS2005 Project Property Pages Config CPP Language.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Advanced&#039;&#039;&#039;, change (if necessary) &#039;&#039;&#039;Use Full Paths&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;Yes (/FC)&#039;&#039;&#039;&amp;quot; ([[:Image:MSVS2005 Project Property Pages Config CPP Advanced.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Click OK for the dialog.&lt;br /&gt;
&lt;br /&gt;
== Per Configuration Steps ==&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box next to the green arrow under the tool bar, and do the followings on the Solution Explorer frame (on left side of the VS2005 window):&lt;br /&gt;
*# Left-click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.  &lt;br /&gt;
*# Right-click &#039;&#039;&#039;newview&#039;&#039;&#039;, choose Properties.&lt;br /&gt;
*# Under &#039;&#039;&#039;Configuration Properties &amp;gt; Linker &amp;gt; Input&#039;&#039;&#039;, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
*# Scroll down the list to find &#039;&#039;&#039;libboost_regex-vc71-mt-s.lib&#039;&#039;&#039;.  Rewrite it to libboost_regex-vc&#039;&#039;&#039;80&#039;&#039;&#039;-mt-s.lib.&lt;br /&gt;
*# Scroll down again to find &#039;&#039;&#039;llmozlib.lib&#039;&#039;&#039; and rewrite it to llmozlib&#039;&#039;&#039;-vc80&#039;&#039;&#039;.lib.  (This step is not needed on viewer version 1.19.1.0 or later.) &lt;br /&gt;
*# Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box (in the toolbar, next to the green arrow).  Repeat the same steps (as for ReleaseNoOpt above) again.  &lt;br /&gt;
* Depending on what you want to do later (or if you want to do a full and complete conversion), you may also need to perform these steps for the Debug and Release configurations, but for a start it is safe to skip these.&lt;br /&gt;
&lt;br /&gt;
== Special configuration steps for llmedia (1.19.1 or later only) ==&lt;br /&gt;
&lt;br /&gt;
* Right click on the llmedia project on the solution explorer, then choose Properties.&lt;br /&gt;
* Choose &#039;&#039;&#039;Release&#039;&#039;&#039; in the Configuration drop down box on the upper loft of the &amp;quot;llmedia Property pages.&amp;quot;&lt;br /&gt;
* Choose &#039;&#039;&#039;Configuration Properties&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Librarian&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;General&#039;&#039;&#039; on the tree on the left.&lt;br /&gt;
* In &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039;, there is &#039;&#039;&#039;llmozlib2.lib&#039;&#039;&#039;.  Change it to llmozlib2&#039;&#039;&#039;-vc80&#039;&#039;&#039;.lib.&lt;br /&gt;
* Click OK to close the dialog box.&lt;br /&gt;
* Right click on the llmedia project, and choose Properties again.&lt;br /&gt;
* Choose &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Configuration.  Do the same thing as for Release again.  Click OK to close the dialog box.&lt;br /&gt;
* Right click on the llmedia project, and choose Properties, for the third time.&lt;br /&gt;
* Choose &#039;&#039;&#039;Debug&#039;&#039;&#039; in the Configuration.  Do the &#039;&#039;similar&#039;&#039; thing, too.  However, Additional Dependencies for Debug includes llmozlib2&#039;&#039;&#039;d&#039;&#039;&#039;.lib.  So, you should change it to llmozlib2&#039;&#039;&#039;d-vc80&#039;&#039;&#039;.lib.  Click OK to close the dialog box.&lt;br /&gt;
&lt;br /&gt;
== Optional steps ==&lt;br /&gt;
The following steps are not strictly necessary, unless you want a full and ultra clean conversion (e.g. for sharing with others).  These instructions are telegram style, assuming you will do this only after you have aquainted yourselves with the project&lt;br /&gt;
* In the Configuration manager (Build menu): &lt;br /&gt;
** unclick the build column for &#039;&#039;&#039;test&#039;&#039;&#039;, &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; in all configurations &#039;&#039;&#039;except ReleaseForDownload&#039;&#039;&#039;.&lt;br /&gt;
** unclick the build column for &#039;&#039;&#039;test&#039;&#039;&#039; in &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039;&lt;br /&gt;
* For all configurations: In newview, properties, linker input:  If you find libraries starting with &#039;ll&#039; (e.g. &#039;&#039;&#039;llaudio.lib&#039;&#039;&#039;, &#039;&#039;&#039;llcharacter.lib&#039;&#039;&#039;, etc.) or find the library &#039;&#039;&#039;lscript_library.lib&#039;&#039;&#039;), remove them from the list (these libraries are linked through the dependency)&lt;br /&gt;
* For all configurations: In newview, properties, linker input: Set &#039;&#039;&#039;Ignore Specific Library&#039;&#039;&#039; to &#039;&#039;&#039;msvcrt.lib;msvcrtd.lib;libc.lib;libcd.lib;&#039;&#039;&#039;&lt;br /&gt;
* In the Debug configuration, under lscript_compile_fb, indra.y, properties, custom build step, general, command line, make sure you have &#039;&#039;C:\cygwin\bin\mv.exe ytab.hpp ytab.h&#039;&#039; (use the command line from the release configuration as reference).&lt;br /&gt;
* In the Debug configuration, also add &#039;&#039;&#039;libcmt.lib;&#039;&#039;&#039; to the list of specific libraries to ignore.&lt;br /&gt;
* In all configurations: the libraries need to be changed from vc71 to vc80 (boost, llmozlib) for the &#039;&#039;&#039;test&#039;&#039;&#039; project as well, but since &#039;&#039;&#039;test&#039;&#039;&#039; does not seem to work under VC2005 so far, it&#039;s optional.&lt;br /&gt;
&lt;br /&gt;
== Done :-) ==&lt;br /&gt;
Congratulations!  You&#039;ve converted &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You need to do this by hand everytime a new viewer version is released...&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=66013</id>
		<title>Converting project files for MSVS2005</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=66013"/>
		<updated>2008-05-05T15:42:25Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: /* All Configuration Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= Manual conversion of the VS2003 solution/projects =&lt;br /&gt;
This page describes the steps necessary to fully convert Linden Labs solution and project files from VS2003 to VS2005. &lt;br /&gt;
&lt;br /&gt;
There are canned sets of these available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151], so downloading these may save you the work described below.&lt;br /&gt;
&lt;br /&gt;
== Global steps ==&lt;br /&gt;
&lt;br /&gt;
* Start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* Use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete.sln&lt;br /&gt;
* Visual Studio prompts to update your project files.  Allow it to do so.  When the results are displayed, you may see warnings, but you should not see any errors.&lt;br /&gt;
* Right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* From the Visual Studio menu bar, choose &amp;quot;File &amp;gt; New &amp;gt; File...&amp;quot;.  On the &amp;quot;New File&amp;quot; dialog box, choose &amp;quot;General&amp;quot;, then &amp;quot;Text File&amp;quot;.  Select the following lines on your browser, copy them, and paste them to the empty file you just created.  Save it as a file of the name &amp;quot;SL-UpgradeFromVC71_vc8.vsprops&amp;quot; under the folder &amp;quot;indra_complete&amp;quot; (where the &amp;quot;indra_complete.sln&amp;quot; file resides.)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;VisualStudioPropertySheet&lt;br /&gt;
    ProjectType=&amp;quot;Visual C++&amp;quot;&lt;br /&gt;
    Version=&amp;quot;8.00&amp;quot;&lt;br /&gt;
    Name=&amp;quot;Upgrade From VC 7.1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCCLCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
        TreatWChar_tAsBuiltInType=&amp;quot;false&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCResourceCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
 &amp;lt;/VisualStudioPropertySheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== All Configuration Steps ==&lt;br /&gt;
# Select all projects, i.e., llaudio, llcharacter, ..., win_updater, &#039;&#039;&#039;except&#039;&#039;&#039; for lscript_compile_fb and test.  (You can do it by control-clicking on the projects.)  &lt;br /&gt;
# Right click on the selection and choose Properties.&lt;br /&gt;
# A window named Property Pages opens.  There single left-click (select) &#039;&#039;&#039;Configuration Properties&#039;&#039;&#039; in the tree on the left of the window.&lt;br /&gt;
# In the upper left corner of Property Pages choose &#039;&#039;&#039;All Configurations&#039;&#039;&#039; from the Configuration drop down box.&lt;br /&gt;
# Now, in the tree select &#039;&#039;&#039;Configuration Properties &amp;gt; General&#039;&#039;&#039; and change &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; and set it to &#039;&#039;&#039;$(SolutionDir)\SL-UpgradeFromVC71_vc8.vsprops&#039;&#039;&#039;.  (Write this literally, as opposed to replacing &amp;quot;$(SolutionDir)&amp;quot; with some real path.)&lt;br /&gt;
# press enter or click anywhere outside the &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; field to commit the changes to the field.&lt;br /&gt;
# Click Apply button of the dialog.  Make sure that the &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; field keeps your entry (if the file is wrong or not found, the Apply button will clear the field again).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; General&#039;&#039;&#039;, change &#039;&#039;&#039;Treat Warnings As Errors&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;No&#039;&#039;&#039;&amp;quot;.  ([[:Image:MSVS2005_Project_Property_Pages_Config_CPP_General.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Language&#039;&#039;&#039;, change (if necessary) &#039;&#039;&#039;Treat wchar_t as Build-in Type&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;No (/Zc:wchar_t-)&#039;&#039;&#039;&amp;quot; ([[:Image:MSVS2005 Project Property Pages Config CPP Language.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Advanced&#039;&#039;&#039;, change (if necessary) &#039;&#039;&#039;Use Full Paths&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;Yes (/FC)&#039;&#039;&#039;&amp;quot; ([[:Image:MSVS2005 Project Property Pages Config CPP Advanced.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Click OK for the dialog.&lt;br /&gt;
&lt;br /&gt;
== Per Configuration Steps ==&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box next to the green arrow under the tool bar, and do the followings on the Solution Explorer frame (on left side of the VS2005 window):&lt;br /&gt;
*# Left-click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.  &lt;br /&gt;
*# Right-click &#039;&#039;&#039;newview&#039;&#039;&#039;, choose Properties.&lt;br /&gt;
*# Under &#039;&#039;&#039;Configuration Properties &amp;gt; Linker &amp;gt; Input&#039;&#039;&#039;, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
*# Scroll down the list to find &#039;&#039;&#039;libboost_regex-vc71-mt-s.lib&#039;&#039;&#039;.  Rewrite it to libboost_regex-vc&#039;&#039;&#039;80&#039;&#039;&#039;-mt-s.lib.&lt;br /&gt;
*# Scroll down again to find &#039;&#039;&#039;llmozlib.lib&#039;&#039;&#039; and rewrite it to llmozlib&#039;&#039;&#039;-vc80&#039;&#039;&#039;.lib.  (This step is not needed on viewer version 1.19.1.0 or later.) &lt;br /&gt;
*# Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box (in the toolbar, next to the green arrow).  Repeat the same steps (as for ReleaseNoOpt above) again.  &lt;br /&gt;
* Depending on what you want to do later (or if you want to do a full and complete conversion), you may also need to perform these steps for the Debug and Release configurations, but for a start it is safe to skip these.&lt;br /&gt;
&lt;br /&gt;
== Special configuration steps for llmedia (1.19.1 or later only) ==&lt;br /&gt;
&lt;br /&gt;
* Right click on the llmedia project on the solution explorer, then choose Properties.&lt;br /&gt;
* Choose &#039;&#039;&#039;Release&#039;&#039;&#039; in the Configuration drop down box on the upper loft of the &amp;quot;llmedia Property pages.&amp;quot;&lt;br /&gt;
* Choose &#039;&#039;&#039;Configuration Properties&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Librarian&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;General&#039;&#039;&#039; on the tree on the left.&lt;br /&gt;
* In &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039;, there is &#039;&#039;&#039;llmozlib2.lib&#039;&#039;&#039;.  Change it to llmozlib2&#039;&#039;&#039;-vc80&#039;&#039;&#039;.lib.&lt;br /&gt;
* Click OK to close the dialog box.&lt;br /&gt;
* Right click on the llmedia project, and choose Properties again.&lt;br /&gt;
* Choose &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Configuration.  Do the same thing as for Release again.  Click OK to close the dialog box.&lt;br /&gt;
* Right click on the llmedia project, and choose Properties, for the third time.&lt;br /&gt;
* Choose &#039;&#039;&#039;Debug&#039;&#039;&#039; in the Configuration.  Do the &#039;&#039;similar&#039;&#039; thing, too.  However, Additional Dependencies for Debug includes llmozlib2&#039;&#039;&#039;d&#039;&#039;&#039;.lib.  So, you should change it to llmozlib2&#039;&#039;&#039;d-vc80&#039;&#039;&#039;.lib.  Click OK to close the dialog box.&lt;br /&gt;
&lt;br /&gt;
== Optional steps ==&lt;br /&gt;
The following steps are not strictly necessary, unless you want a full and ultra clean conversion (e.g. for sharing with others).  These instructions are telegram style, assuming you will do this only after you have aquainted yourselves with the project&lt;br /&gt;
* In the Configuration manager (Build menu): &lt;br /&gt;
** unclick the build column for &#039;&#039;&#039;test&#039;&#039;&#039;, &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; in all configurations &#039;&#039;&#039;except ReleaseForDownload&#039;&#039;&#039;.&lt;br /&gt;
** unclick the build column for &#039;&#039;&#039;test&#039;&#039;&#039; in &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039;&lt;br /&gt;
* For all configurations: In newview, properties, linker input:  If you find libraries starting with &#039;ll&#039; (e.g. &#039;&#039;&#039;llaudio.lib&#039;&#039;&#039;, &#039;&#039;&#039;llcharacter.lib&#039;&#039;&#039;, etc.) or find the library &#039;&#039;&#039;lscript_library.lib&#039;&#039;&#039;), remove them from the list (these libraries are linked through the dependency)&lt;br /&gt;
* For all configurations: In newview, properties, linker input: Set &#039;&#039;&#039;Ignore Specific Library&#039;&#039;&#039; to &#039;&#039;&#039;msvcrt.lib;msvcrtd.lib;libc.lib;libcd.lib;&#039;&#039;&#039;&lt;br /&gt;
* In the Debug configuration, under lscript_compile_fb, indra.y, properties, custom build step, general, command line, make sure you have &#039;&#039;C:\cygwin\bin\mv.exe ytab.hpp ytab.h&#039;&#039; (use the command line from the release configuration as reference).&lt;br /&gt;
* In the Debug configuration, also add &#039;&#039;&#039;libcmt.lib;&#039;&#039;&#039; to the list of specific libraries to ignore.&lt;br /&gt;
* In all configurations: the libraries need to be changed from vc71 to vc80 (boost, llmozlib) for the &#039;&#039;&#039;test&#039;&#039;&#039; project as well, but since &#039;&#039;&#039;test&#039;&#039;&#039; does not seem to work under VC2005 so far, it&#039;s optional.&lt;br /&gt;
&lt;br /&gt;
== Done :-) ==&lt;br /&gt;
Congratulations!  You&#039;ve converted &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You need to do this by hand everytime a new viewer version is released...&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=66011</id>
		<title>Compiling the viewer (MSVS2005)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=66011"/>
		<updated>2008-05-05T15:39:49Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: /* Using pre-built solution/project files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
This page explains how you can compile the viewer on Microsoft Windows using Visual Studio 2005 or Visual C++ Express 2005.  Note that Lindens are using VS2003 and the whole setup is a bit easier there, so if you have Visual Studio 2003 available, you should read the list of [[Microsoft Visual Studio|supported Visual studio editions]] and you will get less trouble with it than with VS2005. &lt;br /&gt;
&lt;br /&gt;
Currently, only 32 bit binary is tested.  There seems to be several trials to produce 64 bit Windows .EXE of the viewer.  If you did, please write your experience on this wiki (regardless it was successful or not!)&lt;br /&gt;
&lt;br /&gt;
The following explanation is adjusted for Viewer releases 1.16.0.5 or later.  See an [http://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2005%29&amp;amp;oldid=22294 older version of this page] for the Viewer releases 1.15 or before.&lt;br /&gt;
&lt;br /&gt;
= Preparing the Development Environment =&lt;br /&gt;
&lt;br /&gt;
== Installing/Configuring VS2005 ==&lt;br /&gt;
&lt;br /&gt;
You need to setup the compiler and Microsoft Development tools as follows:&lt;br /&gt;
* Setup [[Microsoft Visual Studio]]&lt;br /&gt;
&lt;br /&gt;
== Getting other Development Tools ==&lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. (If you missed one of these, the easiest thing to do is to re-run the entire installation.) Older releases (&amp;lt; r79209) had several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039; in the project files, however current releases rely on the build environment configuration instead.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** It is required but can be avoided if you are compiling 1.18 or later viewers.  Either download and install or hack the prebuild.bat files as described in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears, that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Downloading Source Code =&lt;br /&gt;
&lt;br /&gt;
You can download the Viewer source codes on the [[source downloads]] page.  You can also use a [[version control repository]].&lt;br /&gt;
&lt;br /&gt;
At a minimum, grab the source package and the artwork package, but for a start, also grab the library archive.  Many of the libraries can either be compiled from source or downloaded from other sites (see below), but this will take hours and thus it is easiest to also get the package with libraries compiled by the Lindens.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039;&lt;br /&gt;
* If the directory path you keep the SL source in has a space in it, the batch file that copies message_template.msg will fail. So, if you unzip or checkout the source tree into, e.g., &amp;quot;C:\Projects\Dir with space in name\Etc\linden&amp;quot;, it won&#039;t work!&lt;br /&gt;
* You should also avoid using non-ASCII (national) characters in the paths, although some localized versions of the tool puts some as a default...&lt;br /&gt;
* Unzip or checkout your source tree into a directory that has as short full pathname as possible, since long paths cause some unexpected trouble during the build.&lt;br /&gt;
&lt;br /&gt;
In other words, the easiest way to get this working is to get &#039;&#039;source&#039;&#039;, &#039;&#039;artwork&#039;&#039; and &#039;&#039;libraries&#039;&#039; from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installing Libraries =&lt;br /&gt;
&lt;br /&gt;
SL Viewer depends on some third party libraries.  Some of them are open source, some others are not.&lt;br /&gt;
&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
You can download the pre-build open source libraries from LL.  They are available on [[source downloads]] page.  Unzip them into your SL viewer source code directory, maintaining the same directory structure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: The VS2003 libraries provided in the [[source downloads]] do not fully work with VS2005 compiled binaries. They will compile with the viewer under VS2005, but the VS2003 libraries are not fully STL compliant. The differences of [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/vclrfnonstandardbehavior.asp non-standard behavior in MSVS] are the known cause.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alternatively, it may be possible to get the source files for the libraries and build by yourself.  See [[Compiling the viewer libraries (MSVS 2003)|the instruction for VS2003 users]] if you try it.  Please note, however, it is not known that VS2005 can successfully compile the libraries.  &#039;&#039;&#039;You have been warned.&#039;&#039;&#039;  (If you can make it, please write the info on this wiki...)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Proprietary Libraries ==&lt;br /&gt;
&lt;br /&gt;
Lindens does not inlcude the following proprietary libraries.  You will need to follow the instructions to acquire below and copy them to the source path.&lt;br /&gt;
&lt;br /&gt;
However, it probably is a good idea to build an empty directory tree for the files below and first copy the files there and once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY OLIB SL_1_16_0_5 /S&#039;&#039;).  The reason is, that these steps are cumbersome and will have to be repeated for each new release (at least if you keep the source for each release in it&#039;s own folder).  If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Fmod ===&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 api for win32] (later versions, like FMOD Ex, are incompatible).&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenGL ===&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
* You don&#039;t need any additional *.lib or *.dll for OpenGL.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ares (viewer 1.18.4 ... for later releases first check if the ares.h and .lib files are in the Linden library package) ===&lt;br /&gt;
* download c-ares 1.4 from [http://daniel.haxx.se/projects/c-ares/ here] and unpack it somewhere&lt;br /&gt;
* open vc.dsw from the c-ares/vc folder&lt;br /&gt;
* remove the adig and ahost projects from the vc workspace&lt;br /&gt;
* add ares_getnameinfo.c to the areslib project&lt;br /&gt;
* for areslib right-click, properties, Code Generation and set Runtime Library to /MT (release) and /MTd (debug)&lt;br /&gt;
* compile debug and release&lt;br /&gt;
* copy all c-ares\*.h files to linden\libraries\include\ares\*.h&lt;br /&gt;
* copy vc\areslib\Debug\*lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy vc\areslib\Release\*lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== openjpeg (viewer 1.18.4 ... for later releases first check if the openjpeg.lib files are in the Linden library package) ===&lt;br /&gt;
* download the latest OpenJPEG from [http://www.openjpeg.org/ here]&lt;br /&gt;
* open the libopenjpeg.dsw, let it convert and compile it (you&#039;ll need the files from the dllopenjpeg sub-project) &lt;br /&gt;
* copy debug\openjpeg.lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy release\openjpeg.lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
* copy release\openjpeg.dll to linden\indra\newview&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Quicktime &#039;&#039;(optional)&#039;&#039; ===&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This download requires a registration at the Apple Quicktime website and take a bit of time.  You can avoid using QuickTime if you want, see [[#QuickTime removal|below]] for details.  Remember that your viewer &#039;&#039;&#039;can&#039;t play in-world movies&#039;&#039;&#039; if you do so.&lt;br /&gt;
* Download &amp;amp; install the [http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/203/wa/getSoftware?fileID=20525&amp;amp;code=y&amp;amp;source=x&amp;amp;wosid=4h16WcyMtVfd2P1EffGafkoxFcr Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to  &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuring for VS2005 =&lt;br /&gt;
&lt;br /&gt;
Lindens use VS2003 to develop the viewer.  &lt;br /&gt;
&lt;br /&gt;
You either need to convert &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039; from VS2003 format to VS2005 format or obtain files compatible with VS2005.  You may also need to modify source files to work around the incompatibility between VS2003 and VS2005.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: linden\indra\indra_complete_vs8.sln is a solution file already included in the source archive and intended for the Visual Studio 2005, but it &#039;&#039;&#039;does not work&#039;&#039;&#039; (at least between 1.14.0 and 1.17.0.9 distribution).  This may change in a future release, if Lindens include an updated versions of the &#039;&#039;&#039;_vc8&#039;&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Using pre-built solution/project files ==&lt;br /&gt;
&lt;br /&gt;
Currently there is a ZIP file with solution/project files available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151].  &lt;br /&gt;
&lt;br /&gt;
If you are building 1.16 or later, the easiest way towards compiling SL on MS2005 will be to use the zip file mentioned above.  The details is as follows:&lt;br /&gt;
* Download the appropriate ZIP archive from JIRA.&lt;br /&gt;
* Unpack it and copy it onto your linden source tree (allow to overwrite files that have &#039;&#039;&#039;_vc8&#039;&#039;&#039; in the name).&lt;br /&gt;
* Start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* Use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete&#039;&#039;&#039;_vc8&#039;&#039;&#039;.sln (Note: If you plan to work with multiple versions over time, you will find it useful to rename &#039;&#039;&#039;indra_complete_vc8.sln&#039;&#039;&#039; to something which contains the version number, e.g. &#039;&#039;&#039;indra_1_17_0_11_vc8.sln&#039;&#039;&#039; before opening.)&lt;br /&gt;
* Right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* Proceed with applying the &#039;&#039;&#039;Workarounds&#039;&#039;&#039; below (skip &#039;&#039;&#039;Manual conversion&#039;&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The solution/project files depends on the viewer release version.  If you are compiling some specific version of the viewer, and the {{JIRA|VWR-1151}} doesn&#039;t list the zip file for you version, you can try using the most close one.  If, while compiling, you later encounter errors or problems regarding the projects, you may have to do the manual conversion instead.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you don&#039;t find a matching solution or if it does not work right away, try the manual conversion (see below) because most likely it will be quicker than trying to figure out what&#039;s wrong with someone else&#039;s patched files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manual conversion of the solution/projects ==&lt;br /&gt;
&lt;br /&gt;
If you can not find a set of project files (see above), there are instructions available how to manually do it: [[Converting_project_files_for_MSVS2005]] (this step will take about 5-15 minutes, depending on how proficient you are using VS2005).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workarounds ==&lt;br /&gt;
&lt;br /&gt;
There are more compatibility problems between VS2003 and VS2005.  You need the following code edits.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== test project/crash_logger/updater ===&lt;br /&gt;
&lt;br /&gt;
For whatever reason, the &#039;&#039;&#039;test&#039;&#039;&#039; project doesn&#039;t work under VS2005.  Workaround is to disable it as follows: Right click on the &#039;&#039;&#039;test&#039;&#039;&#039; and choose &#039;&#039;&#039;Unload Project&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not plan to create a full download build, you can exclude the &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; from newview&#039;s project dependencies and unload them also.  But be careful with unloading these projects without removing them from the dependencies, because I have seen VS2005 act highly erratic while linking then project when I tried this.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== QuickTime removal ===&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to get Apple QuickTime SDK, you can disable it as follows:&lt;br /&gt;
*linden\indra\llcommon\llpreprocessor.h - near line 58 (the line below &#039;&#039;&#039;#elif LL_WINDOWS&#039;&#039;&#039;)&lt;br /&gt;
 --50: #define LL_QUICKTIME_ENABLED	1&lt;br /&gt;
 ++50: #define LL_QUICKTIME_ENABLED	&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   [[LearCale]]: this appears to be in linden\indra\llmedia\llmediabase.h as of client 1.20&lt;br /&gt;
&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box beside the green arrow under the tool bar, and do the followings on the Solution Explorer frame:&lt;br /&gt;
*Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.&lt;br /&gt;
**Choose Properties.&lt;br /&gt;
**Under Configuration Properties &amp;gt; Linker &amp;gt; Input, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
**Scroll down the list to find &#039;&#039;&#039;qtmlclient.lib&#039;&#039;&#039;.  Delete this single line.&lt;br /&gt;
**Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box. Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone and do the same thing again.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ready, Set, Build! =&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; (for production code).&lt;br /&gt;
* To do this, pick either in the Solution Configurations drop-down box beside the green arrow under the tool bar.&lt;br /&gt;
* Make sure &#039;&#039;&#039;newview&#039;&#039;&#039; is set as the startup project (otherwise set from newview&#039;s right-click menu).&lt;br /&gt;
* Select Build-Menu &amp;gt; Build Solution or press F7.&lt;br /&gt;
* newview_noopt.exe will be built in linden\indra\newview\ReleaseNoOpt or SecondLife.exe will be linden\indra\newview\ReleaseForDownload.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common compile errors ==&lt;br /&gt;
* See [[common compilation problems]] if you run into other errors while building.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Running ==&lt;br /&gt;
* You can run the viewer by &#039;&#039;&#039;Debug &amp;gt; Start Debugging&#039;&#039;&#039; or &#039;&#039;&#039;Debug &amp;gt; Start Without Debugging&#039;&#039;&#039; in Visual Studio. &lt;br /&gt;
* To run it outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (All the .dll will be found there.)&lt;br /&gt;
* Alternately copy the exe (possibly rename it) to your &amp;quot;c:\program files\secondlife&amp;quot; folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Debugging Info/Configurations ==&lt;br /&gt;
* Usually you will either use &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; or the &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; configuration.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (not optimized) compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; also has debugging information and runs fine in the debugger (although at times you may miss access to some local variables).&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session, but you can access the same information also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug console log can also be redirected to a file if you add &amp;quot;2&amp;gt;secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[finding leaks]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and repoen it, before you can connect to the selected grid).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Submit Patches =&lt;br /&gt;
This is probably faaar down the road, but if you make changes to the source and want to submit them, see the page about [[submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Alternate_viewers&amp;diff=63646</id>
		<title>Alternate viewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Alternate_viewers&amp;diff=63646"/>
		<updated>2008-04-15T12:18:54Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: wrap up for the nichoalz edition&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The [[Extended_FAQ|Extended FAQ]] states that it is okay to create and distribute homebrew viewers as long they adhere to the respective licenses for code usage and server usage.  &lt;br /&gt;
&lt;br /&gt;
The code itself is licensed under {{OSWebsite|gplv2|alt=the GNU General Public License (GPL)}}, which governs modification and redistribuition of the source code.  Use of Linden Lab&#039;s servers will still be governed by [http://secondlife.com/corporate/tos.php the Second Life Terms of Service]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Homebrew viewers are obviously not associated with LindenLab, are governed by their own respective licenses.  LindenLab is not responsible for any desired or undesired results in association with those viewers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note to authors: If you make a viewer available make sure to include platform, version numbers and dates.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Able Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This is a Windows viewer is an unofficial build which adds a [https://jira.secondlife.com/browse/VWR-1017 Mute Visibility] feature, which allows objects in-world to be rendered partially or entirely invisible. &lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Mute Visibility &lt;br /&gt;
* Improvements to the Mute List&lt;br /&gt;
* Muting objects applies to entire linksets&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://ablewhitman.blogspot.com/ Able Whitman on Blogspot]&lt;br /&gt;
* Direct download link: http://ablewhitman.org/viewer/&lt;br /&gt;
* Source code: http://ablewhitman.org/viewer/&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Dale Glass Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This is a Windows (soon Linux) viewer which adds new experimental features. The features are intended to give users more information about the world and to simplify moderation by making it easier to tell where people are and what they&#039;re doing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Avatar Scanner&lt;br /&gt;
** Shows nearby avatars, roughly in drawing distance range.&lt;br /&gt;
** Shows name, age, payment info, current activity. &lt;br /&gt;
** Land and estate commands for ejecting/banning multiple avatars at once&lt;br /&gt;
** Integration with Luskwood moderation tools&lt;br /&gt;
** Buttons to open profile, IM, teleport to or track selected avatars&lt;br /&gt;
* Event Log: Experimental feature, shows a list of active particle effects (soon sounds too), and their owners. Allows moving camera to emitter.&lt;br /&gt;
* Branding: Replaces LL branding with my own. Different login page, checks for updates against my server.&lt;br /&gt;
* Logging of the owner and location of speaking objects&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: http://sl.daleglass.net&lt;br /&gt;
* Blog: http://daleglass.wordpress.com&lt;br /&gt;
* Direct download link: http://sl.daleglass.net/download&lt;br /&gt;
* Source code: http://svn.daleglass.net/sl/release/ ( [[User:Dale_Glass#Subversion_Repository|subversion]] )&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Nicholaz Edition (Discontinued) ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
These are Windows viewer based on SL builds with a focus on stability, usability and performance (see [http://www.blueflash.cc/users/nicholaz/EyeCandy/!!Installation.txt Installation.txt] for homebrew disclaimer).  Mac and Linux variants are available through other open sourcers (links on the website).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Development of this viewer is discontinued as of 1.19.1.  Older versions are still working, download links can be found [http://nicholaz-beresford.blogspot.com/ here] (look for &amp;quot;Release&amp;quot; posts).&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Improved stability&lt;br /&gt;
* Lower memory footprint&lt;br /&gt;
* GUI redesigns &lt;br /&gt;
* Workarounds for common annoyances (Group IM Filtering, &amp;quot;Release Key&amp;quot; button, etc.)&lt;br /&gt;
* see [http://www.blueflash.cc/users/nicholaz/EyeCandy/!Changes.txt Changes.txt] for all details&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://nicholaz-beresford.blogspot.com/ Nicholaz Beresford on Blogspot]&lt;br /&gt;
* Direct download link: [http://www.blueflash.cc/users/nicholaz Download versions of this viewer] &lt;br /&gt;
* Source code: Look at the [http://www.blueflash.cc/users/nicholaz download site] for the source-xxx-zip files in the respective folders and see the readme.txt inside the archives&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Marine Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This viewer, codename &amp;quot;&#039;&#039;&#039;RestrainedLife&#039;&#039;&#039;&amp;quot; is an attempt at enhancing the experience of people who practice BDSM in Second Life. It is used jointly with simple scripts made to use its features in-world, such as making an attached object undetachable, preventing chat and such. An &#039;&#039;&#039;API&#039;&#039;&#039; (Application Programming Interface, a text file) is provided so that every content creator can create their own scripts to interface their own items to the viewer and use its features.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Attachments can be made undetachable&lt;br /&gt;
* Chat and IM prevention on demand, with exceptions if needed&lt;br /&gt;
* Teleport and sit-tp prevention on demand, with exceptions if needed&lt;br /&gt;
* Editing and Rezzing prevention on demand&lt;br /&gt;
* Adding/Removing clothes on demand, + force remove clothes and force remove unlocked attachments&lt;br /&gt;
* Force sit and prevent stand up (even after a relog) on demand&lt;br /&gt;
* Manual (by IM) and automatic (by script) version checking&lt;br /&gt;
* API for content creators&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://realrestraint.blogspot.com/ Marine Kelley&#039;s blog on Blogspot]&lt;br /&gt;
* Direct download link to the Windows viewer: [http://www.erestraint.com/realrestraint Download for Windows] (Executable and readme)&lt;br /&gt;
* Direct download link to the MacOS X viewer: [http://www.erestraint.com/realrestraint Download for MacOS X] (Executable and readme, courtesy of Mo Noel)&lt;br /&gt;
* Direct download link to the Linux viewer: [http://www.loomiverse.net/RestrainedLife Download for Linux] (Executable and readme, courtesy of Loom Kish)&lt;br /&gt;
* Source code and text API : [http://www.erestraint.com/realrestraint Download] (Text files)&lt;br /&gt;
* API as a wiki page : [https://wiki.secondlife.com/wiki/RestrainedLifeAPI API] (Wiki format)&lt;br /&gt;
* Specification to interface cages &amp;amp; furnitures with the viewer through the use of a relay : [https://wiki.secondlife.com/wiki/LSL_Protocol/RestrainedLifeRelaySpecs Relay Spec] (Wiki format)&lt;br /&gt;
&lt;br /&gt;
=== Version and timestamp ===&lt;br /&gt;
&lt;br /&gt;
* Version : 1.10.4, compiled on SL official viewer 1.19.0.5&lt;br /&gt;
* Date : 02/15/2008&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Henri Beauchamp Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This viewer, codename &amp;quot;&#039;&#039;&#039;Cool SL Viewer&#039;&#039;&#039;&amp;quot; combines elements of several of the other viewers, as well as some extra patches very carefully tested.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Reverses many of the unpopular interface changes made in the transition to voice being standard (including reinstating the packet loss and bandwidth indicators, and optionally reinstating the old, more visible, tracking dots in the mini-map).&lt;br /&gt;
* Implements the &amp;quot;Restrained Life&amp;quot; API discussed more fully in the Marine Edition client.&lt;br /&gt;
* Defines double-click default actions for many types of inventory.&lt;br /&gt;
* Allows to optionally prevent IMs to show in the main chat. &lt;br /&gt;
* Allows to hide the &amp;quot;Release Keys&amp;quot; and/or the &amp;quot;Master volume&amp;quot; in the panel overlay.&lt;br /&gt;
* MUD/MUSH/MUCK/MU* style &amp;quot;poses&amp;quot;&lt;br /&gt;
* Various patches by Nicholaz Beresford, Gigs Taggart, Blakar Ogre, and others.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://sldev.free.fr/ The Cool SL Viewer homepage]&lt;br /&gt;
* Direct download link to the Linux viewer: [http://sldev.free.fr/SecondLife_i686_1_19_0_5_CoolRelease_6-diff_files.tar.bz2 Download for Linux]&lt;br /&gt;
* MacOS X viewer: [http://radio-boomslang.shacknet.nu/~bb/articles/cool-viewer-mac/index.html See Barney Boomslang&#039;s site] for files and instructions.&lt;br /&gt;
* Windows viewer: [http://my.opera.com/boylane/blog/ See Boy Lane&#039;s site] for files and instructions.&lt;br /&gt;
* Source code: The standard Linden codebase is used, with the addition of the patches listed and linked to on the homepage.&lt;br /&gt;
&lt;br /&gt;
=== Version and timestamp ===&lt;br /&gt;
&lt;br /&gt;
* Version : i686 1.19.0.5 CoolRelease 6&lt;br /&gt;
* Date : 2008/04/10&lt;br /&gt;
&lt;br /&gt;
* Version : i686 1.19.1.4 CoolRelease 3&lt;br /&gt;
* Date : 2008/04/10&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Onrez Viewer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
The Onrez viewer was made by the Onrez company in connection with a Second Life themed story on the high tech forensics based TV show &amp;quot;CSI: New York&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* A back and history button for teleports&lt;br /&gt;
* In-viewer web browsing. &lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://viewer.onrez.com for the download&lt;br /&gt;
&lt;br /&gt;
=== Comment ===&lt;br /&gt;
The source code for this viewer is closed source.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RealXtend Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
The realXtend viewer is a heavily modified version of the Linden Labs&#039; Second Life client by a partnership of two Finnish companies, ADMINO technologies and LudoCraft.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
    * Second life compatibility mode for use in SL and Opensim worlds&lt;br /&gt;
    * Teleports between realXtend and Secondlife&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://www.realxtend.org/]&lt;br /&gt;
* Direct download link: http://www.realxtend.org/downloads.html&lt;br /&gt;
* Source code: http://sourceforge.net/projects/realxtendviewer/&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Alternate_viewers&amp;diff=61995</id>
		<title>Alternate viewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Alternate_viewers&amp;diff=61995"/>
		<updated>2008-04-06T23:43:16Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The [[Extended_FAQ|Extended FAQ]] states that it is okay to create and distribute homebrew viewers as long they adhere to the respective licenses for code usage and server usage.  &lt;br /&gt;
&lt;br /&gt;
The code itself is licensed under {{OSWebsite|gplv2|alt=the GNU General Public License (GPL)}}, which governs modification and redistribuition of the source code.  Use of Linden Lab&#039;s servers will still be governed by [http://secondlife.com/corporate/tos.php the Second Life Terms of Service]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Homebrew viewers are obviously not associated with LindenLab, are governed by their own respective licenses.  LindenLab is not responsible for any desired or undesired results in association with those viewers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note to authors: If you make a viewer available make sure to include platform, version numbers and dates.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Able Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This is a Windows viewer is an unofficial build which adds a [https://jira.secondlife.com/browse/VWR-1017 Mute Visibility] feature, which allows objects in-world to be rendered partially or entirely invisible. &lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Mute Visibility &lt;br /&gt;
* Improvements to the Mute List&lt;br /&gt;
* Muting objects applies to entire linksets&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://ablewhitman.blogspot.com/ Able Whitman on Blogspot]&lt;br /&gt;
* Direct download link: http://ablewhitman.org/viewer/&lt;br /&gt;
* Source code: http://ablewhitman.org/viewer/&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Dale Glass Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This is a Windows (soon Linux) viewer which adds new experimental features. The features are intended to give users more information about the world and to simplify moderation by making it easier to tell where people are and what they&#039;re doing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Avatar Scanner&lt;br /&gt;
** Shows nearby avatars, roughly in drawing distance range.&lt;br /&gt;
** Shows name, age, payment info, current activity. &lt;br /&gt;
** Land and estate commands for ejecting/banning multiple avatars at once&lt;br /&gt;
** Integration with Luskwood moderation tools&lt;br /&gt;
** Buttons to open profile, IM, teleport to or track selected avatars&lt;br /&gt;
* Event Log: Experimental feature, shows a list of active particle effects (soon sounds too), and their owners. Allows moving camera to emitter.&lt;br /&gt;
* Branding: Replaces LL branding with my own. Different login page, checks for updates against my server.&lt;br /&gt;
* Logging of the owner and location of speaking objects&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: http://sl.daleglass.net&lt;br /&gt;
* Blog: http://daleglass.wordpress.com&lt;br /&gt;
* Direct download link: http://sl.daleglass.net/download&lt;br /&gt;
* Source code: http://svn.daleglass.net/sl/release/ ( [[User:Dale_Glass#Subversion_Repository|subversion]] )&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Nicholaz Edition (Discontinued) ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
Note: Development of this viewer is discontinued.&lt;br /&gt;
&lt;br /&gt;
This is a Windows viewer based on SL builds with various preliminary bug fix patches applied.  Nonetheless it is of course an unofficial build.  See [http://www.blueflash.cc/users/nicholaz/!!Installation.txt Installation.txt], [http://www.blueflash.cc/users/nicholaz/!Changes.txt Changes.txt] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Particle system improved&lt;br /&gt;
* Different memory management for image list &lt;br /&gt;
* Many patches from the bug tracker which are not yet in the official viewer&lt;br /&gt;
* Old style GUI and GUI redesigns for the voice viewer &lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://nicholaz-beresford.blogspot.com/ Nicholaz Beresford on Blogspot]&lt;br /&gt;
* Direct download link: [http://www.blueflash.cc/users/nicholaz Download versions of this viewer] &lt;br /&gt;
* Source code: Look at the download site for the source-xxx-zip archive&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Marine Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This viewer, codename &amp;quot;&#039;&#039;&#039;RestrainedLife&#039;&#039;&#039;&amp;quot; is an attempt at enhancing the experience of people who practice BDSM in Second Life. It is used jointly with simple scripts made to use its features in-world, such as making an attached object undetachable, preventing chat and such. An &#039;&#039;&#039;API&#039;&#039;&#039; (Application Programming Interface, a text file) is provided so that every content creator can create their own scripts to interface their own items to the viewer and use its features.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Attachments can be made undetachable&lt;br /&gt;
* Chat and IM prevention on demand, with exceptions if needed&lt;br /&gt;
* Teleport and sit-tp prevention on demand, with exceptions if needed&lt;br /&gt;
* Editing and Rezzing prevention on demand&lt;br /&gt;
* Adding/Removing clothes on demand, + force remove clothes and force remove unlocked attachments&lt;br /&gt;
* Force sit and prevent stand up (even after a relog) on demand&lt;br /&gt;
* Manual (by IM) and automatic (by script) version checking&lt;br /&gt;
* API for content creators&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://realrestraint.blogspot.com/ Marine Kelley&#039;s blog on Blogspot]&lt;br /&gt;
* Direct download link to the Windows viewer: [http://www.erestraint.com/realrestraint Download for Windows] (Executable and readme)&lt;br /&gt;
* Direct download link to the MacOS X viewer: [http://www.erestraint.com/realrestraint Download for MacOS X] (Executable and readme, courtesy of Mo Noel)&lt;br /&gt;
* Direct download link to the Linux viewer: [http://www.loomiverse.net/RestrainedLife Download for Linux] (Executable and readme, courtesy of Loom Kish)&lt;br /&gt;
* Source code and text API : [http://www.erestraint.com/realrestraint Download] (Text files)&lt;br /&gt;
* API as a wiki page : [https://wiki.secondlife.com/wiki/RestrainedLifeAPI API] (Wiki format)&lt;br /&gt;
* Specification to interface cages &amp;amp; furnitures with the viewer through the use of a relay : [https://wiki.secondlife.com/wiki/LSL_Protocol/RestrainedLifeRelaySpecs Relay Spec] (Wiki format)&lt;br /&gt;
&lt;br /&gt;
=== Version and timestamp ===&lt;br /&gt;
&lt;br /&gt;
* Version : 1.10.4, compiled on SL official viewer 1.19.0.5&lt;br /&gt;
* Date : 02/15/2008&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Henri Beauchamp Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This viewer, codename &amp;quot;&#039;&#039;&#039;Cool SL Viewer&#039;&#039;&#039;&amp;quot; combines elements of several of the other viewers, as well as some extra patches very carefully tested.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Reverses many of the unpopular interface changes made in the transition to voice being standard (including reinstating the packet loss and bandwidth indicators, and optionally reinstating the old, more visible, tracking dots in the mini-map).&lt;br /&gt;
* Implements the &amp;quot;Restrained Life&amp;quot; API discussed more fully in the Marine Edition client.&lt;br /&gt;
* Defines double-click default actions for many types of inventory.&lt;br /&gt;
* Allows to optionally prevent IMs to show in the main chat. &lt;br /&gt;
* Allows to hide the &amp;quot;Release Keys&amp;quot; and/or the &amp;quot;Master volume&amp;quot; in the panel overlay.&lt;br /&gt;
* MUD/MUSH/MUCK/MU* style &amp;quot;poses&amp;quot;&lt;br /&gt;
* Various patches by Nicholaz Beresford, Gigs Taggart, Blakar Ogre, and others.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://sldev.free.fr/ The Cool SL Viewer homepage]&lt;br /&gt;
* Direct download link to the Linux viewer: [http://sldev.free.fr/SecondLife_i686_1_19_0_5_CoolRelease_4-diff_files.tar.bz2 Download for Linux]&lt;br /&gt;
* Direct download link to the MacOS X viewer: None available yet&lt;br /&gt;
* Windows viewer: [http://my.opera.com/boylane/blog/ See Boy Lane&#039;s site] for files and instructions.&lt;br /&gt;
* Source code: The standard Linden codebase is used, with the addition of the patches listed and linked to on the homepage.&lt;br /&gt;
&lt;br /&gt;
=== Version and timestamp ===&lt;br /&gt;
&lt;br /&gt;
* Version : i686 1.19.0.5 CoolRelease 4&lt;br /&gt;
* Date : 2008/03/29&lt;br /&gt;
&lt;br /&gt;
* Version : i686 1.19.1.4 CoolRelease 1&lt;br /&gt;
* Date : 2008/03/30&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Kirstens Viewers ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
These Viewers are custom built for win32 platforms, and take code from the SVN and patches from 3rd parties or jira, and should be considered experimental compared to the standard release client, they are however compiled more or less exclusively for high end intel based machines for best performance or to fix specific problems and have proved very stable with minor performance increases and added stability in some cases.&lt;br /&gt;
&lt;br /&gt;
Kirsten also builds Viewers based off snapshots, very experimental and sometimes not yet available from the official website.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Compiled For Maximum Performance on Intel P4&#039;s or better&lt;br /&gt;
* Quicker Loading,less memory leaks (19hours login with no relog or crash, Thanks to Phantium Longwell for the Test )&lt;br /&gt;
* Congrats Also To Paulo on a 20hr+ Session on Kirstens Windlight&lt;br /&gt;
* Specific Viewers to Fix specific problems&lt;br /&gt;
* Viewers released in line with official releases,usually within hours.&lt;br /&gt;
* Snapshots of the Dazzle FL viewer, and WL snapshots&lt;br /&gt;
&lt;br /&gt;
* Redesigned Skins on Certain Viewers&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://code.google.com/p/kirstens-secondlife-viewers/&lt;br /&gt;
* http://www.armyof4.com/Kirstenlee/&lt;br /&gt;
&lt;br /&gt;
=== Version and timestamp ===&lt;br /&gt;
&lt;br /&gt;
* Version : Kirstens Dazzle(VERY stable viewer with custom UI )&lt;br /&gt;
* Version : Kirstens Windlight 1-19-1 build 83563 Snapshot &amp;amp; 1-19-1-2 Sldev r386 custom also available&lt;br /&gt;
* Version : Kirstens Ext Edition - Intel Dual/Quad Core only(NO AMD)&lt;br /&gt;
* Date : 03/25/2008&lt;br /&gt;
&lt;br /&gt;
== Onrez Viewer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
The Onrez viewer was made by the Onrez company in connection with a Second Life themed story on the high tech forensics based TV show &amp;quot;CSI: New York&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* A back and history button for teleports&lt;br /&gt;
* In-viewer web browsing. &lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://viewer.onrez.com for the download&lt;br /&gt;
&lt;br /&gt;
=== Comment ===&lt;br /&gt;
The source code for this viewer is closed source.&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=45404</id>
		<title>Common compilation problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=45404"/>
		<updated>2007-12-21T14:22:08Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: /* Cannot open include file: &amp;#039;glh/glh_linear.h&amp;#039; or &amp;#039;glh/glh_convenience.h&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= General Problems =&lt;br /&gt;
&lt;br /&gt;
*  Make sure you download not only the source, but the artwork zipfile, and the appropriate zipfile/tarball of libraries for your platform&lt;br /&gt;
&lt;br /&gt;
= Windows = &lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol _CLSID_DxDiagProvider/_IID_IDxDiagProvider ==&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _CLSID_DxDiagProvider&#039;&#039;&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _IID_IDxDiagProvider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These errors reportedly occur with MSVC 2003 and certain versions of the DirectX SDK.  To workaround, edit lldxhardware.cpp and replace the following (line 35):&lt;br /&gt;
&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
with...&lt;br /&gt;
     #define INITGUID&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
     #undef INITGUID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cannot open input file &#039;dxguid.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1181: cannot open input file &#039;dxguid.lib&#039; in ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using a fairly recent DirectX SDK (&amp;quot;December 2006&amp;quot; or newer), your VC++ Libraries Directory may be wrong because the SDK&#039;s lib folder now has 2 sub-folders for x64 and x86.  Try changing the path from &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\Lib&#039;&#039; to &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\&#039;&#039; &#039;&#039;&#039;Lib\x86&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open input file &#039;dxerr8.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1104: cannot open file &#039;dxerr8.lib&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using the most recent DirectX SDK (&amp;quot;November 2007&amp;quot;), the file dxerr8.lib does no longer exist. To fix this, you&#039;ll need to change the newview project to include &#039;dxerr9.lib&#039; instead. To do this, right-lick newview &amp;gt; Configuration Properties &amp;gt; Linker &amp;gt; Input, click Additional Dependencies on the right to show a button labeled &amp;quot;...&amp;quot; on it at the very right on the line, then click the ... button. Scroll down the list to find &#039;dxerr8.lib&#039;. Rewrite it to &#039;dxerr9.lib&#039;. Remember to do this for both the ReleaseForDownload and the ReleaseNoOpt Configurations.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ytab.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;indra.l (20) : fatal error C1083: Cannot open include file: &#039;ytab.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
Workaround: Manually copy &amp;quot;linden\indra\lscript\lscript_compile\ytab.hpp&amp;quot; to &amp;quot;linden\indra\lscript\lscript_compile\ytab.h&amp;quot; and build again. &lt;br /&gt;
&lt;br /&gt;
Note: The underlying issue is that in indra.y there is a postbuild step which should do this automatically, but which is missing in some configurations (e.g. in Debug builds).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;png.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;imagepng.cpp : fatal error C1083: Cannot open include file: &#039;libpng12/png.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
There are a couple of files missing since the 1.17. distribution.  You can either get the missing files from the internet (from the libpng and zlib projects) or download a set with just the missing files from [http://www.blueflash.cc/users/nicholaz/~libs here] (see the readme.txt inside the png archive there).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;glh/glh_linear.h&#039; or &#039;glh/glh_convenience.h&#039; ==&lt;br /&gt;
These files are currently missing from Linden Windlight distributions.  See [https://jira.secondlife.com/browse/VWR-3415 JIRA VWR-3415] or grab a copy from [http://www.blueflash.cc/users/nicholaz/~libs here] and put the files into a folder named linden/libraries/include/glh.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors relating to &amp;quot;template_verifier.py&amp;quot; ==&lt;br /&gt;
With version 1.18 a template verifier script written in Python is used to ensure the message template is correct.  In some distributions the file was missing.  You will also get an error if you have skipped the Python install.  In both cases it is safe to hack the prebuild.bat file in the newview folder as described on the JIRA [http://jira.secondlife.com/browse/VWR-1267 VWR-1267]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing resources ==&lt;br /&gt;
* &#039;&#039;.\res\newViewRes.rc(64) : error RC2135 : file not found: ll_icon.ico&#039;&#039;&lt;br /&gt;
Some releases have missing files, which were reported to be last seen in the &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; release.&lt;br /&gt;
* Go to the [[source downloads]] page and grab the [[http://secondlife.com/developers/opensource/downloads/2007/04/slviewer-src-1.14.0.1.zip &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; viewer]] sources.&lt;br /&gt;
* Explore the archive to &amp;quot;linden/indra/newview/res&amp;quot; folder and extract content to your &amp;quot;linden/indra/newview/res&amp;quot; folder into current revision.&lt;br /&gt;
Missing folder in recent release, &amp;quot;&#039;&#039;&#039;1.17.0.12&#039;&#039;&#039;&amp;quot; which causes the SecondLife to hang while loading into the world.&lt;br /&gt;
* Go to the previous source and copy the missing folder, &amp;quot;Character&amp;quot; and place it into the &amp;quot;newview&amp;quot; folder&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Error code from &amp;quot;Copying message template&amp;quot; ==&lt;br /&gt;
* &#039;&#039;newview error PRJ0019: A tool returned an error code from &amp;quot;Copying message template&amp;quot;&#039;&#039;&lt;br /&gt;
This is caused by the script trying to do a copy command, but the source path isn&#039;t in quotes.  Open up newview.vcproj in notepad, and near the bottom there are 4 line that say:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(InputPath) .\app_settings\message_template.msg&lt;br /&gt;
replace them with&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(InputPath)&amp;amp;amp;quot; .\app_settings\message_template.msg&lt;br /&gt;
The source and destination paths on line 158 may also require wrapping in quotes.  In which case:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(TargetDir)\$(TargetFileName) $(ProjectDir)&lt;br /&gt;
should become:&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(TargetDir)\$(TargetFileName)&amp;amp;amp;quot; &amp;amp;amp;quot;$(ProjectDir)&amp;amp;amp;quot;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Can not find library ll*.lib ==&lt;br /&gt;
If you get a compile error for missing libraries with names of the projects (lscript_compile.lib, llaudio.lib, llcharacter.lib, etc.) go to newview &amp;gt; Properties &amp;gt; Linker &amp;gt; Input and remove these from the list of input libraries (they will be linked through the dependencies and should not be in the list).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;windows.h&#039; ==&lt;br /&gt;
If you run into this problem:&lt;br /&gt;
 ..\..\..\boost/regex/v4/fileiter.hpp(44) : fatal error C1083: Cannot open include file: &#039;windows.h&#039;: No such file or directory&lt;br /&gt;
Fix it with this: (thanks Fairlight!)&lt;br /&gt;
 set INCLUDE=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;%INCLUDE%&lt;br /&gt;
 set LIB=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%LIB%&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Unresolved external symbol &amp;quot;int __cdecl lscript_compile&amp;quot; (VS2005) ==&lt;br /&gt;
* &#039;&#039;llcompilequeue.obj : error LNK2019: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z) referenced in function &amp;quot;protected: void __thiscall LLFloaterCompileQueue::compile(char const *,class LLUUID const &amp;amp;)&amp;quot; (?compile@LLFloaterCompileQueue@@IAEXPBDABVLLUUID@@@Z)&#039;&#039;&lt;br /&gt;
* &#039;&#039;llpreviewscript.obj : error LNK2001: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is not entirely clear, but there seems to be a problem with VS2005 if projects are unloaded while being in the dependency tree.  I have seen this error while I had win_crash_logger and win_updater unloaded from the project tree and the problem went away when I loaded them back and excluded them from the newview dependency first.&lt;br /&gt;
&lt;br /&gt;
Also make sure that in newview, properties, linker, input, input libraries, no libraries named ll*.lib and lscript_compile.lib are listed there (remove them if you find them).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol __invalid_parameter_noinfo (VS2005) ==&lt;br /&gt;
* &#039;&#039;llmozlib-vc80.lib(llembeddedbrowserwindow.obj) : error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are most likely trying a debug build under VS2005.  For debug builds, see the compile instruction section on [[finding_leaks]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ares.h&#039; ==&lt;br /&gt;
download src from http://daniel.haxx.se/projects/c-ares/&lt;br /&gt;
&lt;br /&gt;
compile c-ares-1.4.0/vc/areslib&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/vc/areslib/Release/areslib.lib to linden/libraries/i686-win32/lib_release and to lib_debug&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/*.h to linden/libraries/i686-win32/include/ares&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other (older) notes ==&lt;br /&gt;
* Mozilla is not compatible with visual studio 2005, so we have not migrated the codebase, so we do not know if it works. &lt;br /&gt;
&lt;br /&gt;
* Added my errors at [[User:Adam_Zaius/MSVS2005 Errors]] [[User:Adam Zaius|Adam Zaius]] 09:40, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* To minimize the number of warnings for now: in C/C++-Preprocessor add &#039;;_CRT_SECURE_NO_DEPRECATE&#039; to the Preprocessor Definitions, that will supress deprecation warnings --[[User:Artm Udal|Artm Udal]] 12:42, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mac OS X =&lt;br /&gt;
&lt;br /&gt;
Getting:&lt;br /&gt;
&lt;br /&gt;
*/linden/indra/newview/../llwindow/llglheaders.h:377:31: error: GL/glh_extensions.h: No such file or directory&lt;br /&gt;
** This means you didn&#039;t [[Compiling the viewer (Mac OS X)#Viewer Source, Libraries, and Artwork|merge the libraries]] right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Linux = &lt;br /&gt;
&lt;br /&gt;
==== Packaging errors ====&lt;br /&gt;
&lt;br /&gt;
The final packaging step may fail with errors about the manifest if you are not using the &amp;lt;i&amp;gt;slviewer-linux-libs&amp;lt;/i&amp;gt; bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at &amp;lt;b&amp;gt;indra/newview/viewer_manifest.py&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Various Compilation problems ====&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Unable to initialize communications&amp;quot;&lt;br /&gt;
** If the viewer just displays the error message &amp;quot; Unable to initialize communications&amp;quot; and exits, it can&#039;t find message_template.msg. You did remember to copy it over, right?&lt;br /&gt;
&lt;br /&gt;
* Blino&#039;s SL build/linking patches for &#039;&#039;&#039;gcc4&#039;&#039;&#039;: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/secondlife/current/&lt;br /&gt;
* objcopy: &amp;lt;b&amp;gt;&#039;newview/linux_tools/exposed-symbols.txt&#039;&amp;lt;/b&amp;gt;: No such file&lt;br /&gt;
** Tofu says... &#039;This is an omission from our manifest which I&#039;ll fix.  Meanwhile it&#039;s a safe fix to create an empty file with that name.&#039;&lt;br /&gt;
&lt;br /&gt;
* Something like: &amp;lt;b&amp;gt;/usr/bin/ld: cannot find -lz&amp;lt;/b&amp;gt;&lt;br /&gt;
** Nadia says: Install the zlib development headers. (Ubuntu package zlib1g-dev, Red Hat zlib-devel.)&lt;br /&gt;
&lt;br /&gt;
* Something like: indra.y.cpp:17: &amp;lt;b&amp;gt;error: previous declaration of `int yyparse()&#039;&amp;lt;/b&amp;gt;&lt;br /&gt;
** Tofu says... &#039;This appears to be a problem with some versions of flex/bison.  A resident reports success when comment out the &amp;lt;i&amp;gt;#ifdef __cplusplus&amp;lt;/i&amp;gt; lines in lscript/lscript_compile/indra.y&#039;&lt;br /&gt;
** Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: &amp;lt;b&amp;gt;undefined     &lt;br /&gt;
* Linking failures (&amp;quot;script not found&amp;quot;) due to spaces in the LINKFLAGS variable?&lt;br /&gt;
** I saw a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665538 report], and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.&lt;br /&gt;
&lt;br /&gt;
* Building [https://lists.secondlife.com/pipermail/sldev/2007-January/000091.html 20070112a] using &#039;&#039;BUILD=releasefordownload&#039;&#039; I get many &#039;&#039;[: 89: ==: unexpected operator&#039;&#039; errors; &#039;&#039;cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory&#039;&#039; error, and same thing for character, fonts, help, skins, res-sdl; &#039;&#039;[: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator&#039;&#039;. I can succesfully run the client from the source tree.&lt;br /&gt;
** i think this has been fixed --[[User:Signore Iredell|Signore Iredell]] 06:09, 9 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* scons: *** While building `[&#039;.../linden/indra/i686-linux-client-release/lscript/lscript_compile/indra.l.cpp&#039;]&#039;: Don&#039;t know how to build a file with suffix `.l&#039;.&lt;br /&gt;
** You probably don&#039;t have all the dependencies installed (I had the same problem). Check that you have flex and bison. --[[User:Random73 Janus|Random73 Janus]] 07:43, 16 May 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Something like: linden/indra/i686-linux-client-release/llrender/llimagegl.cpp:122: &amp;lt;b&amp;gt;error: `glActiveTextureARB&#039; was not declared in this scope&amp;lt;/b&amp;gt;	 &lt;br /&gt;
** Tofu says... &#039;You&#039;ll need to install OpenGL headers if you don&#039;t already have them: gl.h, glext.h, glu.h (The ones from &#039;mesa&#039; should work)	 &lt;br /&gt;
** two residents report good luck on Gentoo after doing &#039;eselect opengl set xorg-x11&#039; (&amp;lt;b&amp;gt;but note!!&amp;lt;/b&amp;gt; You must know what you&#039;re doing; this may change your default system OpenGL drivers, and you will probably want to change them back again after the compile, e.g. &#039;eselect opengl set nvidia&#039;)&#039;&lt;br /&gt;
&lt;br /&gt;
*Building Shared Library ELFIO [[Compiling_the_viewer_%28Linux%29]] on AMD64 ubuntu 6.10&lt;br /&gt;
     g++-3.4 -shared *.o -o libelfio.so&lt;br /&gt;
     /usr/bin/ld: ELFIDynamic.o: relocation R_X86_64_32 against `a local symbol&#039; can &lt;br /&gt;
     not be used when making a  shared object; recompile with -fPIC&lt;br /&gt;
     ELFIDynamic.o: could not read symbols: Bad value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Building Client on Ubuntu 7.04 AMD64&lt;br /&gt;
     /usr/bin/ld: skipping incompatible /home/dereck/Desktop/SLdev/linden/libraries/i686-linux/lib_release_client/libopenjpeg.a when searching for -lopenjpeg&lt;br /&gt;
     /usr/bin/ld: cannot find -lopenjpeg&lt;br /&gt;
     collect2: ld returned 1 exit status&lt;br /&gt;
** I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile  was happy after that. Although it&#039;s not done yet and I&#039;m still fixing another error, that I assume is unrelated.&lt;br /&gt;
&lt;br /&gt;
==== scons got wild ====&lt;br /&gt;
&lt;br /&gt;
* AttributeError: SConsEnvironment instance has no attribute &#039;CFile&#039;&lt;br /&gt;
: This probably means you have no bison, flex, or equivalent tools installed on the standard locations on your system.&lt;br /&gt;
:* When your system has no bison installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.y.c&#039;, source=&#039;lscript/lscript_compile/indra.y&#039;)&lt;br /&gt;
:* When your system has no flex installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.l.cpp&#039;, source=&#039;lscript/lscript_compile/indra.l&#039;)&lt;br /&gt;
: Installing the appropriate package should solve this issue.&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=45403</id>
		<title>Common compilation problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=45403"/>
		<updated>2007-12-21T14:21:07Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: glh includes missing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= General Problems =&lt;br /&gt;
&lt;br /&gt;
*  Make sure you download not only the source, but the artwork zipfile, and the appropriate zipfile/tarball of libraries for your platform&lt;br /&gt;
&lt;br /&gt;
= Windows = &lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol _CLSID_DxDiagProvider/_IID_IDxDiagProvider ==&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _CLSID_DxDiagProvider&#039;&#039;&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _IID_IDxDiagProvider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These errors reportedly occur with MSVC 2003 and certain versions of the DirectX SDK.  To workaround, edit lldxhardware.cpp and replace the following (line 35):&lt;br /&gt;
&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
with...&lt;br /&gt;
     #define INITGUID&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
     #undef INITGUID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cannot open input file &#039;dxguid.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1181: cannot open input file &#039;dxguid.lib&#039; in ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using a fairly recent DirectX SDK (&amp;quot;December 2006&amp;quot; or newer), your VC++ Libraries Directory may be wrong because the SDK&#039;s lib folder now has 2 sub-folders for x64 and x86.  Try changing the path from &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\Lib&#039;&#039; to &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\&#039;&#039; &#039;&#039;&#039;Lib\x86&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open input file &#039;dxerr8.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1104: cannot open file &#039;dxerr8.lib&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using the most recent DirectX SDK (&amp;quot;November 2007&amp;quot;), the file dxerr8.lib does no longer exist. To fix this, you&#039;ll need to change the newview project to include &#039;dxerr9.lib&#039; instead. To do this, right-lick newview &amp;gt; Configuration Properties &amp;gt; Linker &amp;gt; Input, click Additional Dependencies on the right to show a button labeled &amp;quot;...&amp;quot; on it at the very right on the line, then click the ... button. Scroll down the list to find &#039;dxerr8.lib&#039;. Rewrite it to &#039;dxerr9.lib&#039;. Remember to do this for both the ReleaseForDownload and the ReleaseNoOpt Configurations.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ytab.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;indra.l (20) : fatal error C1083: Cannot open include file: &#039;ytab.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
Workaround: Manually copy &amp;quot;linden\indra\lscript\lscript_compile\ytab.hpp&amp;quot; to &amp;quot;linden\indra\lscript\lscript_compile\ytab.h&amp;quot; and build again. &lt;br /&gt;
&lt;br /&gt;
Note: The underlying issue is that in indra.y there is a postbuild step which should do this automatically, but which is missing in some configurations (e.g. in Debug builds).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;png.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;imagepng.cpp : fatal error C1083: Cannot open include file: &#039;libpng12/png.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
There are a couple of files missing since the 1.17. distribution.  You can either get the missing files from the internet (from the libpng and zlib projects) or download a set with just the missing files from [http://www.blueflash.cc/users/nicholaz/~libs here] (see the readme.txt inside the png archive there).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;glh/glh_linear.h&#039; or &#039;glh/glh_convenience.h&#039; ==&lt;br /&gt;
These files are currently missing from Linden Windlight distributions.  See [https://jira.secondlife.com/browse/VWR-3415 JIRA VWR-3415] or grab a copy from [http://www.blueflash.cc/users/nicholaz/~libs here].&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Errors relating to &amp;quot;template_verifier.py&amp;quot; ==&lt;br /&gt;
With version 1.18 a template verifier script written in Python is used to ensure the message template is correct.  In some distributions the file was missing.  You will also get an error if you have skipped the Python install.  In both cases it is safe to hack the prebuild.bat file in the newview folder as described on the JIRA [http://jira.secondlife.com/browse/VWR-1267 VWR-1267]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing resources ==&lt;br /&gt;
* &#039;&#039;.\res\newViewRes.rc(64) : error RC2135 : file not found: ll_icon.ico&#039;&#039;&lt;br /&gt;
Some releases have missing files, which were reported to be last seen in the &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; release.&lt;br /&gt;
* Go to the [[source downloads]] page and grab the [[http://secondlife.com/developers/opensource/downloads/2007/04/slviewer-src-1.14.0.1.zip &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; viewer]] sources.&lt;br /&gt;
* Explore the archive to &amp;quot;linden/indra/newview/res&amp;quot; folder and extract content to your &amp;quot;linden/indra/newview/res&amp;quot; folder into current revision.&lt;br /&gt;
Missing folder in recent release, &amp;quot;&#039;&#039;&#039;1.17.0.12&#039;&#039;&#039;&amp;quot; which causes the SecondLife to hang while loading into the world.&lt;br /&gt;
* Go to the previous source and copy the missing folder, &amp;quot;Character&amp;quot; and place it into the &amp;quot;newview&amp;quot; folder&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Error code from &amp;quot;Copying message template&amp;quot; ==&lt;br /&gt;
* &#039;&#039;newview error PRJ0019: A tool returned an error code from &amp;quot;Copying message template&amp;quot;&#039;&#039;&lt;br /&gt;
This is caused by the script trying to do a copy command, but the source path isn&#039;t in quotes.  Open up newview.vcproj in notepad, and near the bottom there are 4 line that say:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(InputPath) .\app_settings\message_template.msg&lt;br /&gt;
replace them with&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(InputPath)&amp;amp;amp;quot; .\app_settings\message_template.msg&lt;br /&gt;
The source and destination paths on line 158 may also require wrapping in quotes.  In which case:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(TargetDir)\$(TargetFileName) $(ProjectDir)&lt;br /&gt;
should become:&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(TargetDir)\$(TargetFileName)&amp;amp;amp;quot; &amp;amp;amp;quot;$(ProjectDir)&amp;amp;amp;quot;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Can not find library ll*.lib ==&lt;br /&gt;
If you get a compile error for missing libraries with names of the projects (lscript_compile.lib, llaudio.lib, llcharacter.lib, etc.) go to newview &amp;gt; Properties &amp;gt; Linker &amp;gt; Input and remove these from the list of input libraries (they will be linked through the dependencies and should not be in the list).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;windows.h&#039; ==&lt;br /&gt;
If you run into this problem:&lt;br /&gt;
 ..\..\..\boost/regex/v4/fileiter.hpp(44) : fatal error C1083: Cannot open include file: &#039;windows.h&#039;: No such file or directory&lt;br /&gt;
Fix it with this: (thanks Fairlight!)&lt;br /&gt;
 set INCLUDE=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;%INCLUDE%&lt;br /&gt;
 set LIB=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%LIB%&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Unresolved external symbol &amp;quot;int __cdecl lscript_compile&amp;quot; (VS2005) ==&lt;br /&gt;
* &#039;&#039;llcompilequeue.obj : error LNK2019: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z) referenced in function &amp;quot;protected: void __thiscall LLFloaterCompileQueue::compile(char const *,class LLUUID const &amp;amp;)&amp;quot; (?compile@LLFloaterCompileQueue@@IAEXPBDABVLLUUID@@@Z)&#039;&#039;&lt;br /&gt;
* &#039;&#039;llpreviewscript.obj : error LNK2001: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is not entirely clear, but there seems to be a problem with VS2005 if projects are unloaded while being in the dependency tree.  I have seen this error while I had win_crash_logger and win_updater unloaded from the project tree and the problem went away when I loaded them back and excluded them from the newview dependency first.&lt;br /&gt;
&lt;br /&gt;
Also make sure that in newview, properties, linker, input, input libraries, no libraries named ll*.lib and lscript_compile.lib are listed there (remove them if you find them).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol __invalid_parameter_noinfo (VS2005) ==&lt;br /&gt;
* &#039;&#039;llmozlib-vc80.lib(llembeddedbrowserwindow.obj) : error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are most likely trying a debug build under VS2005.  For debug builds, see the compile instruction section on [[finding_leaks]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ares.h&#039; ==&lt;br /&gt;
download src from http://daniel.haxx.se/projects/c-ares/&lt;br /&gt;
&lt;br /&gt;
compile c-ares-1.4.0/vc/areslib&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/vc/areslib/Release/areslib.lib to linden/libraries/i686-win32/lib_release and to lib_debug&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/*.h to linden/libraries/i686-win32/include/ares&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other (older) notes ==&lt;br /&gt;
* Mozilla is not compatible with visual studio 2005, so we have not migrated the codebase, so we do not know if it works. &lt;br /&gt;
&lt;br /&gt;
* Added my errors at [[User:Adam_Zaius/MSVS2005 Errors]] [[User:Adam Zaius|Adam Zaius]] 09:40, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* To minimize the number of warnings for now: in C/C++-Preprocessor add &#039;;_CRT_SECURE_NO_DEPRECATE&#039; to the Preprocessor Definitions, that will supress deprecation warnings --[[User:Artm Udal|Artm Udal]] 12:42, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mac OS X =&lt;br /&gt;
&lt;br /&gt;
Getting:&lt;br /&gt;
&lt;br /&gt;
*/linden/indra/newview/../llwindow/llglheaders.h:377:31: error: GL/glh_extensions.h: No such file or directory&lt;br /&gt;
** This means you didn&#039;t [[Compiling the viewer (Mac OS X)#Viewer Source, Libraries, and Artwork|merge the libraries]] right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Linux = &lt;br /&gt;
&lt;br /&gt;
==== Packaging errors ====&lt;br /&gt;
&lt;br /&gt;
The final packaging step may fail with errors about the manifest if you are not using the &amp;lt;i&amp;gt;slviewer-linux-libs&amp;lt;/i&amp;gt; bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at &amp;lt;b&amp;gt;indra/newview/viewer_manifest.py&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Various Compilation problems ====&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Unable to initialize communications&amp;quot;&lt;br /&gt;
** If the viewer just displays the error message &amp;quot; Unable to initialize communications&amp;quot; and exits, it can&#039;t find message_template.msg. You did remember to copy it over, right?&lt;br /&gt;
&lt;br /&gt;
* Blino&#039;s SL build/linking patches for &#039;&#039;&#039;gcc4&#039;&#039;&#039;: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/secondlife/current/&lt;br /&gt;
* objcopy: &amp;lt;b&amp;gt;&#039;newview/linux_tools/exposed-symbols.txt&#039;&amp;lt;/b&amp;gt;: No such file&lt;br /&gt;
** Tofu says... &#039;This is an omission from our manifest which I&#039;ll fix.  Meanwhile it&#039;s a safe fix to create an empty file with that name.&#039;&lt;br /&gt;
&lt;br /&gt;
* Something like: &amp;lt;b&amp;gt;/usr/bin/ld: cannot find -lz&amp;lt;/b&amp;gt;&lt;br /&gt;
** Nadia says: Install the zlib development headers. (Ubuntu package zlib1g-dev, Red Hat zlib-devel.)&lt;br /&gt;
&lt;br /&gt;
* Something like: indra.y.cpp:17: &amp;lt;b&amp;gt;error: previous declaration of `int yyparse()&#039;&amp;lt;/b&amp;gt;&lt;br /&gt;
** Tofu says... &#039;This appears to be a problem with some versions of flex/bison.  A resident reports success when comment out the &amp;lt;i&amp;gt;#ifdef __cplusplus&amp;lt;/i&amp;gt; lines in lscript/lscript_compile/indra.y&#039;&lt;br /&gt;
** Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: &amp;lt;b&amp;gt;undefined     &lt;br /&gt;
* Linking failures (&amp;quot;script not found&amp;quot;) due to spaces in the LINKFLAGS variable?&lt;br /&gt;
** I saw a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665538 report], and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.&lt;br /&gt;
&lt;br /&gt;
* Building [https://lists.secondlife.com/pipermail/sldev/2007-January/000091.html 20070112a] using &#039;&#039;BUILD=releasefordownload&#039;&#039; I get many &#039;&#039;[: 89: ==: unexpected operator&#039;&#039; errors; &#039;&#039;cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory&#039;&#039; error, and same thing for character, fonts, help, skins, res-sdl; &#039;&#039;[: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator&#039;&#039;. I can succesfully run the client from the source tree.&lt;br /&gt;
** i think this has been fixed --[[User:Signore Iredell|Signore Iredell]] 06:09, 9 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* scons: *** While building `[&#039;.../linden/indra/i686-linux-client-release/lscript/lscript_compile/indra.l.cpp&#039;]&#039;: Don&#039;t know how to build a file with suffix `.l&#039;.&lt;br /&gt;
** You probably don&#039;t have all the dependencies installed (I had the same problem). Check that you have flex and bison. --[[User:Random73 Janus|Random73 Janus]] 07:43, 16 May 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Something like: linden/indra/i686-linux-client-release/llrender/llimagegl.cpp:122: &amp;lt;b&amp;gt;error: `glActiveTextureARB&#039; was not declared in this scope&amp;lt;/b&amp;gt;	 &lt;br /&gt;
** Tofu says... &#039;You&#039;ll need to install OpenGL headers if you don&#039;t already have them: gl.h, glext.h, glu.h (The ones from &#039;mesa&#039; should work)	 &lt;br /&gt;
** two residents report good luck on Gentoo after doing &#039;eselect opengl set xorg-x11&#039; (&amp;lt;b&amp;gt;but note!!&amp;lt;/b&amp;gt; You must know what you&#039;re doing; this may change your default system OpenGL drivers, and you will probably want to change them back again after the compile, e.g. &#039;eselect opengl set nvidia&#039;)&#039;&lt;br /&gt;
&lt;br /&gt;
*Building Shared Library ELFIO [[Compiling_the_viewer_%28Linux%29]] on AMD64 ubuntu 6.10&lt;br /&gt;
     g++-3.4 -shared *.o -o libelfio.so&lt;br /&gt;
     /usr/bin/ld: ELFIDynamic.o: relocation R_X86_64_32 against `a local symbol&#039; can &lt;br /&gt;
     not be used when making a  shared object; recompile with -fPIC&lt;br /&gt;
     ELFIDynamic.o: could not read symbols: Bad value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Building Client on Ubuntu 7.04 AMD64&lt;br /&gt;
     /usr/bin/ld: skipping incompatible /home/dereck/Desktop/SLdev/linden/libraries/i686-linux/lib_release_client/libopenjpeg.a when searching for -lopenjpeg&lt;br /&gt;
     /usr/bin/ld: cannot find -lopenjpeg&lt;br /&gt;
     collect2: ld returned 1 exit status&lt;br /&gt;
** I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile  was happy after that. Although it&#039;s not done yet and I&#039;m still fixing another error, that I assume is unrelated.&lt;br /&gt;
&lt;br /&gt;
==== scons got wild ====&lt;br /&gt;
&lt;br /&gt;
* AttributeError: SConsEnvironment instance has no attribute &#039;CFile&#039;&lt;br /&gt;
: This probably means you have no bison, flex, or equivalent tools installed on the standard locations on your system.&lt;br /&gt;
:* When your system has no bison installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.y.c&#039;, source=&#039;lscript/lscript_compile/indra.y&#039;)&lt;br /&gt;
:* When your system has no flex installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.l.cpp&#039;, source=&#039;lscript/lscript_compile/indra.l&#039;)&lt;br /&gt;
: Installing the appropriate package should solve this issue.&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=45401</id>
		<title>Compiling the viewer (MSVS2003)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=45401"/>
		<updated>2007-12-21T14:10:22Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: glh includes/windlight assert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
The following instructions are for compiling the Second Life viewer on Windows for Visual Studio .Net 2003.  If you are using more recent versions of Visual Studio, see [[Compiling the viewer (MSVS2005)]]. For other platforms including MacOS and Linux, see [[Compiling the viewer]].&lt;br /&gt;
&lt;br /&gt;
If you get lost, or these instructions are incomplete, see [[communication tools]] for a list of ways to get in touch with people that can help.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Development Environment ==&lt;br /&gt;
The following dev environment is what LL uses for Windows development.  There is no reason that the Second Life viewer can not be built using other environments, but it will take some extra work.&lt;br /&gt;
&lt;br /&gt;
(Instructions for building the viewer using Microsoft&#039;s Visual Studio .NET 2005 Express can be found [[Compiling the viewer (MSVS2005)|on another page]]. At the time of writing, Express was freely available.)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Visual Studio .NET 2003 Professional ===&lt;br /&gt;
* Download and install [http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;amp;displaylang=en Microsoft Platform SDK]&lt;br /&gt;
* Download and install a DirectX 9.0 SDK released on or after Summer of 2003 [http://download.microsoft.com/download/5/1/f/51ff8357-0af3-418b-9d0b-e9a5cdc39759/dxsdk_dec2006.EXE DirectX 9.0 SDK (December 2006)] [http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298&amp;amp;displaylang=en DirectX 9.0 SDK Update (Summer 2003)]&lt;br /&gt;
** If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -&amp;gt; Add or Remove Programs) before installing this version.  Installing the new SDK &amp;quot;on top&amp;quot; of an older version may cause problems.&lt;br /&gt;
** Upon installing, it is sufficient to install the &#039;&#039;&#039;include&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; part.  Other DX development tools are not necessary.&lt;br /&gt;
* Set up the project globals:&lt;br /&gt;
** Start Visual C++&lt;br /&gt;
** Go to Tools/Options/Projects/VC++ Directories&lt;br /&gt;
** Make sure that the &#039;&#039;&#039;includes&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; paths are there (or otherwise add them) in the following order: 1) Platform SDK paths, 2) DirectX SDK paths, 3) Visual C++ paths&lt;br /&gt;
** If you are adding DirectX SDK paths, be aware that later versions of the DirectX SDK have subfolders inside the lib directory.  With those make sure you select &#039;&#039;&#039;lib/x86&#039;&#039;&#039;, not just &#039;&#039;&#039;lib&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Other Development Tools === &lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. The project files use several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039;, if it&#039;s not you&#039;ll need to edit those references.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** You should install this if compiling 1.18 or later viewers, or else hack the prebuild .bat files as in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears, that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
The easiest way to get this working is to get &#039;&#039;&#039;source&#039;&#039;&#039;, &#039;&#039;&#039;artwork&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; for the same version from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Avoid folder names with spaces in them (this means avoid putting the project into your &#039;&#039;My Documents&#039;&#039; folder).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
Some libraries can be distributed with the SL source and there is a library package available with the source.  As mentioned above (about the source), you can simply extract the &#039;&#039;&#039;library&#039;&#039;&#039; archive and copy the files to your code directory, maintaining the same directory structure.  &lt;br /&gt;
&lt;br /&gt;
If instead you are interested in compiling these libraries from their source (instead of using the above zipfile of precompiled libraries provided by Linden Lab), see [[Compiling the viewer libraries (MSVS 2003)]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Other Libraries ==&lt;br /&gt;
&lt;br /&gt;
Linden Lab included all the libraries/includes they can ship with their source, but we can not distribute the source to the following , and you will need to follow the instructions to acquire below.&lt;br /&gt;
&lt;br /&gt;
However, it probably is a good idea to build an empty directory tree for the files below and first copy the files there and once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY  olibs  sl_1_16_0_5 /S&#039;&#039;).  The reason is, that these steps are cumbersome and will have to be repeated for each new release (at least if you keep the source for each release in it&#039;s own folder).  &lt;br /&gt;
&lt;br /&gt;
If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&lt;br /&gt;
==== Fmod ====&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 api for win32].&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== gl ====&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== ares (viewer 1.18.4 ... for later releases first check if the ares.h and .lib files are already in the Linden library package) ====&lt;br /&gt;
* download c-ares 1.4 from [http://daniel.haxx.se/projects/c-ares/ here] and unpack it somewhere&lt;br /&gt;
* open vc.dsw from the c-ares/vc folder&lt;br /&gt;
* remove the adig and ahost projects from the vc workspace&lt;br /&gt;
* add ares_getnameinfo.c to the areslib project&lt;br /&gt;
* for areslib right-click, properties, Code Generation and set Runtime Library to /MT (release) and /MTd (debug)&lt;br /&gt;
* compile debug and release&lt;br /&gt;
* copy all c-ares\*.h files to linden\libraries\include\ares\*.h&lt;br /&gt;
* copy vc\areslib\Debug\*lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy vc\areslib\Release\*lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
&lt;br /&gt;
==== openjpeg (viewer 1.18.4 ... for later releases first check if the openjpeg.lib files are already in the Linden library package) ====&lt;br /&gt;
* download the latest OpenJPEG from [http://www.openjpeg.org/ here]&lt;br /&gt;
* open the libopenjpeg.dsw, let it convert and compile it (you&#039;ll need the files from the dllopenjpeg sub-project) &lt;br /&gt;
* copy debug\openjpeg.lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy release\openjpeg.lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
* copy release\openjpeg.dll to linden\indra\newview&lt;br /&gt;
&lt;br /&gt;
==== glh (Windlight only) ====&lt;br /&gt;
There are currently (as of Windlight 1.18.6.75762) glh-include files missing from the source distribution.  You should be able to grab them [http://www.blueflash.cc/users/nicholaz/~libs/ here] or download a patch from the [https://jira.secondlife.com/browse/VWR-3415 JIRA].  The files need to go into linden/libraries/include/glh/*.h&lt;br /&gt;
&lt;br /&gt;
==== Quicktime (Optional) ====&lt;br /&gt;
* &#039;&#039;&#039;Note:&#039;&#039;&#039; Quicktime download can be skipped &#039;&#039;&#039;if you can live with a build that does not play in-world movies&#039;&#039;&#039; (some minor modifications to the project are necessary then, see &amp;quot;QuickTime removal&amp;quot; on the build instructions for [[Compiling the viewer (MSVS2005)|Visual Studio 2005]]).&lt;br /&gt;
* Download &amp;amp; install the [http://developer.apple.com/quicktime/download/ Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Building ==&lt;br /&gt;
* Open the &#039;&#039;&#039;indra\indra_complete\indra_complete.sln&#039;&#039;&#039; solution in Visual Studio (Note: If you plan to work with multiple versions over time, you will find it useful to rename &#039;&#039;&#039;indra_complete.sln&#039;&#039;&#039; to something which contains the version number, e.g. &#039;&#039;&#039;indra_1_17_0_11.sln&#039;&#039;&#039; before opening)&lt;br /&gt;
* Set newview to be the startup project.&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; (for running/debugging production code).&lt;br /&gt;
* Note that the ReleaseForDownload build also contains debug information and can be run in the debugger.&lt;br /&gt;
* newview_noopt.exe will be built in \indra\newview\ReleaseNoOpt, or SecondLife.exe will be built in \indra\newview\ReleaseForDownload&lt;br /&gt;
* To run it outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (all the .dll will be found there.)&lt;br /&gt;
* Alternately copy the exe (possibly rename it) to your &amp;quot;c:\program files\second life&amp;quot; folder.&lt;br /&gt;
* There were additional steps required in version 1.15 which seem to be fixed now.  If you are trying to build 1.15 see an [https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2003%29&amp;amp;oldid=23026 older version of this page].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors while building? ==&lt;br /&gt;
See [[Common compilation problems]] if you run into errors while building.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Configurations/Debugging Info ==&lt;br /&gt;
* You will usually compile/debug the &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; or ReleaseForDownload configuration (&#039;&#039;&#039;Debug&#039;&#039;&#039; should also work but should not really be necessary).&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; runs fine in the debugger, but times you may miss debugger access to some local variables or the debugger may even show wrong values for objects and members, because it is confused by the optimizations.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session.&lt;br /&gt;
* You can see the last few lines from the debugger console also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug log (usually in application data) can also be redirected to a more file if you add &amp;quot;-log secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[Finding_leaks]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* Viewer Error: &#039;&#039;&#039;Second Life is unable to access a file that it needs.&#039;&#039;&#039;:  Did you neglect to download the Artworks archive from the [[source downloads]] page?  It is in the Viewer column, below the OS-specific Viewer archives.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and repoen it, before you can connect to the selected grid).&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* If you want to connect to the beta grid, add &#039;&#039;&#039;--aditi&#039;&#039;&#039; to the command line (Newview, Properties, Debugging, Command line argument).&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;assert with star_brightness&#039;&#039;&#039; and/or &#039;&#039;&#039;Black Screen&#039;&#039;&#039; under &#039;&#039;&#039;Windlight&#039;&#039;&#039;: Current distributions of the Windlight source are missing files from the app_settings/windlight folder.  Download the Linden Windlight viewer, install it and copy the files (and subfolders) into your development environment (linden/indra/newview/app_settings/windlight)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Submit Patches ==&lt;br /&gt;
This is probably far down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Bug_triage/2007-12-10&amp;diff=44224</id>
		<title>Bug triage/2007-12-10</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Bug_triage/2007-12-10&amp;diff=44224"/>
		<updated>2007-12-10T22:08:31Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Bug triage}}&lt;br /&gt;
&lt;br /&gt;
Next meeting: 2007-12-10 at Hippotropolis at noon SLT.  See [[Bug triage]] for details.&lt;br /&gt;
&lt;br /&gt;
== Fast Track Import ==&lt;br /&gt;
&lt;br /&gt;
(Move bugs here that have solid repros, or valid patches that you have reviewed)&lt;br /&gt;
&lt;br /&gt;
== Hot by Vote ==&lt;br /&gt;
* {{jira|VWR-3561}} - Votes: 13 - Blue Dialogs can overload the viewer. - {{User|WarKirby Magojiro}}&lt;br /&gt;
* {{jira|VWR-3559}} - Votes: 11 - Limit llMapDestination to one call per event. - {{User|WarKirby Magojiro}}&lt;br /&gt;
* {{jira|SVC-1038}} - Votes: 11 - Limit llMapDestination to one call per event. - {{User|WarKirby Magojiro}}&lt;br /&gt;
* {{jira|SVC-1041}} - Votes: 18 - (havok4) VEHICLE_FLAG_MOUSELOOK_STEER/VEHICLE_FLAG_MOUSELOOK_BANK flags broken - {{User|Drew Dwi}}&lt;br /&gt;
* {{jira|VWR-3634}} - Votes: 18 - Avatar shadows are too dark (pictures included) - {{User|hulk ah}}&lt;br /&gt;
* {{jira|VWR-1286}} - Votes: 12 - alt-zooming on hollow face mishandled - {{User|Lex Neva}}&lt;br /&gt;
* {{jira|SVC-459}} - Votes: 13 - De-Link on Border Crossing - {{User|Smith Fizz}}&lt;br /&gt;
&lt;br /&gt;
== Patches ==&lt;br /&gt;
* {{jira|VWR-3616}} - Votes: 3 - The New (given) Landmark floater misses the &amp;quot;&amp;quot;Discard&amp;quot;&amp;quot; button in v1.18.5 viewers. - {{User|Henri Beauchamp}}&lt;br /&gt;
* {{jira|VWR-3619}} - Votes: 0 - An incorrect comment in llfont.h - {{User|Alissa Sabre}}&lt;br /&gt;
* {{jira|VWR-3748}} - Votes: 0 - Builds fail on 1.18.6 RC if not using MOZLIB due to missing #if LL_LIBXUL_ENABLED in 3 places in indra/newview/llpanellogin.cpp - {{User|Scrippy Scofield}}&lt;br /&gt;
* {{jira|VWR-3655}} - Votes: 0 - Extra qualifier in LLWaterParamSet definition, making gcc choke (considered an error). - {{User|Henri Beauchamp}}&lt;br /&gt;
* {{jira|SVC-1047}} - Votes: 0 - Quaternion multiplication works in reverse order in LSL as in maths - {{User|catherine pfeffer}}&lt;br /&gt;
* {{jira|VWR-3777}} - Votes: 1 - memory leak:  LLVoiceVisualizer instances are immortal - {{User|Mm Alder}}&lt;br /&gt;
*: ([[User:Nicholaz Beresford|Nicholaz]] 14:08, 10 December 2007 (PST) : has my vote, I verified it (with and without patch) in the debugger )&lt;br /&gt;
&lt;br /&gt;
== Misc Pool ==&lt;br /&gt;
* {{jira|VWR-3433}} - Votes: 0 - Camera &amp;quot;&amp;quot;underwater mode&amp;quot;&amp;quot; activated on water level of region agent is in - {{User|Daedalus Young}}&lt;br /&gt;
* {{jira|VWR-2841}} - Votes: 3 - Packet loss - {{User|DBDigital Epsilon}}&lt;br /&gt;
* {{jira|SVC-1006}} - Votes: 0 - Unable to revoke permissions - {{User|Monica Balut}}&lt;br /&gt;
* {{jira|WEB-405}} - Votes: 0 - SLMAP API - disableVoiceInfo not working - {{User|Gypsy Paz}}&lt;br /&gt;
* {{jira|VWR-3507}} - Votes: 0 - Windlight: Lifespan of &amp;quot;&amp;quot;growing&amp;quot;&amp;quot; particles less than the PSYS_PART_MAX_AGE requested - {{User|Leendert Meriman}}&lt;br /&gt;
* {{jira|VWR-3509}} - Votes: 0 - RenderUI Takes up 75% of rendering time. - {{User|Radian Artaud}}&lt;br /&gt;
* {{jira|VWR-2498}} - Votes: 2 - llTargetOmega() does not rotate object on some drivers - {{User|Dzonatas Sol}}&lt;br /&gt;
* {{jira|SVC-1027}} - Votes: 0 - llSetParcelMusicURL will unload video playing. - {{User|anthony reisman}}&lt;br /&gt;
* {{jira|SVC-1019}} - Votes: 0 - Objects moved off parcel and autoreturned, ownership of many other objects changed - {{User|Maximillian Desoto}}&lt;br /&gt;
* {{jira|MISC-831}} - Votes: 0 - Mac OS X RC &amp;amp; WL Disk Images have no background - {{User|Daedalus Young}}&lt;br /&gt;
* {{jira|VWR-3416}} - Votes: 1 - Dramatic performance drop when avatar is in view - {{User|Umbra Lunardi}}&lt;br /&gt;
* {{jira|SVC-961}} - Votes: 3 - can easily walk up walls in havok 4 beta - {{User|Lex Neva}}&lt;br /&gt;
* {{jira|WEB-406}} - Votes: 0 - SLMAP API - Map images very outdated - {{User|Gypsy Paz}}&lt;br /&gt;
* {{jira|WEB-309}} - Votes: 1 - Transaction History .xls is unable to be opened by iWorks 08 - {{User|Drew Dwi}}&lt;br /&gt;
* {{jira|VWR-3627}} - Votes: 0 - Graphics Card Crashes on logout. - {{User|Kilmarac Drago}}&lt;br /&gt;
* {{jira|VWR-3521}} - Votes: 0 - Oddly shapes Horizons in Windlight above about 600 meters and very well defined sim corners above just 50 meters - {{User|sean marsi}}&lt;br /&gt;
* {{jira|VWR-3514}} - Votes: 0 - Windlight client 1.18.5 (74642) graphics rendering problem on medium quality settings with nVidia chipset at high altitudes - {{User|Dark Troglodite}}&lt;br /&gt;
* {{jira|VWR-3523}} - Votes: 0 - The Void water is rendered at too high of a level for me - {{User|sean marsi}}&lt;br /&gt;
* {{jira|VWR-3522}} - Votes: 0 - Object-Object Occlusion Possible Memory Leak - Windlight 1.18.5 (74642) - {{User|fa nyak}}&lt;br /&gt;
* {{jira|VWR-3629}} - Votes: 0 - Extreme lag and crash on logout - {{User|Barrett Slade}}&lt;br /&gt;
* {{jira|VWR-3373}} - Votes: 2 - Daylight settings in Estate tools missing - {{User|Ralf Haifisch}}&lt;br /&gt;
* {{jira|VWR-3118}} - Votes: 2 - Windlight: Bump Mapping and Shiny display problems - {{User|Braya White}}&lt;br /&gt;
* {{jira|SVC-1030}} - Votes: 0 - Particle objects are not working correctly on Sim Galactica and working correctly on other sims - {{User|cammi hudson}}&lt;br /&gt;
* {{jira|VWR-3630}} - Votes: 0 - Avatar disspears when camera zooms out - {{User|Nadja Travanti}}&lt;br /&gt;
* {{jira|VWR-3362}} - Votes: 4 - WindLight: avatar imposters not being rendered; avatars completely disappear - {{User|Shirley Marquez}}&lt;br /&gt;
* {{jira|SVC-976}} - Votes: 3 - Repeated Crashes - {{User|MyoKa Murakami}}&lt;br /&gt;
* {{jira|SVC-872}} - Votes: 0 - Havok4 Beta: Eye texture not loaded. - {{User|Kitto Flora}}&lt;br /&gt;
* {{jira|VWR-3633}} - Votes: 0 - Avatar impostor of not-yet-rezzed avatar not appearing - {{User|Shirley Marquez}}&lt;br /&gt;
* {{jira|VWR-3527}} - Votes: 1 - Windlight 1.18.5.74642 reports insufficient hardware on first start with more than adequate hardware - {{User|Hiri Nurmi}}&lt;br /&gt;
* {{jira|VWR-3134}} - Votes: 5 - Windlight viewer : new water not working - {{User|Atsuko Otsuka}}&lt;br /&gt;
* {{jira|VWR-3105}} - Votes: 2 - Graphical tearing has gotten worse - {{User|Feynt Mistral}}&lt;br /&gt;
* {{jira|VWR-3536}} - Votes: 0 - Highlights on objects dissappear when moving while using land info tools - {{User|Ryder Dryke}}&lt;br /&gt;
* {{jira|VWR-3532}} - Votes: 0 - New water shaders + reflections no longer work with &amp;quot;&amp;quot;Atmospheric Shaders&amp;quot;&amp;quot; unchecked - {{User|Kitty Barnett}}&lt;br /&gt;
* {{jira|VWR-3636}} - Votes: 0 - UPDATE- prim(s) Data corruption issue - {{User|Rascal Ratelle}}&lt;br /&gt;
&lt;br /&gt;
== Pre-meeting activity ==&lt;br /&gt;
&lt;br /&gt;
Some issues will be resolved in the course of building this agenda.  Rather than deleting them from the proposed agenda, move the issue and associated discussion into the appropriate section below.&lt;br /&gt;
&lt;br /&gt;
=== Imported ===&lt;br /&gt;
&lt;br /&gt;
=== Resolved ===&lt;br /&gt;
&lt;br /&gt;
== Transcript ==&lt;br /&gt;
Transcript is/will be at [[{{PAGENAME}}/Transcript]]&lt;br /&gt;
&lt;br /&gt;
== Creating An Agenda ==&lt;br /&gt;
{{Bug List Instructions}}&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=41429</id>
		<title>Compiling the viewer (MSVS2003)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=41429"/>
		<updated>2007-11-24T18:55:53Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: ares/openjpeg for releases after 1.18.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
The following instructions are for compiling the Second Life viewer on Windows for Visual Studio .Net 2003.  If you are using more recent versions of Visual Studio, see [[Compiling the viewer (MSVS2005)]]. For other platforms including MacOS and Linux, see [[Compiling the viewer]].&lt;br /&gt;
&lt;br /&gt;
If you get lost, or these instructions are incomplete, see [[communication tools]] for a list of ways to get in touch with people that can help.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Development Environment ==&lt;br /&gt;
The following dev environment is what LL uses for Windows development.  There is no reason that the Second Life viewer can not be built using other environments, but it will take some extra work.&lt;br /&gt;
&lt;br /&gt;
(Instructions for building the viewer using Microsoft&#039;s Visual Studio .NET 2005 Express can be found [[Compiling the viewer (MSVS2005)|on another page]]. At the time of writing, Express was freely available.)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Visual Studio .NET 2003 Professional ===&lt;br /&gt;
* Download and install [http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;amp;displaylang=en Microsoft Platform SDK]&lt;br /&gt;
* Download and install a DirectX 9.0 SDK released on or after Summer of 2003 [http://download.microsoft.com/download/5/1/f/51ff8357-0af3-418b-9d0b-e9a5cdc39759/dxsdk_dec2006.EXE DirectX 9.0 SDK (December 2006)] [http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298&amp;amp;displaylang=en DirectX 9.0 SDK Update (Summer 2003)]&lt;br /&gt;
** If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -&amp;gt; Add or Remove Programs) before installing this version.  Installing the new SDK &amp;quot;on top&amp;quot; of an older version may cause problems.&lt;br /&gt;
** Upon installing, it is sufficient to install the &#039;&#039;&#039;include&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; part.  Other DX development tools are not necessary.&lt;br /&gt;
* Set up the project globals:&lt;br /&gt;
** Start Visual C++&lt;br /&gt;
** Go to Tools/Options/Projects/VC++ Directories&lt;br /&gt;
** Make sure that the &#039;&#039;&#039;includes&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; paths are there (or otherwise add them) in the following order: 1) Platform SDK paths, 2) DirectX SDK paths, 3) Visual C++ paths&lt;br /&gt;
** If you are adding DirectX SDK paths, be aware that later versions of the DirectX SDK have subfolders inside the lib directory.  With those make sure you select &#039;&#039;&#039;lib/x86&#039;&#039;&#039;, not just &#039;&#039;&#039;lib&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Other Development Tools === &lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. The project files use several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039;, if it&#039;s not you&#039;ll need to edit those references.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** You should install this if compiling 1.18 or later viewers, or else hack the prebuild .bat files as in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears, that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
The easiest way to get this working is to get &#039;&#039;&#039;source&#039;&#039;&#039;, &#039;&#039;&#039;artwork&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; for the same version from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Avoid folder names with spaces in them (this means avoid putting the project into your &#039;&#039;My Documents&#039;&#039; folder).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
Some libraries can be distributed with the SL source and there is a library package available with the source.  As mentioned above (about the source), you can simply extract the &#039;&#039;&#039;library&#039;&#039;&#039; archive and copy the files to your code directory, maintaining the same directory structure.  &lt;br /&gt;
&lt;br /&gt;
If instead you are interested in compiling these libraries from their source (instead of using the above zipfile of precompiled libraries provided by Linden Lab), see [[Compiling the viewer libraries (MSVS 2003)]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Other Libraries ==&lt;br /&gt;
&lt;br /&gt;
Linden Lab included all the libraries/includes they can ship with their source, but we can not distribute the source to the following , and you will need to follow the instructions to acquire below.&lt;br /&gt;
&lt;br /&gt;
However, it probably is a good idea to build an empty directory tree for the files below and first copy the files there and once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY  olibs  sl_1_16_0_5 /S&#039;&#039;).  The reason is, that these steps are cumbersome and will have to be repeated for each new release (at least if you keep the source for each release in it&#039;s own folder).  &lt;br /&gt;
&lt;br /&gt;
If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&lt;br /&gt;
==== Fmod ====&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 api for win32].&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== gl ====&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== ares (viewer 1.18.4 ... for later releases first check if the ares.h and .lib files are already in the Linden library package) ====&lt;br /&gt;
* download c-ares 1.4 from [http://daniel.haxx.se/projects/c-ares/ here] and unpack it somewhere&lt;br /&gt;
* open vc.dsw from the c-ares/vc folder&lt;br /&gt;
* remove the adig and ahost projects from the vc workspace&lt;br /&gt;
* add ares_getnameinfo.c to the areslib project&lt;br /&gt;
* for areslib right-click, properties, Code Generation and set Runtime Library to /MT (release) and /MTd (debug)&lt;br /&gt;
* compile debug and release&lt;br /&gt;
* copy all c-ares\*.h files to linden\libraries\include\ares\*.h&lt;br /&gt;
* copy vc\areslib\Debug\*lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy vc\areslib\Release\*lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
&lt;br /&gt;
==== openjpeg (viewer 1.18.4 ... for later releases first check if the openjpeg.lib files are already in the Linden library package) ====&lt;br /&gt;
* download the latest OpenJPEG from [http://www.openjpeg.org/ here]&lt;br /&gt;
* open the libopenjpeg.dsw, let it convert and compile it (you&#039;ll need the files from the dllopenjpeg sub-project) &lt;br /&gt;
* copy debug\openjpeg.lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy release\openjpeg.lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
* copy release\openjpeg.dll to linden\indra\newview&lt;br /&gt;
&lt;br /&gt;
==== Quicktime (Optional) ====&lt;br /&gt;
* &#039;&#039;&#039;Note:&#039;&#039;&#039; Quicktime download can be skipped &#039;&#039;&#039;if you can live with a build that does not play in-world movies&#039;&#039;&#039; (some minor modifications to the project are necessary then, see &amp;quot;QuickTime removal&amp;quot; on the build instructions for [[Compiling the viewer (MSVS2005)|Visual Studio 2005]]).&lt;br /&gt;
* Download &amp;amp; install the [http://developer.apple.com/quicktime/download/ Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Building ==&lt;br /&gt;
* Open the &#039;&#039;&#039;indra\indra_complete\indra_complete.sln&#039;&#039;&#039; solution in Visual Studio (Note: If you plan to work with multiple versions over time, you will find it useful to rename &#039;&#039;&#039;indra_complete.sln&#039;&#039;&#039; to something which contains the version number, e.g. &#039;&#039;&#039;indra_1_17_0_11.sln&#039;&#039;&#039; before opening)&lt;br /&gt;
* Set newview to be the startup project.&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; (for running/debugging production code).&lt;br /&gt;
* Note that the ReleaseForDownload build also contains debug information and can be run in the debugger.&lt;br /&gt;
* newview_noopt.exe will be built in \indra\newview\ReleaseNoOpt, or SecondLife.exe will be built in \indra\newview\ReleaseForDownload&lt;br /&gt;
* To run it outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (all the .dll will be found there.)&lt;br /&gt;
* Alternately copy the exe (possibly rename it) to your &amp;quot;c:\program files\second life&amp;quot; folder.&lt;br /&gt;
* There were additional steps required in version 1.15 which seem to be fixed now.  If you are trying to build 1.15 see an [https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2003%29&amp;amp;oldid=23026 older version of this page].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors while building? ==&lt;br /&gt;
See [[Common compilation problems]] if you run into errors while building.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Configurations/Debugging Info ==&lt;br /&gt;
* You will usually compile/debug the &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; or ReleaseForDownload configuration (&#039;&#039;&#039;Debug&#039;&#039;&#039; should also work but should not really be necessary).&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; runs fine in the debugger, but times you may miss debugger access to some local variables or the debugger may even show wrong values for objects and members, because it is confused by the optimizations.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session.&lt;br /&gt;
* You can see the last few lines from the debugger console also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug log (usually in application data) can also be redirected to a more file if you add &amp;quot;-log secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[Finding_leaks]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* Viewer Error: &#039;&#039;&#039;Second Life is unable to access a file that it needs.&#039;&#039;&#039;:  Did you neglect to download the Artworks archive from the [[source downloads]] page?  It is in the Viewer column, below the OS-specific Viewer archives.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and repoen it, before you can connect to the selected grid).&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* If you want to connect to the beta grid, add &#039;&#039;&#039;--aditi&#039;&#039;&#039; to the command line (Newview, Properties, Debugging, Command line argument).&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Submit Patches ==&lt;br /&gt;
This is probably far down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=41428</id>
		<title>Compiling the viewer (MSVS2005)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=41428"/>
		<updated>2007-11-24T18:54:43Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: ares/openjpeg for releases after 1.18.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
This page explains how you can compile the viewer on Microsoft Windows using Visual Studio 2005 or Visual C++ Express 2005.  Note that Lindens are using VS2003 and the whole setup is a bit easier there, so if you have Visual Studio 2003 available, you should read [[Compiling the viewer (MSVS2003)|compiling with VS2003]] and you will get less trouble with it than with VS2005. &lt;br /&gt;
&lt;br /&gt;
Currently, only 32 bit binary is tested.  There seems to be several trials to produce 64 bit Windows .EXE of the viewer.  If you did, please write your experience on this wiki (regardless it was successful or not!)&lt;br /&gt;
&lt;br /&gt;
The following explanation is adjusted for Viewer releases 1.16.0.5 or later.  See an [http://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2005%29&amp;amp;oldid=22294 older version of this page] for the Viewer releases 1.15 or before.&lt;br /&gt;
&lt;br /&gt;
= Preparing the Development Environment =&lt;br /&gt;
&lt;br /&gt;
== Installing/Configuring VS2005 ==&lt;br /&gt;
&lt;br /&gt;
You need to setup the compiler and Microsoft Development tools as follows:&lt;br /&gt;
* Visual Studio 2005 &#039;&#039;&#039;&#039;&#039;-or-&#039;&#039;&#039;&#039;&#039; [http://msdn.microsoft.com/vstudio/express/visualc/download/ Visual C++ 2005 Express]&amp;lt;small&amp;gt;(Free)&amp;lt;/small&amp;gt; (Also, although not strictly necessary, eventually pick up and install SP1 for VS2005.)&lt;br /&gt;
* [http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;amp;displaylang=en Microsoft Platform SDK]&lt;br /&gt;
* A DirectX 9.0 SDK released on or after Summer of 2003 [http://download.microsoft.com/download/5/1/f/51ff8357-0af3-418b-9d0b-e9a5cdc39759/dxsdk_dec2006.EXE DirectX 9.0 SDK (December 2006)] [http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298&amp;amp;displaylang=en DirectX 9.0 SDK Update (Summer 2003)]&lt;br /&gt;
: &#039;&#039;&#039;Note&#039;&#039;&#039;: If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -&amp;gt; Add or Remove Programs) before installing this version.  Installing the new SDK &amp;quot;on top&amp;quot; of an older version may cause problems.&lt;br /&gt;
* Set up the project globals:&lt;br /&gt;
** Start Microsoft Visual Studio 2005&lt;br /&gt;
** Go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories&lt;br /&gt;
** Make sure that the &#039;&#039;&#039;includes&#039;&#039;&#039; ([[:Image:MSVS2005 Global Project Options Include Files.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]) and &#039;&#039;&#039;libraries&#039;&#039;&#039; ([[:Image:MSVS2005 Global Project Options Library Files.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]) paths have the Platform SDK paths first, then the DirectX SDK paths, and then the Visual C++ paths. You may need to check &amp;quot;Show All Settings&amp;quot; at the bottom for VC++ Directories to show.&lt;br /&gt;
*** Default installation of both Platform SDK and DirectX SDK can be found in &#039;&#039;&#039;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2&#039;&#039;&#039; and &#039;&#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)&#039;&#039;&#039; respectively.&lt;br /&gt;
** If the DirectX SDK paths aren&#039;t present, add them to both &#039;&#039;&#039;includes&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039;.&lt;br /&gt;
*: Note: The newest DirectX SDK (&amp;quot;December 2006&amp;quot;) lib folder has two sub-folders, x64 and x86.  Make sure your path goes to one of them (select &#039;&#039;&#039;lib/x86&#039;&#039;&#039;, not just &#039;&#039;&#039;lib&#039;&#039;&#039;), or you will get a Link error.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getting other Development Tools ==&lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. The project files use several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039;, if it&#039;s not you&#039;ll need to edit those references.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** It is required but can be avoided if you are compiling 1.18 or later viewers.  Either download and install or hack the prebuild.bat files as described in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears, that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Downloading Source Code =&lt;br /&gt;
&lt;br /&gt;
You can download the Viewer source codes on the [[source downloads]] page.  You can also use a [[version control repository]].&lt;br /&gt;
&lt;br /&gt;
At a minimum, grab the source package and the artwork package, but for a start, also grab the library archive.  Many of the libraries can either be compiled from source or downloaded from other sites (see below), but this will take hours and thus it is easiest to also get the package with libraries compiled by the Lindens.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039;&lt;br /&gt;
* If the directory path you keep the SL source in has a space in it, the batch file that copies message_template.msg will fail. So, if you unzip or checkout the source tree into, e.g., &amp;quot;C:\Projects\Dir with space in name\Etc\linden&amp;quot;, it won&#039;t work!&lt;br /&gt;
* You should also avoid using non-ASCII (national) characters in the paths, although some localized versions of the tool puts some as a default...&lt;br /&gt;
* Unzip or checkout your source tree into a directory that has as short full pathname as possible, since long paths cause some unexpected trouble during the build.&lt;br /&gt;
&lt;br /&gt;
In other words, the easiest way to get this working is to get &#039;&#039;source&#039;&#039;, &#039;&#039;artwork&#039;&#039; and &#039;&#039;libraries&#039;&#039; from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installing Libraries =&lt;br /&gt;
&lt;br /&gt;
SL Viewer depends on some third party libraries.  Some of them are open source, some others are not.&lt;br /&gt;
&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
You can download the pre-build open source libraries from LL.  They are available on [[source downloads]] page.  Unzip them into your SL viewer source code directory, maintaining the same directory structure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: The VS2003 libraries provided in the [[source downloads]] do not fully work with VS2005 compiled binaries. They will compile with the viewer under VS2005, but the VS2003 libraries are not fully STL compliant. The differences of [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/vclrfnonstandardbehavior.asp non-standard behavior in MSVS] are the known cause.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alternatively, it may be possible to get the source files for the libraries and build by yourself.  See [[Compiling the viewer libraries (MSVS 2003)|the instruction for VS2003 users]] if you try it.  Please note, however, it is not known that VS2005 can successfully compile the libraries.  &#039;&#039;&#039;You have been warned.&#039;&#039;&#039;  (If you can make it, please write the info on this wiki...)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Proprietary Libraries ==&lt;br /&gt;
&lt;br /&gt;
Lindens does not inlcude the following proprietary libraries.  You will need to follow the instructions to acquire below and copy them to the source path.&lt;br /&gt;
&lt;br /&gt;
However, it probably is a good idea to build an empty directory tree for the files below and first copy the files there and once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY OLIB SL_1_16_0_5 /S&#039;&#039;).  The reason is, that these steps are cumbersome and will have to be repeated for each new release (at least if you keep the source for each release in it&#039;s own folder).  If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Fmod ===&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 api for win32] (later versions, like FMOD Ex, are incompatible).&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenGL ===&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
* You don&#039;t need any additional *.lib or *.dll for OpenGL.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ares (viewer 1.18.4 ... for later releases first check if the ares.h and .lib files are in the Linden library package) ===&lt;br /&gt;
* download c-ares 1.4 from [http://daniel.haxx.se/projects/c-ares/ here] and unpack it somewhere&lt;br /&gt;
* open vc.dsw from the c-ares/vc folder&lt;br /&gt;
* remove the adig and ahost projects from the vc workspace&lt;br /&gt;
* add ares_getnameinfo.c to the areslib project&lt;br /&gt;
* for areslib right-click, properties, Code Generation and set Runtime Library to /MT (release) and /MTd (debug)&lt;br /&gt;
* compile debug and release&lt;br /&gt;
* copy all c-ares\*.h files to linden\libraries\include\ares\*.h&lt;br /&gt;
* copy vc\areslib\Debug\*lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy vc\areslib\Release\*lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== openjpeg (viewer 1.18.4 ... for later releases first check if the openjpeg.lib files are in the Linden library package) ===&lt;br /&gt;
* download the latest OpenJPEG from [http://www.openjpeg.org/ here]&lt;br /&gt;
* open the libopenjpeg.dsw, let it convert and compile it (you&#039;ll need the files from the dllopenjpeg sub-project) &lt;br /&gt;
* copy debug\openjpeg.lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy release\openjpeg.lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
* copy release\openjpeg.dll to linden\indra\newview&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Quicktime &#039;&#039;(optional)&#039;&#039; ===&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This download requires a registration at the Apple Quicktime website and take a bit of time.  You can avoid using QuickTime if you want, see [[#QuickTime removal|below]] for details.  Remember that your viewer &#039;&#039;&#039;can&#039;t play in-world movies&#039;&#039;&#039; if you do so.&lt;br /&gt;
* Download &amp;amp; install the [http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/203/wa/getSoftware?fileID=20525&amp;amp;code=y&amp;amp;source=x&amp;amp;wosid=4h16WcyMtVfd2P1EffGafkoxFcr Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to  &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuring for VS2005 =&lt;br /&gt;
&lt;br /&gt;
Lindens use VS2003 to develop the viewer.  &lt;br /&gt;
&lt;br /&gt;
You either need to convert &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039; from VS2003 format to VS2005 format or obtain files compatible with VS2005.  You may also need to modify source files to work around the incompatibility between VS2003 and VS2005.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: linden\indra\indra_complete_vs8.sln is a solution file already included in the source archive and intended for the Visual Studio 2005, but it &#039;&#039;&#039;does not work&#039;&#039;&#039; (at least between 1.14.0 and 1.17.0.9 distribution).  This may change in a future release, if Lindens include an updated versions of the &#039;&#039;&#039;_vc8&#039;&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Using pre-built solution/project files ==&lt;br /&gt;
&lt;br /&gt;
Currently there is a ZIP file with solution/project files available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151].  &lt;br /&gt;
&lt;br /&gt;
If you are building 1.16 or later, the easiest way towards compiling SL on MS2005 will be to use the zip file mentioned above.  The details is as follows:&lt;br /&gt;
* Download the appropriate ZIP archive from JIRA.&lt;br /&gt;
* Unpack it and copy it onto your linden source tree (allow to overwrite files that have &#039;&#039;&#039;_vc8&#039;&#039;&#039; in the name).&lt;br /&gt;
* Start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* Use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete&#039;&#039;&#039;_vc8&#039;&#039;&#039;.sln (Note: If you plan to work with multiple versions over time, you will find it useful to rename &#039;&#039;&#039;indra_complete_vc8.sln&#039;&#039;&#039; to something which contains the version number, e.g. &#039;&#039;&#039;indra_1_17_0_11_vc8.sln&#039;&#039;&#039; before opening.)&lt;br /&gt;
* Right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* Proceed with applying the &#039;&#039;&#039;Workarounds&#039;&#039;&#039; below (skip &#039;&#039;&#039;Manual conversion&#039;&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The solution/project files depends on the viewer release version.  If you are compiling some specific version of the viewer, and the {{JIRA|VWR-1151}} doesn&#039;t list the zip file for you version, you can try using the most close one.  If, while compiling, you later encounter errors or problems regarding the projects, you may have to do the manual conversion instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manual conversion of the solution/projects ==&lt;br /&gt;
&lt;br /&gt;
If you can not find a set of project files (see above), there are instructions available how to manually do it: [[Converting_project_files_for_MSVS2005]] (this step will take about 5-15 minutes, depending on how proficient you are using VS2005).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workarounds ==&lt;br /&gt;
&lt;br /&gt;
There are more compatibility problems between VS2003 and VS2005.  You need the following code edits.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== test project/crash_logger/updater ===&lt;br /&gt;
&lt;br /&gt;
For whatever reason, the &#039;&#039;&#039;test&#039;&#039;&#039; project doesn&#039;t work under VS2005.  Workaround is to disable it as follows: Right click on the &#039;&#039;&#039;test&#039;&#039;&#039; and choose &#039;&#039;&#039;Unload Project&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not plan to create a full download build, you can exclude the &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; from newview&#039;s project dependencies and unload them also.  But be careful with unloading these projects without removing them from the dependencies, because I have seen VS2005 act highly erratic while linking then project when I tried this.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== QuickTime removal ===&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to get Apple QuickTime SDK, you can disable it as follows:&lt;br /&gt;
*linden\indra\llcommon\llpreprocessor.h - near line 58 (the line below &#039;&#039;&#039;#elif LL_WINDOWS&#039;&#039;&#039;)&lt;br /&gt;
 --50: #define LL_QUICKTIME_ENABLED	1&lt;br /&gt;
 ++50: #define LL_QUICKTIME_ENABLED	&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box beside the green arrow under the tool bar, and do the followings on the Solution Explorer frame:&lt;br /&gt;
*Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.&lt;br /&gt;
**Choose Properties.&lt;br /&gt;
**Under Configuration Properties &amp;gt; Linker &amp;gt; Input, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
**Scroll down the list to find &#039;&#039;&#039;qtmlclient.lib&#039;&#039;&#039;.  Delete this single line.&lt;br /&gt;
**Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box. Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone and do the same thing again.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Ready, Set, Build! =&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; (for production code).&lt;br /&gt;
* To do this, pick either in the Solution Configurations drop-down box beside the green arrow under the tool bar.&lt;br /&gt;
* Make sure &#039;&#039;&#039;newview&#039;&#039;&#039; is set as the active project (otherwise set from newview&#039;s right-click menu).&lt;br /&gt;
* Select Build-Menu &amp;gt; Build Solution or press F7.&lt;br /&gt;
* newview_noopt.exe will be built in linden\indra\newview\ReleaseNoOpt or SecondLife.exe will be linden\indra\newview\ReleaseForDownload.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Common compile errors ==&lt;br /&gt;
* See [[common compilation problems]] if you run into other errors while building.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Running ==&lt;br /&gt;
* You can run the viewer by &#039;&#039;&#039;Debug &amp;gt; Start Debugging&#039;&#039;&#039; or &#039;&#039;&#039;Debug &amp;gt; Start Without Debugging&#039;&#039;&#039; in Visual Studio. &lt;br /&gt;
* To run it outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (All the .dll will be found there.)&lt;br /&gt;
* Alternately copy the exe (possibly rename it) to your &amp;quot;c:\program files\secondlife&amp;quot; folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Debugging Info/Configurations ==&lt;br /&gt;
* Usually you will either use &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; or the &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; configuration.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (not optimized) compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; also has debugging information and runs fine in the debugger (although at times you may miss access to some local variables).&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session, but you can access the same information also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug console log can also be redirected to a file if you add &amp;quot;2&amp;gt;secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[finding leaks]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and repoen it, before you can connect to the selected grid).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Submit Patches =&lt;br /&gt;
This is probably faaar down the road, but if you make changes to the source and want to submit them, see the page about [[submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=40278</id>
		<title>Compiling the viewer (MSVS2005)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=40278"/>
		<updated>2007-11-13T17:50:43Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
This page explains how you can compile the viewer on Microsoft Windows using Visual Studio 2005 or Visual C++ Express 2005.  Note that Lindens are using VS2003 and the whole setup is a bit easier there, so if you have Visual Studio 2003 available, you should read [[Compiling the viewer (MSVS2003)|compiling with VS2003]] and you will get less trouble with it than with VS2005. &lt;br /&gt;
&lt;br /&gt;
Currently, only 32 bit binary is tested.  There seems to be several trials to produce 64 bit Windows .EXE of the viewer.  If you did, please write your experience on this wiki (regardless it was successful or not!)&lt;br /&gt;
&lt;br /&gt;
The following explanation is adjusted for Viewer releases 1.16.0.5 or later.  See an [http://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2005%29&amp;amp;oldid=22294 older version of this page] for the Viewer releases 1.15 or before.&lt;br /&gt;
&lt;br /&gt;
= Preparing the Development Environment =&lt;br /&gt;
&lt;br /&gt;
== Installing/Configuring VS2005 ==&lt;br /&gt;
&lt;br /&gt;
You need to setup the compiler and Microsoft Development tools as follows:&lt;br /&gt;
* Visual Studio 2005 &#039;&#039;&#039;&#039;&#039;-or-&#039;&#039;&#039;&#039;&#039; [http://msdn.microsoft.com/vstudio/express/visualc/download/ Visual C++ 2005 Express]&amp;lt;small&amp;gt;(Free)&amp;lt;/small&amp;gt; (Also, although not strictly necessary, eventually pick up and install SP1 for VS2005.)&lt;br /&gt;
* [http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;amp;displaylang=en Microsoft Platform SDK]&lt;br /&gt;
* A DirectX 9.0 SDK released on or after Summer of 2003 [http://download.microsoft.com/download/5/1/f/51ff8357-0af3-418b-9d0b-e9a5cdc39759/dxsdk_dec2006.EXE DirectX 9.0 SDK (December 2006)] [http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298&amp;amp;displaylang=en DirectX 9.0 SDK Update (Summer 2003)]&lt;br /&gt;
: &#039;&#039;&#039;Note&#039;&#039;&#039;: If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -&amp;gt; Add or Remove Programs) before installing this version.  Installing the new SDK &amp;quot;on top&amp;quot; of an older version may cause problems.&lt;br /&gt;
* Set up the project globals:&lt;br /&gt;
** Start Microsoft Visual Studio 2005&lt;br /&gt;
** Go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories&lt;br /&gt;
** Make sure that the &#039;&#039;&#039;includes&#039;&#039;&#039; ([[:Image:MSVS2005 Global Project Options Include Files.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]) and &#039;&#039;&#039;libraries&#039;&#039;&#039; ([[:Image:MSVS2005 Global Project Options Library Files.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]) paths have the Platform SDK paths first, then the DirectX SDK paths, and then the Visual C++ paths. You may need to check &amp;quot;Show All Settings&amp;quot; at the bottom for VC++ Directories to show.&lt;br /&gt;
*** Default installation of both Platform SDK and DirectX SDK can be found in &#039;&#039;&#039;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2&#039;&#039;&#039; and &#039;&#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)&#039;&#039;&#039; respectively.&lt;br /&gt;
** If the DirectX SDK paths aren&#039;t present, add them to both &#039;&#039;&#039;includes&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039;.&lt;br /&gt;
*: Note: The newest DirectX SDK (&amp;quot;December 2006&amp;quot;) lib folder has two sub-folders, x64 and x86.  Make sure your path goes to one of them (select &#039;&#039;&#039;lib/x86&#039;&#039;&#039;, not just &#039;&#039;&#039;lib&#039;&#039;&#039;), or you will get a Link error.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getting other Development Tools ==&lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. The project files use several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039;, if it&#039;s not you&#039;ll need to edit those references.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** It is required but can be avoided if you are compiling 1.18 or later viewers.  Either download and install or hack the prebuild.bat files as described in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears, that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Downloading Source Code =&lt;br /&gt;
&lt;br /&gt;
You can download the Viewer source codes on the [[source downloads]] page.  You can also use a [[version control repository]].&lt;br /&gt;
&lt;br /&gt;
At a minimum, grab the source package and the artwork package, but for a start, also grab the library archive.  Many of the libraries can either be compiled from source or downloaded from other sites (see below), but this will take hours and thus it is easiest to also get the package with libraries compiled by the Lindens.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039;&lt;br /&gt;
* If the directory path you keep the SL source in has a space in it, the batch file that copies message_template.msg will fail. So, if you unzip or checkout the source tree into, e.g., &amp;quot;C:\Projects\Dir with space in name\Etc\linden&amp;quot;, it won&#039;t work!&lt;br /&gt;
* You should also avoid using non-ASCII (national) characters in the paths, although some localized versions of the tool puts some as a default...&lt;br /&gt;
* Unzip or checkout your source tree into a directory that has as short full pathname as possible, since long paths cause some unexpected trouble during the build.&lt;br /&gt;
&lt;br /&gt;
In other words, the easiest way to get this working is to get &#039;&#039;source&#039;&#039;, &#039;&#039;artwork&#039;&#039; and &#039;&#039;libraries&#039;&#039; from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installing Libraries =&lt;br /&gt;
&lt;br /&gt;
SL Viewer depends on some third party libraries.  Some of them are open source, some others are not.&lt;br /&gt;
&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
You can download the pre-build open source libraries from LL.  They are available on [[source downloads]] page.  Unzip them into your SL viewer source code directory, maintaining the same directory structure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: The VS2003 libraries provided in the [[source downloads]] do not fully work with VS2005 compiled binaries. They will compile with the viewer under VS2005, but the VS2003 libraries are not fully STL compliant. The differences of [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/vclrfnonstandardbehavior.asp non-standard behavior in MSVS] are the known cause.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alternatively, it may be possible to get the source files for the libraries and build by yourself.  See [[Compiling the viewer libraries (MSVS 2003)|the instruction for VS2003 users]] if you try it.  Please note, however, it is not known that VS2005 can successfully compile the libraries.  &#039;&#039;&#039;You have been warned.&#039;&#039;&#039;  (If you can make it, please write the info on this wiki...)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Proprietary Libraries ==&lt;br /&gt;
&lt;br /&gt;
Lindens does not inlcude the following proprietary libraries.  You will need to follow the instructions to acquire below and copy them to the source path.&lt;br /&gt;
&lt;br /&gt;
However, it probably is a good idea to build an empty directory tree for the files below and first copy the files there and once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY OLIB SL_1_16_0_5 /S&#039;&#039;).  The reason is, that these steps are cumbersome and will have to be repeated for each new release (at least if you keep the source for each release in it&#039;s own folder).  If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Fmod ===&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 api for win32] (later versions, like FMOD Ex, are incompatible).&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenGL ===&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
* You don&#039;t need any additional *.lib or *.dll for OpenGL.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ares (viewer 1.18.4 and later) ===&lt;br /&gt;
* download c-ares 1.4 from [http://daniel.haxx.se/projects/c-ares/ here] and unpack it somewhere&lt;br /&gt;
* open vc.dsw from the c-ares/vc folder&lt;br /&gt;
* remove the adig and ahost projects from the vc workspace&lt;br /&gt;
* add ares_getnameinfo.c to the areslib project&lt;br /&gt;
* for areslib right-click, properties, Code Generation and set Runtime Library to /MT (release) and /MTd (debug)&lt;br /&gt;
* compile debug and release&lt;br /&gt;
* copy all c-ares\*.h files to linden\libraries\include\ares\*.h&lt;br /&gt;
* copy vc\areslib\Debug\*lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy vc\areslib\Release\*lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== openjpeg (viewer 1.18.4 and later) ===&lt;br /&gt;
* download the latest OpenJPEG from [http://www.openjpeg.org/ here]&lt;br /&gt;
* open the libopenjpeg.dsw, let it convert and compile it (you&#039;ll need the files from the dllopenjpeg sub-project) &lt;br /&gt;
* copy debug\openjpeg.lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy release\openjpeg.lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
* copy release\openjpeg.dll to linden\indra\newview&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Quicktime &#039;&#039;(optional)&#039;&#039; ===&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This download requires a registration at the Apple Quicktime website and take a bit of time.  You can avoid using QuickTime if you want, see [[#QuickTime removal|below]] for details.  Remember that your viewer &#039;&#039;&#039;can&#039;t play in-world movies&#039;&#039;&#039; if you do so.&lt;br /&gt;
* Download &amp;amp; install the [http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/203/wa/getSoftware?fileID=20525&amp;amp;code=y&amp;amp;source=x&amp;amp;wosid=4h16WcyMtVfd2P1EffGafkoxFcr Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to  &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuring for VS2005 =&lt;br /&gt;
&lt;br /&gt;
Lindens use VS2003 to develop the viewer.  &lt;br /&gt;
&lt;br /&gt;
You either need to convert &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039; from VS2003 format to VS2005 format or obtain files compatible with VS2005.  You may also need to modify source files to work around the incompatibility between VS2003 and VS2005.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: linden\indra\indra_complete_vs8.sln is a solution file already included in the source archive and intended for the Visual Studio 2005, but it &#039;&#039;&#039;does not work&#039;&#039;&#039; (at least between 1.14.0 and 1.17.0.9 distribution).  This may change in a future release, if Lindens include an updated versions of the &#039;&#039;&#039;_vc8&#039;&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Using pre-built solution/project files ==&lt;br /&gt;
&lt;br /&gt;
Currently there is a ZIP file with solution/project files available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151].  &lt;br /&gt;
&lt;br /&gt;
If you are building 1.16 or later, the easiest way towards compiling SL on MS2005 will be to use the zip file mentioned above.  The details is as follows:&lt;br /&gt;
* Download the appropriate ZIP archive from JIRA.&lt;br /&gt;
* Unpack it and copy it onto your linden source tree (allow to overwrite files that have &#039;&#039;&#039;_vc8&#039;&#039;&#039; in the name).&lt;br /&gt;
* Start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* Use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete&#039;&#039;&#039;_vc8&#039;&#039;&#039;.sln (Note: If you plan to work with multiple versions over time, you will find it useful to rename &#039;&#039;&#039;indra_complete_vc8.sln&#039;&#039;&#039; to something which contains the version number, e.g. &#039;&#039;&#039;indra_1_17_0_11_vc8.sln&#039;&#039;&#039; before opening.)&lt;br /&gt;
* Right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* Proceed with applying the &#039;&#039;&#039;Workarounds&#039;&#039;&#039; below (skip &#039;&#039;&#039;Manual conversion&#039;&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The solution/project files depends on the viewer release version.  If you are compiling some specific version of the viewer, and the {{JIRA|VWR-1151}} doesn&#039;t list the zip file for you version, you can try using the most close one.  If, while compiling, you later encounter errors or problems regarding the projects, you may have to do the manual conversion instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manual conversion of the solution/projects ==&lt;br /&gt;
&lt;br /&gt;
If you can not find a set of project files (see above), there are instructions available how to manually do it: [[Converting_project_files_for_MSVS2005]] (this step will take about 5-15 minutes, depending on how proficient you are using VS2005).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workarounds ==&lt;br /&gt;
&lt;br /&gt;
There are more compatibility problems between VS2003 and VS2005.  You need the following code edits.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== test project/crash_logger/updater ===&lt;br /&gt;
&lt;br /&gt;
For whatever reason, the &#039;&#039;&#039;test&#039;&#039;&#039; project doesn&#039;t work under VS2005.  Workaround is to disable it as follows: Right click on the &#039;&#039;&#039;test&#039;&#039;&#039; and choose &#039;&#039;&#039;Unload Project&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not plan to create a full download build, you can exclude the &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; from newview&#039;s project dependencies and unload them also.  But be careful with unloading these projects without removing them from the dependencies, because I have seen VS2005 act highly erratic while linking then project when I tried this.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== QuickTime removal ===&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to get Apple QuickTime SDK, you can disable it as follows:&lt;br /&gt;
*linden\indra\llcommon\llpreprocessor.h - near line 58 (the line below &#039;&#039;&#039;#elif LL_WINDOWS&#039;&#039;&#039;)&lt;br /&gt;
 --50: #define LL_QUICKTIME_ENABLED	1&lt;br /&gt;
 ++50: #define LL_QUICKTIME_ENABLED	&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box beside the green arrow under the tool bar, and do the followings on the Solution Explorer frame:&lt;br /&gt;
*Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.&lt;br /&gt;
**Choose Properties.&lt;br /&gt;
**Under Configuration Properties &amp;gt; Linker &amp;gt; Input, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
**Scroll down the list to find &#039;&#039;&#039;qtmlclient.lib&#039;&#039;&#039;.  Delete this single line.&lt;br /&gt;
**Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box. Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone and do the same thing again.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Ready, Set, Build! =&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; (for production code).&lt;br /&gt;
* To do this, pick either in the Solution Configurations drop-down box beside the green arrow under the tool bar.&lt;br /&gt;
* Make sure &#039;&#039;&#039;newview&#039;&#039;&#039; is set as the active project (otherwise set from newview&#039;s right-click menu).&lt;br /&gt;
* Select Build-Menu &amp;gt; Build Solution or press F7.&lt;br /&gt;
* newview_noopt.exe will be built in linden\indra\newview\ReleaseNoOpt or SecondLife.exe will be linden\indra\newview\ReleaseForDownload.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Common compile errors ==&lt;br /&gt;
* See [[common compilation problems]] if you run into other errors while building.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Running ==&lt;br /&gt;
* You can run the viewer by &#039;&#039;&#039;Debug &amp;gt; Start Debugging&#039;&#039;&#039; or &#039;&#039;&#039;Debug &amp;gt; Start Without Debugging&#039;&#039;&#039; in Visual Studio. &lt;br /&gt;
* To run it outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (All the .dll will be found there.)&lt;br /&gt;
* Alternately copy the exe (possibly rename it) to your &amp;quot;c:\program files\secondlife&amp;quot; folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Debugging Info/Configurations ==&lt;br /&gt;
* Usually you will either use &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; or the &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; configuration.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (not optimized) compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; also has debugging information and runs fine in the debugger (although at times you may miss access to some local variables).&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session, but you can access the same information also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug console log can also be redirected to a file if you add &amp;quot;2&amp;gt;secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[finding leaks]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and repoen it, before you can connect to the selected grid).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Submit Patches =&lt;br /&gt;
This is probably faaar down the road, but if you make changes to the source and want to submit them, see the page about [[submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=40277</id>
		<title>Compiling the viewer (MSVS2005)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=40277"/>
		<updated>2007-11-13T17:49:47Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: ares, openjpeg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
This page explains how you can compile the viewer on Microsoft Windows using Visual Studio 2005 or Visual C++ Express 2005.  Note that Lindens are using VS2003 and the whole setup is a bit easier there, so if you have Visual Studio 2003 available, you should read [[Compiling the viewer (MSVS2003)|compiling with VS2003]] and you will get less trouble with it than with VS2005. &lt;br /&gt;
&lt;br /&gt;
Currently, only 32 bit binary is tested.  There seems to be several trials to produce 64 bit Windows .EXE of the viewer.  If you did, please write your experience on this wiki (regardless it was successful or not!)&lt;br /&gt;
&lt;br /&gt;
The following explanation is adjusted for Viewer releases 1.16.0.5 or later.  See an [http://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2005%29&amp;amp;oldid=22294 older version of this page] for the Viewer releases 1.15 or before.&lt;br /&gt;
&lt;br /&gt;
= Preparing the Development Environment =&lt;br /&gt;
&lt;br /&gt;
== Installing/Configuring VS2005 ==&lt;br /&gt;
&lt;br /&gt;
You need to setup the compiler and Microsoft Development tools as follows:&lt;br /&gt;
* Visual Studio 2005 &#039;&#039;&#039;&#039;&#039;-or-&#039;&#039;&#039;&#039;&#039; [http://msdn.microsoft.com/vstudio/express/visualc/download/ Visual C++ 2005 Express]&amp;lt;small&amp;gt;(Free)&amp;lt;/small&amp;gt; (Also, although not strictly necessary, eventually pick up and install SP1 for VS2005.)&lt;br /&gt;
* [http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;amp;displaylang=en Microsoft Platform SDK]&lt;br /&gt;
* A DirectX 9.0 SDK released on or after Summer of 2003 [http://download.microsoft.com/download/5/1/f/51ff8357-0af3-418b-9d0b-e9a5cdc39759/dxsdk_dec2006.EXE DirectX 9.0 SDK (December 2006)] [http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298&amp;amp;displaylang=en DirectX 9.0 SDK Update (Summer 2003)]&lt;br /&gt;
: &#039;&#039;&#039;Note&#039;&#039;&#039;: If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -&amp;gt; Add or Remove Programs) before installing this version.  Installing the new SDK &amp;quot;on top&amp;quot; of an older version may cause problems.&lt;br /&gt;
* Set up the project globals:&lt;br /&gt;
** Start Microsoft Visual Studio 2005&lt;br /&gt;
** Go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories&lt;br /&gt;
** Make sure that the &#039;&#039;&#039;includes&#039;&#039;&#039; ([[:Image:MSVS2005 Global Project Options Include Files.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]) and &#039;&#039;&#039;libraries&#039;&#039;&#039; ([[:Image:MSVS2005 Global Project Options Library Files.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]) paths have the Platform SDK paths first, then the DirectX SDK paths, and then the Visual C++ paths. You may need to check &amp;quot;Show All Settings&amp;quot; at the bottom for VC++ Directories to show.&lt;br /&gt;
*** Default installation of both Platform SDK and DirectX SDK can be found in &#039;&#039;&#039;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2&#039;&#039;&#039; and &#039;&#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)&#039;&#039;&#039; respectively.&lt;br /&gt;
** If the DirectX SDK paths aren&#039;t present, add them to both &#039;&#039;&#039;includes&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039;.&lt;br /&gt;
*: Note: The newest DirectX SDK (&amp;quot;December 2006&amp;quot;) lib folder has two sub-folders, x64 and x86.  Make sure your path goes to one of them (select &#039;&#039;&#039;lib/x86&#039;&#039;&#039;, not just &#039;&#039;&#039;lib&#039;&#039;&#039;), or you will get a Link error.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getting other Development Tools ==&lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. The project files use several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039;, if it&#039;s not you&#039;ll need to edit those references.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** It is required but can be avoided if you are compiling 1.18 or later viewers.  Either download and install or hack the prebuild.bat files as described in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears, that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Downloading Source Code =&lt;br /&gt;
&lt;br /&gt;
You can download the Viewer source codes on the [[source downloads]] page.  You can also use a [[version control repository]].&lt;br /&gt;
&lt;br /&gt;
At a minimum, grab the source package and the artwork package, but for a start, also grab the library archive.  Many of the libraries can either be compiled from source or downloaded from other sites (see below), but this will take hours and thus it is easiest to also get the package with libraries compiled by the Lindens.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039;&lt;br /&gt;
* If the directory path you keep the SL source in has a space in it, the batch file that copies message_template.msg will fail. So, if you unzip or checkout the source tree into, e.g., &amp;quot;C:\Projects\Dir with space in name\Etc\linden&amp;quot;, it won&#039;t work!&lt;br /&gt;
* You should also avoid using non-ASCII (national) characters in the paths, although some localized versions of the tool puts some as a default...&lt;br /&gt;
* Unzip or checkout your source tree into a directory that has as short full pathname as possible, since long paths cause some unexpected trouble during the build.&lt;br /&gt;
&lt;br /&gt;
In other words, the easiest way to get this working is to get &#039;&#039;source&#039;&#039;, &#039;&#039;artwork&#039;&#039; and &#039;&#039;libraries&#039;&#039; from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installing Libraries =&lt;br /&gt;
&lt;br /&gt;
SL Viewer depends on some third party libraries.  Some of them are open source, some others are not.&lt;br /&gt;
&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
You can download the pre-build open source libraries from LL.  They are available on [[source downloads]] page.  Unzip them into your SL viewer source code directory, maintaining the same directory structure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: The VS2003 libraries provided in the [[source downloads]] do not fully work with VS2005 compiled binaries. They will compile with the viewer under VS2005, but the VS2003 libraries are not fully STL compliant. The differences of [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/vclrfnonstandardbehavior.asp non-standard behavior in MSVS] are the known cause.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alternatively, it may be possible to get the source files for the libraries and build by yourself.  See [[Compiling the viewer libraries (MSVS 2003)|the instruction for VS2003 users]] if you try it.  Please note, however, it is not known that VS2005 can successfully compile the libraries.  &#039;&#039;&#039;You have been warned.&#039;&#039;&#039;  (If you can make it, please write the info on this wiki...)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Proprietary Libraries ==&lt;br /&gt;
&lt;br /&gt;
Lindens does not inlcude the following proprietary libraries.  You will need to follow the instructions to acquire below and copy them to the source path.&lt;br /&gt;
&lt;br /&gt;
However, it probably is a good idea to build an empty directory tree for the files below and first copy the files there and once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY OLIB SL_1_16_0_5 /S&#039;&#039;).  The reason is, that these steps are cumbersome and will have to be repeated for each new release (at least if you keep the source for each release in it&#039;s own folder).  If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Fmod ===&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 api for win32] (later versions, like FMOD Ex, are incompatible).&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenGL ===&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
* You don&#039;t need any additional *.lib or *.dll for OpenGL.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ares (viewer 1.18.4 and later) ====&lt;br /&gt;
* download c-ares 1.4 from [http://daniel.haxx.se/projects/c-ares/ here] and unpack it somewhere&lt;br /&gt;
* open vc.dsw from the c-ares/vc folder&lt;br /&gt;
* remove the adig and ahost projects from the vc workspace&lt;br /&gt;
* add ares_getnameinfo.c to the areslib project&lt;br /&gt;
* for areslib right-click, properties, Code Generation and set Runtime Library to /MT (release) and /MTd (debug)&lt;br /&gt;
* compile debug and release&lt;br /&gt;
* copy all c-ares\*.h files to linden\libraries\include\ares\*.h&lt;br /&gt;
* copy vc\areslib\Debug\*lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy vc\areslib\Release\*lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== openjpeg (viewer 1.18.4 and later) ====&lt;br /&gt;
* download the latest OpenJPEG from [http://www.openjpeg.org/ here]&lt;br /&gt;
* open the libopenjpeg.dsw, let it convert and compile it (you&#039;ll need the files from the dllopenjpeg sub-project) &lt;br /&gt;
* copy debug\openjpeg.lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy release\openjpeg.lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
* copy release\openjpeg.dll to linden\indra\newview&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Quicktime &#039;&#039;(optional)&#039;&#039; ===&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This download requires a registration at the Apple Quicktime website and take a bit of time.  You can avoid using QuickTime if you want, see [[#QuickTime removal|below]] for details.  Remember that your viewer &#039;&#039;&#039;can&#039;t play in-world movies&#039;&#039;&#039; if you do so.&lt;br /&gt;
* Download &amp;amp; install the [http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/203/wa/getSoftware?fileID=20525&amp;amp;code=y&amp;amp;source=x&amp;amp;wosid=4h16WcyMtVfd2P1EffGafkoxFcr Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to  &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuring for VS2005 =&lt;br /&gt;
&lt;br /&gt;
Lindens use VS2003 to develop the viewer.  &lt;br /&gt;
&lt;br /&gt;
You either need to convert &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039; from VS2003 format to VS2005 format or obtain files compatible with VS2005.  You may also need to modify source files to work around the incompatibility between VS2003 and VS2005.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: linden\indra\indra_complete_vs8.sln is a solution file already included in the source archive and intended for the Visual Studio 2005, but it &#039;&#039;&#039;does not work&#039;&#039;&#039; (at least between 1.14.0 and 1.17.0.9 distribution).  This may change in a future release, if Lindens include an updated versions of the &#039;&#039;&#039;_vc8&#039;&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Using pre-built solution/project files ==&lt;br /&gt;
&lt;br /&gt;
Currently there is a ZIP file with solution/project files available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151].  &lt;br /&gt;
&lt;br /&gt;
If you are building 1.16 or later, the easiest way towards compiling SL on MS2005 will be to use the zip file mentioned above.  The details is as follows:&lt;br /&gt;
* Download the appropriate ZIP archive from JIRA.&lt;br /&gt;
* Unpack it and copy it onto your linden source tree (allow to overwrite files that have &#039;&#039;&#039;_vc8&#039;&#039;&#039; in the name).&lt;br /&gt;
* Start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* Use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete&#039;&#039;&#039;_vc8&#039;&#039;&#039;.sln (Note: If you plan to work with multiple versions over time, you will find it useful to rename &#039;&#039;&#039;indra_complete_vc8.sln&#039;&#039;&#039; to something which contains the version number, e.g. &#039;&#039;&#039;indra_1_17_0_11_vc8.sln&#039;&#039;&#039; before opening.)&lt;br /&gt;
* Right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* Proceed with applying the &#039;&#039;&#039;Workarounds&#039;&#039;&#039; below (skip &#039;&#039;&#039;Manual conversion&#039;&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The solution/project files depends on the viewer release version.  If you are compiling some specific version of the viewer, and the {{JIRA|VWR-1151}} doesn&#039;t list the zip file for you version, you can try using the most close one.  If, while compiling, you later encounter errors or problems regarding the projects, you may have to do the manual conversion instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manual conversion of the solution/projects ==&lt;br /&gt;
&lt;br /&gt;
If you can not find a set of project files (see above), there are instructions available how to manually do it: [[Converting_project_files_for_MSVS2005]] (this step will take about 5-15 minutes, depending on how proficient you are using VS2005).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workarounds ==&lt;br /&gt;
&lt;br /&gt;
There are more compatibility problems between VS2003 and VS2005.  You need the following code edits.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== test project/crash_logger/updater ===&lt;br /&gt;
&lt;br /&gt;
For whatever reason, the &#039;&#039;&#039;test&#039;&#039;&#039; project doesn&#039;t work under VS2005.  Workaround is to disable it as follows: Right click on the &#039;&#039;&#039;test&#039;&#039;&#039; and choose &#039;&#039;&#039;Unload Project&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not plan to create a full download build, you can exclude the &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; from newview&#039;s project dependencies and unload them also.  But be careful with unloading these projects without removing them from the dependencies, because I have seen VS2005 act highly erratic while linking then project when I tried this.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== QuickTime removal ===&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to get Apple QuickTime SDK, you can disable it as follows:&lt;br /&gt;
*linden\indra\llcommon\llpreprocessor.h - near line 58 (the line below &#039;&#039;&#039;#elif LL_WINDOWS&#039;&#039;&#039;)&lt;br /&gt;
 --50: #define LL_QUICKTIME_ENABLED	1&lt;br /&gt;
 ++50: #define LL_QUICKTIME_ENABLED	&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box beside the green arrow under the tool bar, and do the followings on the Solution Explorer frame:&lt;br /&gt;
*Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.&lt;br /&gt;
**Choose Properties.&lt;br /&gt;
**Under Configuration Properties &amp;gt; Linker &amp;gt; Input, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
**Scroll down the list to find &#039;&#039;&#039;qtmlclient.lib&#039;&#039;&#039;.  Delete this single line.&lt;br /&gt;
**Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box. Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone and do the same thing again.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Ready, Set, Build! =&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; (for production code).&lt;br /&gt;
* To do this, pick either in the Solution Configurations drop-down box beside the green arrow under the tool bar.&lt;br /&gt;
* Make sure &#039;&#039;&#039;newview&#039;&#039;&#039; is set as the active project (otherwise set from newview&#039;s right-click menu).&lt;br /&gt;
* Select Build-Menu &amp;gt; Build Solution or press F7.&lt;br /&gt;
* newview_noopt.exe will be built in linden\indra\newview\ReleaseNoOpt or SecondLife.exe will be linden\indra\newview\ReleaseForDownload.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Common compile errors ==&lt;br /&gt;
* See [[common compilation problems]] if you run into other errors while building.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Running ==&lt;br /&gt;
* You can run the viewer by &#039;&#039;&#039;Debug &amp;gt; Start Debugging&#039;&#039;&#039; or &#039;&#039;&#039;Debug &amp;gt; Start Without Debugging&#039;&#039;&#039; in Visual Studio. &lt;br /&gt;
* To run it outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (All the .dll will be found there.)&lt;br /&gt;
* Alternately copy the exe (possibly rename it) to your &amp;quot;c:\program files\secondlife&amp;quot; folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Debugging Info/Configurations ==&lt;br /&gt;
* Usually you will either use &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; or the &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; configuration.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (not optimized) compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; also has debugging information and runs fine in the debugger (although at times you may miss access to some local variables).&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session, but you can access the same information also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug console log can also be redirected to a file if you add &amp;quot;2&amp;gt;secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[finding leaks]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and repoen it, before you can connect to the selected grid).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Submit Patches =&lt;br /&gt;
This is probably faaar down the road, but if you make changes to the source and want to submit them, see the page about [[submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=40276</id>
		<title>Compiling the viewer (MSVS2003)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=40276"/>
		<updated>2007-11-13T17:48:47Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: openjpeg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
The following instructions are for compiling the Second Life viewer on Windows for Visual Studio .Net 2003.  If you are using more recent versions of Visual Studio, see [[Compiling the viewer (MSVS2005)]]. For other platforms including MacOS and Linux, see [[Compiling the viewer]].&lt;br /&gt;
&lt;br /&gt;
If you get lost, or these instructions are incomplete, see [[communication tools]] for a list of ways to get in touch with people that can help.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Development Environment ==&lt;br /&gt;
The following dev environment is what LL uses for Windows development.  There is no reason that the Second Life viewer can not be built using other environments, but it will take some extra work.&lt;br /&gt;
&lt;br /&gt;
(Instructions for building the viewer using Microsoft&#039;s Visual Studio .NET 2005 Express can be found [[Compiling the viewer (MSVS2005)|on another page]]. At the time of writing, Express was freely available.)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Visual Studio .NET 2003 Professional ===&lt;br /&gt;
* Download and install [http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;amp;displaylang=en Microsoft Platform SDK]&lt;br /&gt;
* Download and install a DirectX 9.0 SDK released on or after Summer of 2003 [http://download.microsoft.com/download/5/1/f/51ff8357-0af3-418b-9d0b-e9a5cdc39759/dxsdk_dec2006.EXE DirectX 9.0 SDK (December 2006)] [http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298&amp;amp;displaylang=en DirectX 9.0 SDK Update (Summer 2003)]&lt;br /&gt;
** If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -&amp;gt; Add or Remove Programs) before installing this version.  Installing the new SDK &amp;quot;on top&amp;quot; of an older version may cause problems.&lt;br /&gt;
** Upon installing, it is sufficient to install the &#039;&#039;&#039;include&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; part.  Other DX development tools are not necessary.&lt;br /&gt;
* Set up the project globals:&lt;br /&gt;
** Start Visual C++&lt;br /&gt;
** Go to Tools/Options/Projects/VC++ Directories&lt;br /&gt;
** Make sure that the &#039;&#039;&#039;includes&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; paths are there (or otherwise add them) in the following order: 1) Platform SDK paths, 2) DirectX SDK paths, 3) Visual C++ paths&lt;br /&gt;
** If you are adding DirectX SDK paths, be aware that later versions of the DirectX SDK have subfolders inside the lib directory.  With those make sure you select &#039;&#039;&#039;lib/x86&#039;&#039;&#039;, not just &#039;&#039;&#039;lib&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Other Development Tools === &lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. The project files use several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039;, if it&#039;s not you&#039;ll need to edit those references.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** You should install this if compiling 1.18 or later viewers, or else hack the prebuild .bat files as in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears, that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
The easiest way to get this working is to get &#039;&#039;&#039;source&#039;&#039;&#039;, &#039;&#039;&#039;artwork&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; for the same version from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Avoid folder names with spaces in them (this means avoid putting the project into your &#039;&#039;My Documents&#039;&#039; folder).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
Some libraries can be distributed with the SL source and there is a library package available with the source.  As mentioned above (about the source), you can simply extract the &#039;&#039;&#039;library&#039;&#039;&#039; archive and copy the files to your code directory, maintaining the same directory structure.  &lt;br /&gt;
&lt;br /&gt;
If instead you are interested in compiling these libraries from their source (instead of using the above zipfile of precompiled libraries provided by Linden Lab), see [[Compiling the viewer libraries (MSVS 2003)]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Other Libraries ==&lt;br /&gt;
&lt;br /&gt;
Linden Lab included all the libraries/includes they can ship with their source, but we can not distribute the source to the following , and you will need to follow the instructions to acquire below.&lt;br /&gt;
&lt;br /&gt;
However, it probably is a good idea to build an empty directory tree for the files below and first copy the files there and once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY  olibs  sl_1_16_0_5 /S&#039;&#039;).  The reason is, that these steps are cumbersome and will have to be repeated for each new release (at least if you keep the source for each release in it&#039;s own folder).  &lt;br /&gt;
&lt;br /&gt;
If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&lt;br /&gt;
==== Fmod ====&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 api for win32].&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== gl ====&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== ares (viewer 1.18.4 and later) ====&lt;br /&gt;
* download c-ares 1.4 from [http://daniel.haxx.se/projects/c-ares/ here] and unpack it somewhere&lt;br /&gt;
* open vc.dsw from the c-ares/vc folder&lt;br /&gt;
* remove the adig and ahost projects from the vc workspace&lt;br /&gt;
* add ares_getnameinfo.c to the areslib project&lt;br /&gt;
* for areslib right-click, properties, Code Generation and set Runtime Library to /MT (release) and /MTd (debug)&lt;br /&gt;
* compile debug and release&lt;br /&gt;
* copy all c-ares\*.h files to linden\libraries\include\ares\*.h&lt;br /&gt;
* copy vc\areslib\Debug\*lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy vc\areslib\Release\*lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
&lt;br /&gt;
==== openjpeg (viewer 1.18.4 and later) ====&lt;br /&gt;
* download the latest OpenJPEG from [http://www.openjpeg.org/ here]&lt;br /&gt;
* open the libopenjpeg.dsw, let it convert and compile it (you&#039;ll need the files from the dllopenjpeg sub-project) &lt;br /&gt;
* copy debug\openjpeg.lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy release\openjpeg.lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
* copy release\openjpeg.dll to linden\indra\newview&lt;br /&gt;
&lt;br /&gt;
==== Quicktime (Optional) ====&lt;br /&gt;
* &#039;&#039;&#039;Note:&#039;&#039;&#039; Quicktime download can be skipped &#039;&#039;&#039;if you can live with a build that does not play in-world movies&#039;&#039;&#039; (some minor modifications to the project are necessary then, see &amp;quot;QuickTime removal&amp;quot; on the build instructions for [[Compiling the viewer (MSVS2005)|Visual Studio 2005]]).&lt;br /&gt;
* Download &amp;amp; install the [http://developer.apple.com/quicktime/download/ Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Building ==&lt;br /&gt;
* Open the &#039;&#039;&#039;indra\indra_complete\indra_complete.sln&#039;&#039;&#039; solution in Visual Studio (Note: If you plan to work with multiple versions over time, you will find it useful to rename &#039;&#039;&#039;indra_complete.sln&#039;&#039;&#039; to something which contains the version number, e.g. &#039;&#039;&#039;indra_1_17_0_11.sln&#039;&#039;&#039; before opening)&lt;br /&gt;
* Set newview to be the startup project.&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; (for running/debugging production code).&lt;br /&gt;
* Note that the ReleaseForDownload build also contains debug information and can be run in the debugger.&lt;br /&gt;
* newview_noopt.exe will be built in \indra\newview\ReleaseNoOpt, or SecondLife.exe will be built in \indra\newview\ReleaseForDownload&lt;br /&gt;
* To run it outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (all the .dll will be found there.)&lt;br /&gt;
* Alternately copy the exe (possibly rename it) to your &amp;quot;c:\program files\second life&amp;quot; folder.&lt;br /&gt;
* There were additional steps required in version 1.15 which seem to be fixed now.  If you are trying to build 1.15 see an [https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2003%29&amp;amp;oldid=23026 older version of this page].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors while building? ==&lt;br /&gt;
See [[Common compilation problems]] if you run into errors while building.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Configurations/Debugging Info ==&lt;br /&gt;
* You will usually compile/debug the &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; or ReleaseForDownload configuration (&#039;&#039;&#039;Debug&#039;&#039;&#039; should also work but should not really be necessary).&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; runs fine in the debugger, but times you may miss debugger access to some local variables or the debugger may even show wrong values for objects and members, because it is confused by the optimizations.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session.&lt;br /&gt;
* You can see the last few lines from the debugger console also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug log (usually in application data) can also be redirected to a more file if you add &amp;quot;-log secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[Finding_leaks]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* Viewer Error: &#039;&#039;&#039;Second Life is unable to access a file that it needs.&#039;&#039;&#039;:  Did you neglect to download the Artworks archive from the [[source downloads]] page?  It is in the Viewer column, below the OS-specific Viewer archives.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and repoen it, before you can connect to the selected grid).&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* If you want to connect to the beta grid, add &#039;&#039;&#039;--aditi&#039;&#039;&#039; to the command line (Newview, Properties, Debugging, Command line argument).&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Submit Patches ==&lt;br /&gt;
This is probably far down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=40069</id>
		<title>Compiling the viewer (MSVS2003)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=40069"/>
		<updated>2007-11-11T14:32:17Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: c-ares&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
The following instructions are for compiling the Second Life viewer on Windows for Visual Studio .Net 2003.  If you are using more recent versions of Visual Studio, see [[Compiling the viewer (MSVS2005)]]. For other platforms including MacOS and Linux, see [[Compiling the viewer]].&lt;br /&gt;
&lt;br /&gt;
If you get lost, or these instructions are incomplete, see [[communication tools]] for a list of ways to get in touch with people that can help.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Development Environment ==&lt;br /&gt;
The following dev environment is what LL uses for Windows development.  There is no reason that the Second Life viewer can not be built using other environments, but it will take some extra work.&lt;br /&gt;
&lt;br /&gt;
(Instructions for building the viewer using Microsoft&#039;s Visual Studio .NET 2005 Express can be found [[Compiling the viewer (MSVS2005)|on another page]]. At the time of writing, Express was freely available.)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Visual Studio .NET 2003 Professional ===&lt;br /&gt;
* Download and install [http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;amp;displaylang=en Microsoft Platform SDK]&lt;br /&gt;
* Download and install a DirectX 9.0 SDK released on or after Summer of 2003 [http://download.microsoft.com/download/5/1/f/51ff8357-0af3-418b-9d0b-e9a5cdc39759/dxsdk_dec2006.EXE DirectX 9.0 SDK (December 2006)] [http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298&amp;amp;displaylang=en DirectX 9.0 SDK Update (Summer 2003)]&lt;br /&gt;
** If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -&amp;gt; Add or Remove Programs) before installing this version.  Installing the new SDK &amp;quot;on top&amp;quot; of an older version may cause problems.&lt;br /&gt;
** Upon installing, it is sufficient to install the &#039;&#039;&#039;include&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; part.  Other DX development tools are not necessary.&lt;br /&gt;
* Set up the project globals:&lt;br /&gt;
** Start Visual C++&lt;br /&gt;
** Go to Tools/Options/Projects/VC++ Directories&lt;br /&gt;
** Make sure that the &#039;&#039;&#039;includes&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; paths are there (or otherwise add them) in the following order: 1) Platform SDK paths, 2) DirectX SDK paths, 3) Visual C++ paths&lt;br /&gt;
** If you are adding DirectX SDK paths, be aware that later versions of the DirectX SDK have subfolders inside the lib directory.  With those make sure you select &#039;&#039;&#039;lib/x86&#039;&#039;&#039;, not just &#039;&#039;&#039;lib&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Other Development Tools === &lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. The project files use several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039;, if it&#039;s not you&#039;ll need to edit those references.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** You should install this if compiling 1.18 or later viewers, or else hack the prebuild .bat files as in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears, that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
The easiest way to get this working is to get &#039;&#039;&#039;source&#039;&#039;&#039;, &#039;&#039;&#039;artwork&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; for the same version from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Avoid folder names with spaces in them (this means avoid putting the project into your &#039;&#039;My Documents&#039;&#039; folder).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
Some libraries can be distributed with the SL source and there is a library package available with the source.  As mentioned above (about the source), you can simply extract the &#039;&#039;&#039;library&#039;&#039;&#039; archive and copy the files to your code directory, maintaining the same directory structure.  &lt;br /&gt;
&lt;br /&gt;
If instead you are interested in compiling these libraries from their source (instead of using the above zipfile of precompiled libraries provided by Linden Lab), see [[Compiling the viewer libraries (MSVS 2003)]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Other Libraries ==&lt;br /&gt;
&lt;br /&gt;
Linden Lab included all the libraries/includes they can ship with their source, but we can not distribute the source to the following , and you will need to follow the instructions to acquire below.&lt;br /&gt;
&lt;br /&gt;
However, it probably is a good idea to build an empty directory tree for the files below and first copy the files there and once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY  olibs  sl_1_16_0_5 /S&#039;&#039;).  The reason is, that these steps are cumbersome and will have to be repeated for each new release (at least if you keep the source for each release in it&#039;s own folder).  &lt;br /&gt;
&lt;br /&gt;
If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&lt;br /&gt;
==== Fmod ====&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 api for win32].&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== gl ====&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== ares (viewer 1.18.4 and later) ====&lt;br /&gt;
* download c-ares 1.4 from [http://daniel.haxx.se/projects/c-ares/ here] and unpack it somewhere&lt;br /&gt;
* open vc.dsw from the c-ares/vc folder&lt;br /&gt;
* remove the adig and ahost projects from the vc workspace&lt;br /&gt;
* add ares_getnameinfo.c to the areslib project&lt;br /&gt;
* for areslib right-click, properties, Code Generation and set Runtime Library to /MT (release) and /MTd (debug)&lt;br /&gt;
* compile debug and release&lt;br /&gt;
* copy all c-ares\*.h files to linden\libraries\include\ares\*.h&lt;br /&gt;
* copy vc\areslib\Debug\*lib to linden\libraries\i686-win32\lib_debug&lt;br /&gt;
* copy vc\areslib\Release\*lib to linden\libraries\i686-win32\lib_release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Quicktime (Optional) ====&lt;br /&gt;
* &#039;&#039;&#039;Note:&#039;&#039;&#039; Quicktime download can be skipped &#039;&#039;&#039;if you can live with a build that does not play in-world movies&#039;&#039;&#039; (some minor modifications to the project are necessary then, see &amp;quot;QuickTime removal&amp;quot; on the build instructions for [[Compiling the viewer (MSVS2005)|Visual Studio 2005]]).&lt;br /&gt;
* Download &amp;amp; install the [http://developer.apple.com/quicktime/download/ Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Building ==&lt;br /&gt;
* Open the &#039;&#039;&#039;indra\indra_complete\indra_complete.sln&#039;&#039;&#039; solution in Visual Studio (Note: If you plan to work with multiple versions over time, you will find it useful to rename &#039;&#039;&#039;indra_complete.sln&#039;&#039;&#039; to something which contains the version number, e.g. &#039;&#039;&#039;indra_1_17_0_11.sln&#039;&#039;&#039; before opening)&lt;br /&gt;
* Set newview to be the startup project.&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; (for running/debugging production code).&lt;br /&gt;
* Note that the ReleaseForDownload build also contains debug information and can be run in the debugger.&lt;br /&gt;
* newview_noopt.exe will be built in \indra\newview\ReleaseNoOpt, or SecondLife.exe will be built in \indra\newview\ReleaseForDownload&lt;br /&gt;
* To run it outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (all the .dll will be found there.)&lt;br /&gt;
* Alternately copy the exe (possibly rename it) to your &amp;quot;c:\program files\second life&amp;quot; folder.&lt;br /&gt;
* There were additional steps required in version 1.15 which seem to be fixed now.  If you are trying to build 1.15 see an [https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2003%29&amp;amp;oldid=23026 older version of this page].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors while building? ==&lt;br /&gt;
See [[Common compilation problems]] if you run into errors while building.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Configurations/Debugging Info ==&lt;br /&gt;
* You will usually compile/debug the &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; or ReleaseForDownload configuration (&#039;&#039;&#039;Debug&#039;&#039;&#039; should also work but should not really be necessary).&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; runs fine in the debugger, but times you may miss debugger access to some local variables or the debugger may even show wrong values for objects and members, because it is confused by the optimizations.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session.&lt;br /&gt;
* You can see the last few lines from the debugger console also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug log (usually in application data) can also be redirected to a more file if you add &amp;quot;-log secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[Finding_leaks]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* Viewer Error: &#039;&#039;&#039;Second Life is unable to access a file that it needs.&#039;&#039;&#039;:  Did you neglect to download the Artworks archive from the [[source downloads]] page?  It is in the Viewer column, below the OS-specific Viewer archives.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and repoen it, before you can connect to the selected grid).&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* If you want to connect to the beta grid, add &#039;&#039;&#039;--aditi&#039;&#039;&#039; to the command line (Newview, Properties, Debugging, Command line argument).&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Submit Patches ==&lt;br /&gt;
This is probably far down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Authentication_Critique&amp;diff=33836</id>
		<title>Talk:Viewer Authentication Critique</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Authentication_Critique&amp;diff=33836"/>
		<updated>2007-09-30T14:51:55Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: added author of &amp;quot;No balance&amp;quot; paragraph&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk}}&lt;br /&gt;
&lt;br /&gt;
== Process for editing the critique ==&lt;br /&gt;
&lt;br /&gt;
By virtue of jumping first, I think [[User:Matthew Dowd|Matthew Dowd]] should be the working group chair for editing this document.  What I think that means is this:&lt;br /&gt;
*  Anyone can still make no-brainer edits to the article&lt;br /&gt;
*  Matthew will be arbiter for dispute resolution, should that be necessary.&lt;br /&gt;
*  If there are points that Matthew is unclear about, he should delete them from the document, and move them to the talk page.&lt;br /&gt;
*  If there are points that others are unclear about, they should bring them up on the talk page, and then later delete them from the main page if a question/concern goes unanswered on the talk page (with &amp;quot;see talk page&amp;quot; in the comment of the edit).&lt;br /&gt;
*  If, for whatever reason, it becomes necessary to fork this document, it&#039;s best to move all critiques into the user space of the working group chair.  So, for example, Matthew&#039;s version would move to [[User:Matthew Dowd/Viewer Authentication Critique]], and other critiques could also be done the same way.  This page would become a list of critiques.&lt;br /&gt;
&lt;br /&gt;
Sound like a reasonable process?  I think this is lightweight enough that a pretty good document can evolve pretty quickly.  -- [[User:Rob Linden|Rob Linden]] 12:56, 29 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Third party viewers/code ==&lt;br /&gt;
&lt;br /&gt;
What&#039;s the substantive difference between these two points?&lt;br /&gt;
#  Viewer still involves running trusted code on the computer and could initiate other attacks e.g.&lt;br /&gt;
# Most of these attacks could be performed by any third-party software designed for use with SL &lt;br /&gt;
Both have many subpoints.  Could they be consolidated into a single point? -- [[User:Rob Linden|Rob Linden]] 20:10, 29 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
The first point is that keeping the client from seeing the password doesn&#039;t remove the danger of a modified client.&lt;br /&gt;
&lt;br /&gt;
The second point is that *any* ancillary software (such as animation editors, sculpt editors, sculpt texture plugins) could be used in an attack, even if they don&#039;t actually connect to SL, since they would be used by SL residents.&lt;br /&gt;
&lt;br /&gt;
-- [[User:Argent Stonecutter|Argent Stonecutter]] 21:00, 29 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
Is this better, Rob? -- [[User:Argent Stonecutter|Argent Stonecutter]] 21:11, 29 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Yes, that is.  Thanks for the clarification! -- [[User:Rob Linden|Rob Linden]] 21:44, 29 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== No balance ==&lt;br /&gt;
&lt;br /&gt;
This article is pretty awful, its just an attack. For real critique you have to explore the alternatives and discuss the pros and cons for each.&lt;br /&gt;
Even if this form of log in has these disadvantages it could still be an improvement over what we currently have.&lt;br /&gt;
We need a common point of reference to discuss if this is an improvement and what alternatives exist. (&amp;lt;-- this paragraph seems to be from &amp;quot;Ahab Schmo&amp;quot;  (note added by [[User:Nicholaz Beresford|Nicholaz]]))&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Viewer_Authentication_Critique&amp;diff=33804</id>
		<title>Viewer Authentication Critique</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Viewer_Authentication_Critique&amp;diff=33804"/>
		<updated>2007-09-30T10:42:16Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: signed new version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a formal critique of [[Viewer Authentication]] that was [https://lists.secondlife.com/pipermail/sldev/2007-September/005403.html requested] by [[User:Rob Linden]] on the [[SLDev]] mailing list.&lt;br /&gt;
&lt;br /&gt;
For a branch of the discussion see [https://wiki.secondlife.com/wiki/Talk:Viewer_Authentication Talk page on the original proposal.]&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
The new authentication method proposed by LL seems to be an attempt to solve a perceived but non-existent problem. &lt;br /&gt;
&lt;br /&gt;
There are no known password capturing third party viewers in the wild, and a third party viewer requires such a privilege level of access to an account anyway that if you don&#039;t trust it with your username and password, you shouldn&#039;t be running it anyway. The mechanism proposed, however, is more prone to phishing attacks. Most password compromises are probably due to weaknesses in the current protocol challenge response or due to allowing weak passwords. &lt;br /&gt;
&lt;br /&gt;
Providing a single authentication mechanism for LL (and third party) websites would be an improvement to multiple backend copies of username and password, however this could be implemented without touching the viewer authentication method.&lt;br /&gt;
&lt;br /&gt;
There seems to be no demand to synchronise the authentication of the viewer with authentication on the SL web site (account, forums, etc.), and any benefits gained would be negated by the problems this would cause anyone running alts (e.g. for in world permissions testing etc.) or multiple viewers (e.g. main, test and firstlook). It also raises problems for those running OpenSim based Grids, and may also cause difficulties further down the line as regards the new architecture discussions.&lt;br /&gt;
&lt;br /&gt;
It was also noted that consideration should be given when considering enhancements to the security/authentication models whether these should be optional - allowing users to make their own risk/convenience decisions.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
=== LL&#039;s Objectives ===&lt;br /&gt;
* To mitigate the danger of password capturing Trojans masquerading as third party viewers&lt;br /&gt;
* Improve trust in third party viewers by providing a means of assurance to the user that the third party viewer could not be a Trojan capturing usernames and passwords.&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Viewer does not have to process (and &amp;quot;see&amp;quot;) username and password&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* The main risk of running a third party viewer (or any other application not provided by Linden Labs) is not stealing passwords, it&#039;s direct attacks through the client... and the &amp;quot;official&amp;quot; client is not really any protection against that.&lt;br /&gt;
** Viewer can still be used in direct and indirect attacks even if it never sees the password (for example: salami slicing through cutout accounts, acting as a cutout account or an in-world botnet, faking a failed connection while giving an attacker access).&lt;br /&gt;
** NON-viewer applications (such as editors, 3d tools) designed for use by SL residents could use a keystroke logger and macro to perform any of these attacks, or could inject code into the viewer to do the same thing. Look at &#039;cheating&#039; programs in combat MMORPGs for ideas.&lt;br /&gt;
* But this is still not a large risk, unless people get the client through a mechanism that makes the creator anonymous. Historically, attempts to disseminate boobytrapped versions of applications have only worked in environments where it&#039;s routine for people to download applications from anonymous sources (file areas in the BBS era, for example). It&#039;s too easy to trace down the originator of any compromised client when you&#039;re getting them from their own website.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Bottom line here is that third party viewers stealing passwords are a very small risk for the user: the bigger risk is from the web browser!&lt;br /&gt;
** Potential for phishing websites to entice users to enter username and password and then pass control to SL website and viewer.&lt;br /&gt;
*** This kind of attack is not theoretical, phishing websites are a criminal industry.&lt;br /&gt;
*** It would be very easy to set up a temporary (i.e. hard to trace the real owner) phishing webpage which looks like the official SL logon, and send e-mails such as &amp;quot;You&#039;ve received xxx in SL, Click here to logon&amp;quot; apparently from LL - with far less work than trying to create, and entice people to download a trojan viewer&lt;br /&gt;
** Relies on browser security, and uses a mechanism often disabled or filtered due to security concerns&lt;br /&gt;
** Too reliant on browser/OS implementations (proxies, firewalls, used browsers, etc.)&lt;br /&gt;
* So using the browser to perform the authentication moves the authentication to a mechanism that has historically proven more likely to be compromised.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* And the mechanism itself is relatively inflexible.&lt;br /&gt;
** Links to secondlife:// can only point to one instance (version, e.g. homebrew, release candidate official) of the program&lt;br /&gt;
** Links to secondlife:// can not pass parameters to the program&lt;br /&gt;
*** In fact allowing that was a security flaw recently found and fixed in the SL client. :(&lt;br /&gt;
** It will raise problems for those running alternative (e.g. OpenSim) grids, and also have impact on the dicussions for a future open grid.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Possibility some third party clients will retain the existing UI in order to make it easier for people with alts and multiple clients, and do appropriate GETs and POSTs on the SL to initiate a logon and get the token (thus defeating the original purpose)&lt;br /&gt;
** The issues raised in the next sections would mean that people would have an incentive to use this kind of client.&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* One time passwords (for copy paste into a non-secure viewer or to print and take with you to friends, internet cafes, public terminals, etc.)&lt;br /&gt;
* lower perm passwords (pwds which put the account into a restricted state, disallowing &amp;quot;dangerous&amp;quot; transactions)&lt;br /&gt;
* separate passwords for website account and being inworld&lt;br /&gt;
* Account restrictions &lt;br /&gt;
* Allow third party plug-ins in the viewer (these would allow the extra functionality which are sometimes the reason for running third party viewers, but would rely on the official viewer for validation)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* This may be the wrong problem - password compromises are more likely to be through standard phishing attacks (logon here to update your account info) which is not addressed, or by weaknesses in the current authentication mechnism or just insecure passwords.&lt;br /&gt;
** CRAM-MD5 or a similar challenge-response type &lt;br /&gt;
** Dictionary check to reject insecure passwords&lt;br /&gt;
&lt;br /&gt;
== Flexibility ==&lt;br /&gt;
&lt;br /&gt;
=== LL&#039;s Objectives ===&lt;br /&gt;
* Single Sign On - allowing multiple web applications (forums, support, account, jira, wiki etc.) and viewers to use the same username and password through a single point without duplicating usernames and passwords into multiple systems&lt;br /&gt;
* Extension of this to allow non-LL applications and web sites to participate in this single sign on system.&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Enables username/password authentication to work on third party sites without them having to &amp;quot;see&amp;quot; username and password&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* This is really an unrelated issue...&lt;br /&gt;
** The client doesn&#039;t need to depend on the website for this purpose, or this could be a command line option.&lt;br /&gt;
** The client could just as easily be the &#039;authentication source&#039; as the website.&lt;br /&gt;
*** Via a &amp;quot;go to website&amp;quot; link in the client that passed an equivalent token.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* As noted in section 1, this reduces flexibility for the *users* which may result in third party viewers adopting the current UI and doing the authentication behind the scenes&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* Use this mechanism for websites (including third party) only but not for viewers&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Identity Metasystem - [http://en.wikipedia.org/wiki/Identity_Metasystem]&lt;br /&gt;
** OpenID - [http://openid.net/]&lt;br /&gt;
** CardSpace - [http://msdn2.microsoft.com/en-us/netframework/aa663320.aspx]&lt;br /&gt;
** Shibboleth - [http://shibboleth.internet2.edu/]&lt;br /&gt;
** CAS - [http://www.ja-sig.org/products/cas/]&lt;br /&gt;
*** These could be handled by the client poping up a window using the internal web browser to connect to a HTML logon. It may be difficult or impossible to determine if the client really is displaying the official HTML logon and not capturing key strokes so this would be a way of implementing the above for flexibility or other reasons (e.g. brokered identity verification [http://www.agimo.gov.au/publications/2004/05/egovt_challenges/privacy/identity/brokered]) not for security&lt;br /&gt;
&lt;br /&gt;
== Persistence ==&lt;br /&gt;
&lt;br /&gt;
=== LL&#039;s Objectives ===&lt;br /&gt;
* To synchronise the various LL&#039;s systems (forums, support, jira, account, etc.) so that by logging onto one, you are automatically logged onto the others.&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* None offered!&lt;br /&gt;
** Is this really needed or desirable (&#039;&#039;for the client&#039;&#039;)? SL is not an extension of the web, it&#039;s a different kind of interface... one that has the potential of becoming a &amp;quot;3d web&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* As in the previous section, LL&#039;s objectives could be met without the viewer logging in via the same mechanism.&lt;br /&gt;
* Inconvenient for those with alts or multiple clients&lt;br /&gt;
** Cumbersome to change alts and logon with multiple alts&lt;br /&gt;
** Those with alts, often have a primary account which is used for forums and logged on permanently to forums even when the alt is online in SL&lt;br /&gt;
** As noted in section 1, this reduces flexibility for the *users* which may result in third party viewers adopting the current UI and doing the authentication behind the scenes&lt;br /&gt;
* Danger on public or multi-user machines that the user will log out of the client, but not log out of the website properly allowing the next user to access their account.&lt;br /&gt;
* Staying online on secondlife.com (which many people seem to do) automatically means anyone with access to the computer/browser (family) can log in with the account inworld&lt;br /&gt;
* starting SL from the web browser on a regular basis will most likely result in the web browser lingering in memory in the background when running the viewer, which based on the heavy memory requirement may impair viewer performance.&lt;br /&gt;
* this would make things harder for independent grids to use the official client, and have impact on the architecture discussions for a future open grid. &lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* Not really felt to be an issue needing any resolution!&lt;br /&gt;
== Signatories ==&lt;br /&gt;
&lt;br /&gt;
Please sign this below with &amp;quot;&amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&amp;quot; if you agree with the version of this document you are reading.  The date will indicate which version of the document you read and agree with. &lt;br /&gt;
&lt;br /&gt;
* [[User:Matthew Dowd|Matthew Dowd]] 11:27, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Argent Stonecutter|Argent Stonecutter]] 13:53, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Dale Glass|Dale Glass]] 14:28, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Tillie Ariantho|Tillie Ariantho]] 14:53, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Jesse Barnett|Jesse Barnett]] 20:59, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Winter Ventura|Winter Ventura]] 19:42, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Balp Allen|Balp Allen]] 01:33, 30 September 2007 (PDT)&lt;br /&gt;
* [[User:Michelle2 Zenovka|Michelle2 Zenovka]] 02:52, 30 September 2007 (PDT)&lt;br /&gt;
* [[User:Nicholaz Beresford|Nicholaz]] 03:42, 30 September 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Viewer_Authentication_Critique&amp;diff=33745</id>
		<title>Viewer Authentication Critique</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Viewer_Authentication_Critique&amp;diff=33745"/>
		<updated>2007-09-29T22:38:41Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: signed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a formal critique of [[Viewer Authentication]] that was [https://lists.secondlife.com/pipermail/sldev/2007-September/005403.html requested] by [[User:Rob Linden]] on the [[SLDev]] mailing list.&lt;br /&gt;
&lt;br /&gt;
For a branch of the discussion see [https://wiki.secondlife.com/wiki/Talk:Viewer_Authentication Talk page on the original proposal.]&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
=== LL&#039;s Objectives ===&lt;br /&gt;
* To mitigate the danger of password capturing Trojans masquerading as third party viewers&lt;br /&gt;
* Improve trust in third party viewers by providing a means of assurance to the user that the third party viewer could not be a Trojan capturing usernames and passwords.&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Viewer does not have to process (and &amp;quot;see&amp;quot;) username and password&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* Viewer still involves running trusted code on the computer and could initiate other attacks e.g.&lt;br /&gt;
** Silently buy L$ and pass onto another account&lt;br /&gt;
** Pass token onto bot, and drop the users connection&lt;br /&gt;
** Install key logger to monitor the next website login&lt;br /&gt;
** Salami slicing - make additional small or duplicate payments to cutout when user purchases or pays in game.&lt;br /&gt;
* Potential for naive user to believe this reduces all risks in using a third party viewer.&lt;br /&gt;
* Most of these attacks could be performed by any third-party software designed for use with SL&lt;br /&gt;
** A local support program could install a keylogger.&lt;br /&gt;
** A local support program could inject code into the client.&lt;br /&gt;
** Look at &#039;cheating&#039; tools in MMORPGs for possible approaches.&lt;br /&gt;
* Potential for phishing websites to entice users to enter username and password and then pass control to SL website and viewer.&lt;br /&gt;
** This kind of attack is not theoretical, phishing websites are a criminal industry.&lt;br /&gt;
* Possibility some third party clients will retain the existing UI in order to make it easier for people with alts and multiple clients, and do appropriate GETs and POSTs on the SL to initiate a logon and get the token (thus defeating the original purpose)&lt;br /&gt;
** The issues raised in the next section would mean that people would have an incentive to use this kind of client.&lt;br /&gt;
* Too reliant on browser/OS implementations (proxies, firewalls, used browsers, etc.)&lt;br /&gt;
* Relies on browser security, and uses a mechanism often disabled or filtered due to security concerns&lt;br /&gt;
* Links to secondlife:// can only point to one instance (version, e.g. homebrew, release candidate official) of the program&lt;br /&gt;
* Links to secondlife:// can not pass parameters to the program&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* One time passwords (for copy paste into a non-secure viewer or to print and take with you to friends, internet cafes, public terminals, etc.)&lt;br /&gt;
* lower perm passwords (pwds which put the account into a restricted state, disallowing &amp;quot;dangerous&amp;quot; transactions)&lt;br /&gt;
* separate passwords for website account and being inworld&lt;br /&gt;
* Account restrictions &lt;br /&gt;
* CRAM-MD5 or a similar challenge-response type &lt;br /&gt;
* Dictionary check to reject insecure passwords&lt;br /&gt;
=== Other Issues ===&lt;br /&gt;
* The main existing vulnerability involving the viewer and passwords is that the viewer does not use a cryptographically secure mechanism to pass the password to the server, &amp;lt;b&amp;gt;not&amp;lt;/b&amp;gt; that the viewer may be stealing the password.&lt;br /&gt;
* In practice, trapdoored unofficial third party clients for applications have not historically been a major problem. This seems to be attacking an exposure that is primarily theoretical, and using a mechanism that has been known to be exploited to solve it.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Flexibility ==&lt;br /&gt;
&lt;br /&gt;
=== LL&#039;s Objectives ===&lt;br /&gt;
* Single Sign On - allowing multiple web applications (forums, support, account, jira, wiki etc.) and viewers to use the same username and password through a single point without duplicating usernames and passwords into multiple systems&lt;br /&gt;
* Extension of this to allow non-LL applications and web sites to participate in this single sign on system.&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Enables username/password authentication to work on third party sites without them having to &amp;quot;see&amp;quot; username and password&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* This is really an unrelated issue...&lt;br /&gt;
** The client doesn&#039;t need to depend on the website for this purpose, or this could be a command line option.&lt;br /&gt;
** The client could just as easily be the &#039;authentication source&#039; as the website.&lt;br /&gt;
*** Via a &amp;quot;go to website&amp;quot; link in the client that passed an equivalent token.&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* Use this mechanism for websites (including third party) only but not for viewers&lt;br /&gt;
* Identity Metasystem - [http://en.wikipedia.org/wiki/Identity_Metasystem]&lt;br /&gt;
** OpenID - [http://openid.net/]&lt;br /&gt;
** CardSpace - [http://msdn2.microsoft.com/en-us/netframework/aa663320.aspx]&lt;br /&gt;
** CAS - [http://www.ja-sig.org/products/cas/]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Persistence ==&lt;br /&gt;
&lt;br /&gt;
=== LL&#039;s Objectives ===&lt;br /&gt;
* To integrate the various LL&#039;s systems (forums, support, jira, account, etc.) so that by logging onto one, you are automatically logged onto the others.&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* As in the previous section, LL&#039;s objectives could be met without the browser logging in via the same mechanism.&lt;br /&gt;
* Inconvenient for those with alts&lt;br /&gt;
** Cumbersome to change alts and logon with multiple alts&lt;br /&gt;
** Those with alts, often have a primary account which is used for forums and logged on permanently to forums even when the alt is online in SL&lt;br /&gt;
* Inconvenient for those with multiple clients&lt;br /&gt;
* Danger on public or multi-user machines that the user will log out of the client, but not log out of the website properly allowing the next user to access their account.&lt;br /&gt;
* Staying online on secondlife.com (which many people seem to do) automatically means anyone with access to the computer/browser (family) can log in with the account inworld&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* Is this really needed? &lt;br /&gt;
=== Other issues ===&lt;br /&gt;
* Is this kind of persistence desirable &#039;&#039;for the client&#039;&#039;? SL is not an extension of the web, it&#039;s a different kind of interface... one that has the potential of becoming a &amp;quot;3d web&amp;quot;. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
* this should be an option for those who have increased security needs, users should be able to make their own risk/convenience decisions&lt;br /&gt;
* the feature especially forces those into an extra login step, who use an official viewer (homebrews will most likely quickly implement a way around this for convenience)&lt;br /&gt;
* starting SL from the web browser on a regular basis will most likely result in the web browser lingering in memory in the background when running the viewer, which based on the heavy memory requirement may impair viewer performance.&lt;br /&gt;
* this would make things harder for independent grids to use the official client. Is this considered an advantage or a disadvantage by LL?&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Signatories ==&lt;br /&gt;
&lt;br /&gt;
Please sign this below with &amp;quot;&amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&amp;quot; if you agree with the version of this document you are reading.  The date will indicate which version of the document you read and agree with. &lt;br /&gt;
&lt;br /&gt;
* [[User:Matthew Dowd|Matthew Dowd]] 11:27, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Argent Stonecutter|Argent Stonecutter]] 13:53, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Dale Glass|Dale Glass]] 14:28, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Tillie Ariantho|Tillie Ariantho]] 14:53, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Nicholaz Beresford|Nicholaz]] 15:38, 29 September 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Viewer_Authentication_Critique&amp;diff=33710</id>
		<title>Viewer Authentication Critique</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Viewer_Authentication_Critique&amp;diff=33710"/>
		<updated>2007-09-29T20:22:31Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: whitespace&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a formal critique of [[Viewer Authentication]] that was [https://lists.secondlife.com/pipermail/sldev/2007-September/005403.html requested] by [[User:Rob Linden]] on the [[SLDev]] mailing list.&lt;br /&gt;
&lt;br /&gt;
For a branch of the discussion see [https://wiki.secondlife.com/wiki/Talk:Viewer_Authentication Talk page on the original proposal.]&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Viewer does not have to process (and &amp;quot;see&amp;quot;) username and password&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* Viewer still involves running trusted code on the computer and could initiate other attacks e.g.&lt;br /&gt;
** Silently buy L$ and pass onto another account&lt;br /&gt;
** Pass token onto bot, and drop the users connection&lt;br /&gt;
** Install key logger to monitor the next website login&lt;br /&gt;
* Potential for phishing websites to entice users to enter username and password and then pass control to SL website and viewer.&lt;br /&gt;
* Possibility some third party clients will retain the existing UI in order to make it easier for people with alts and multiple clients, and do appropriate GETs and POSTs on the SL to initiate a logon and get the token (thus defeating the original purpose)&lt;br /&gt;
* Too reliant on browser/OS implementations (proxies, firewalls, used browsers, etc.)&lt;br /&gt;
* Relies on browser security, and uses a mechanism often disabled due to security concerns&lt;br /&gt;
* Links to secondlife:// can only point to one instance (version, e.g. homebrew, release candidate official) of the program&lt;br /&gt;
* Links to secondlife:// can not pass parameters to the program&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* One time passwords (for copy paste into a non-secure viewer or to print and take with you to friends, internet cafes, public terminals, etc.)&lt;br /&gt;
* lower perm passwords (pwds which put the account into a restricted state, disallowing &amp;quot;dangerous&amp;quot; transactions)&lt;br /&gt;
* separate passwords for website account and being inworld&lt;br /&gt;
* Account restrictions &lt;br /&gt;
* CRAM-MD5 or a similar challenge-response type &lt;br /&gt;
* Dictionary check to reject insecure passwords&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Flexibility ==&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Enables username/password authentication to work on third party sites without them having to &amp;quot;see&amp;quot; username and password&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* Use this mechanism for websites (including third party) only but not for viewers&lt;br /&gt;
* Identity Metasystem - [http://en.wikipedia.org/wiki/Identity_Metasystem]&lt;br /&gt;
** OpenID - [http://openid.net/]&lt;br /&gt;
** CardSpace - [http://msdn2.microsoft.com/en-us/netframework/aa663320.aspx]&lt;br /&gt;
** CAS - [http://www.ja-sig.org/products/cas/]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Persistence ==&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* Inconvenient for those with alts&lt;br /&gt;
** Cumbersome to change alts and logon with multiple alts&lt;br /&gt;
** Those with alts, often have a primary account which is used for forums and logged on permanently to forums even when the alt is online in SL&lt;br /&gt;
* Inconvenient for those with multiple clients&lt;br /&gt;
* Danger on public or multi-user machines that the user will log out of the client, but not log out of the website properly allowing the next user to access their account.&lt;br /&gt;
* Staying online on secondlife.com (which many people seem to do) automatically means anyone with access to the computer/browser (family) can log in with the account inworld&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* Is this really needed? &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
* this should be an option for those who have increased security needs, users should be able to make their own risk/convenience decisions&lt;br /&gt;
* the feature especially forces those into an extra login step, who use an official viewer (homebrews will most likely quickly implement a way around this for convenience)&lt;br /&gt;
* starting SL from the web browser on a regular basis will most likely result in the web browser lingering in memory in the background when running the viewer, which based on the heavy memory requirement may impair viewer performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Signatories ==&lt;br /&gt;
&lt;br /&gt;
Please sign this below with &amp;quot;&amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&amp;quot; if you agree with the version of this document you are reading.  The date will indicate which version of the document you read and agree with. &lt;br /&gt;
&lt;br /&gt;
* [[User:Matthew Dowd|Matthew Dowd]] 11:27, 29 September 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Viewer_Authentication_Critique&amp;diff=33709</id>
		<title>Viewer Authentication Critique</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Viewer_Authentication_Critique&amp;diff=33709"/>
		<updated>2007-09-29T20:19:44Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: various bullets&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a formal critique of [[Viewer Authentication]] that was [https://lists.secondlife.com/pipermail/sldev/2007-September/005403.html requested] by [[User:Rob Linden]] on the [[SLDev]] mailing list.&lt;br /&gt;
&lt;br /&gt;
For a branch of the discussion see [https://wiki.secondlife.com/wiki/Talk:Viewer_Authentication Talk page on the original proposal.]&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Viewer does not have to process (and &amp;quot;see&amp;quot;) username and password&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* Viewer still involves running trusted code on the computer and could initiate other attacks e.g.&lt;br /&gt;
** Silently buy L$ and pass onto another account&lt;br /&gt;
** Pass token onto bot, and drop the users connection&lt;br /&gt;
** Install key logger to monitor the next website login&lt;br /&gt;
* Potential for phishing websites to entice users to enter username and password and then pass control to SL website and viewer.&lt;br /&gt;
* Possibility some third party clients will retain the existing UI in order to make it easier for people with alts and multiple clients, and do appropriate GETs and POSTs on the SL to initiate a logon and get the token (thus defeating the original purpose)&lt;br /&gt;
* Too reliant on browser/OS implementations (proxies, firewalls, used browsers, etc.)&lt;br /&gt;
* Relies on browser security, and uses a mechanism often disabled due to security concerns&lt;br /&gt;
* Links to secondlife:// can only point to one instance (version, e.g. homebrew, release candidate official) of the program&lt;br /&gt;
* Links to secondlife:// can not pass parameters to the program&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* One time passwords (for copy paste into a non-secure viewer or to print and take with you to friends, internet cafes, public terminals, etc.)&lt;br /&gt;
* lower perm passwords (pwds which put the account into a restricted state, disallowing &amp;quot;dangerous&amp;quot; transactions)&lt;br /&gt;
* separate passwords for website account and being inworld&lt;br /&gt;
* Account restrictions &lt;br /&gt;
* CRAM-MD5 or a similar challenge-response type &lt;br /&gt;
* Dictionary check to reject insecure passwords&lt;br /&gt;
&lt;br /&gt;
== Flexibility ==&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Enables username/password authentication to work on third party sites without them having to &amp;quot;see&amp;quot; username and password&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* Use this mechanism for websites (including third party) only but not for viewers&lt;br /&gt;
* Identity Metasystem - [http://en.wikipedia.org/wiki/Identity_Metasystem]&lt;br /&gt;
** OpenID - [http://openid.net/]&lt;br /&gt;
** CardSpace - [http://msdn2.microsoft.com/en-us/netframework/aa663320.aspx]&lt;br /&gt;
** CAS - [http://www.ja-sig.org/products/cas/]&lt;br /&gt;
&lt;br /&gt;
== Persistence ==&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* Inconvenient for those with alts&lt;br /&gt;
** Cumbersome to change alts and logon with multiple alts&lt;br /&gt;
** Those with alts, often have a primary account which is used for forums and logged on permanently to forums even when the alt is online in SL&lt;br /&gt;
* Inconvenient for those with multiple clients&lt;br /&gt;
* Danger on public or multi-user machines that the user will log out of the client, but not log out of the website properly allowing the next user to access their account.&lt;br /&gt;
* Staying online on secondlife.com (which many people seem to do) automatically means anyone with access to the computer/browser (family) can log in with the account inworld&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* Is this really needed? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
* this should be an option for those who have increased security needs, users should be able to make their own risk/convenience decisions&lt;br /&gt;
* the feature especially forces those into an extra login step, who use an official viewer (homebrews will most likely quickly implement a way around this for convenience)&lt;br /&gt;
* starting SL from the web browser on a regular basis will most likely result in the web browser lingering in memory in the background when running the viewer, which based on the heavy memory requirement may impair viewer performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Signatories ==&lt;br /&gt;
&lt;br /&gt;
Please sign this below with &amp;quot;&amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&amp;quot; if you agree with the version of this document you are reading.  The date will indicate which version of the document you read and agree with. &lt;br /&gt;
&lt;br /&gt;
* [[User:Matthew Dowd|Matthew Dowd]] 11:27, 29 September 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Authentication&amp;diff=33665</id>
		<title>Talk:Viewer Authentication</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Authentication&amp;diff=33665"/>
		<updated>2007-09-29T13:14:25Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am sorry but the incidences of account hijacking from persistant logins is going to be FAR greater than incidences from phishing.&lt;br /&gt;
&lt;br /&gt;
How you can actually write something like &amp;quot;So long as you are logged into the website on someone&#039;s else computer, they will be able to gain access to your account&amp;quot; and then continue on with the idea /at all/ is astonishing.&lt;br /&gt;
&lt;br /&gt;
Log into web site and launch SL? That&#039;s fine by itself. &amp;quot;There&amp;quot; worked that way and it was ok, not as good from a pure usability standpoint but ok..., but it it /cannot/ be persistant. We are talking about real money theft here. This is a lowering of security not an increase in it. And I know that other people do it and there is a &amp;quot;remember password&amp;quot; checkbox on the viewer but that doesn&#039;t excuse this. If increasing security is actually the goal, persistant logins anywhere are an about face to it.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
This is like snogging SARS patients to improve your health.&lt;br /&gt;
&lt;br /&gt;
Web based UIs are the #1 tool for phishing. The most commonly used web browser in the world is not just insecure, it has security holes that can not even in theory be fixed. It has been a running gag for 10 years now. And if you&#039;re worried about people using open source software for phishing,  the popular open source browsers are actually MORE secure than the native ones on BOTH Windows and OS X.&lt;br /&gt;
&lt;br /&gt;
On Linux, ALL the browsers are open-source.&lt;br /&gt;
&lt;br /&gt;
This change will reduce reliability, reduce security, and reduce people&#039;s confidence in SL. If anything, you should be centralizing logins in the client and have it handle authenticating the browser, not the other way around. -- [[User:Argent Stonecutter|Argent Stonecutter]] 22:09, 28 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
PS: you also need to fix the proxy support in SL before you even THINK of making it use that splash screen for logging in, because that bad boy never even shows up if you&#039;re behind a proxy. -- [[User:Argent Stonecutter|Argent Stonecutter]] 22:18, 28 September 2007 (PDT)&lt;br /&gt;
----&lt;br /&gt;
This should go long intense beta (release candidate) before switching.  Things like proxies, network, and a thousand other variants will break this and make it impossible for people to log in. &lt;br /&gt;
&lt;br /&gt;
For example for some debugging scenarios I&#039;m compiling the viewer without llmozlib.  If anything, the web communication in the first iteration should happen through libcurl.&lt;br /&gt;
&lt;br /&gt;
[[User:Nicholaz Beresford|Nicholaz]]&lt;br /&gt;
----&lt;br /&gt;
The weakest point in the approach however is that a malicious viewer can do anything it needs, once logged in.  And when started it can simply install a keystroke logger. &lt;br /&gt;
&lt;br /&gt;
Even a web based application (promising to do whatever would appeal to people) could redirect to the SecondLife page for login, either spoofing the SL page or just grabbing the legit login token and then do something else with it.&lt;br /&gt;
&lt;br /&gt;
The only way I see in order to increase security in relation to transactions and valuable assets is to protect these transactions with disposable passwords or one time transaction numbers (TANs), which is an established procedure in the bank industry. But even then a viewer could simply catch the TAN and execute a different transaction instead.&lt;br /&gt;
&lt;br /&gt;
Another approach would be to issue secondary passwords with limited power, so that a viewer logged in with that, will never be able to execute power transactions.&lt;br /&gt;
[[User:Nicholaz Beresford|Nicholaz]]&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=33089</id>
		<title>Compiling the viewer (MSVS2003)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=33089"/>
		<updated>2007-09-27T08:31:31Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
The following instructions are for compiling the Second Life viewer on Windows for Visual Studio .Net 2003.  If you are using more recent versions of Visual Studio, see [[Compiling the viewer (MSVS2005)]]. For other platforms including MacOS and Linux, see [[Compiling the viewer]].&lt;br /&gt;
&lt;br /&gt;
If you get lost, or these instructions are incomplete, see [[communication tools]] for a list of ways to get in touch with people that can help.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Development Environment ==&lt;br /&gt;
The following dev environment is what LL uses for Windows development.  There is no reason that the Second Life viewer can not be built using other environments, but it will take some extra work.&lt;br /&gt;
&lt;br /&gt;
(Instructions for building the viewer using Microsoft&#039;s Visual Studio .NET 2005 Express can be found [[Compiling the viewer (MSVS2005)|on another page]]. At the time of writing, Express was freely available.)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Visual Studio .NET 2003 Professional ===&lt;br /&gt;
* Download and install [http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;amp;displaylang=en Microsoft Platform SDK]&lt;br /&gt;
* Download and install a DirectX 9.0 SDK released on or after Summer of 2003 [http://download.microsoft.com/download/5/1/f/51ff8357-0af3-418b-9d0b-e9a5cdc39759/dxsdk_dec2006.EXE DirectX 9.0 SDK (December 2006)] [http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298&amp;amp;displaylang=en DirectX 9.0 SDK Update (Summer 2003)]&lt;br /&gt;
** If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -&amp;gt; Add or Remove Programs) before installing this version.  Installing the new SDK &amp;quot;on top&amp;quot; of an older version may cause problems.&lt;br /&gt;
** Upon installing, it is sufficient to install the &#039;&#039;&#039;include&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; part.  Other DX development tools are not necessary.&lt;br /&gt;
* Set up the project globals:&lt;br /&gt;
** Start Visual C++&lt;br /&gt;
** Go to Tools/Options/Projects/VC++ Directories&lt;br /&gt;
** Make sure that the &#039;&#039;&#039;includes&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; paths are there (or otherwise add them) in the following order: 1) Platform SDK paths, 2) DirectX SDK paths, 3) Visual C++ paths&lt;br /&gt;
** If you are adding DirectX SDK paths, be aware that later versions of the DirectX SDK have subfolders inside the lib directory.  With those make sure you select &#039;&#039;&#039;lib/x86&#039;&#039;&#039;, not just &#039;&#039;&#039;lib&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Other Development Tools === &lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. The project files use several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039;, if it&#039;s not you&#039;ll need to edit those references.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** You should install this if compiling 1.18 or later viewers, or else hack the prebuild .bat files as in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears, that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
The easiest way to get this working is to get &#039;&#039;&#039;source&#039;&#039;&#039;, &#039;&#039;&#039;artwork&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; for the same version from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Avoid folder names with spaces in them (this means avoid putting the project into your &#039;&#039;My Documents&#039;&#039; folder).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
Some libraries can be distributed with the SL source and there is a library package available with the source.  As mentioned above (about the source), you can simply extract the &#039;&#039;&#039;library&#039;&#039;&#039; archive and copy the files to your code directory, maintaining the same directory structure.  &lt;br /&gt;
&lt;br /&gt;
If instead you are interested in compiling these libraries from their source (instead of using the above zipfile of precompiled libraries provided by Linden Lab), see [[Compiling the viewer libraries (MSVS 2003)]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Other Libraries ==&lt;br /&gt;
&lt;br /&gt;
Linden Lab included all the libraries/includes they can ship with their source, but we can not distribute the source to the following , and you will need to follow the instructions to acquire below.&lt;br /&gt;
&lt;br /&gt;
However, it probably is a good idea to build an empty directory tree for the files below and first copy the files there and once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY  olibs  sl_1_16_0_5 /S&#039;&#039;).  The reason is, that these steps are cumbersome and will have to be repeated for each new release (at least if you keep the source for each release in it&#039;s own folder).  &lt;br /&gt;
&lt;br /&gt;
If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&lt;br /&gt;
==== Fmod ====&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 api for win32].&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== gl ====&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Quicktime (Optional) ====&lt;br /&gt;
* &#039;&#039;&#039;Note:&#039;&#039;&#039; Quicktime download can be skipped &#039;&#039;&#039;if you can live with a build that does not play in-world movies&#039;&#039;&#039; (some minor modifications to the project are necessary then, see &amp;quot;QuickTime removal&amp;quot; on the build instructions for [[Compiling the viewer (MSVS2005)|Visual Studio 2005]]).&lt;br /&gt;
* Download &amp;amp; install the [http://developer.apple.com/quicktime/download/ Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Building ==&lt;br /&gt;
* Open the &#039;&#039;&#039;indra\indra_complete\indra_complete.sln&#039;&#039;&#039; solution in Visual Studio (Note: If you plan to work with multiple versions over time, you will find it useful to rename &#039;&#039;&#039;indra_complete.sln&#039;&#039;&#039; to something which contains the version number, e.g. &#039;&#039;&#039;indra_1_17_0_11.sln&#039;&#039;&#039; before opening)&lt;br /&gt;
* Set newview to be the startup project.&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; (for running/debugging production code).&lt;br /&gt;
* Note that the ReleaseForDownload build also contains debug information and can be run in the debugger.&lt;br /&gt;
* newview_noopt.exe will be built in \indra\newview\ReleaseNoOpt, or SecondLife.exe will be built in \indra\newview\ReleaseForDownload&lt;br /&gt;
* To run it outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (all the .dll will be found there.)&lt;br /&gt;
* Alternately copy the exe (possibly rename it) to your &amp;quot;c:\program files\second life&amp;quot; folder.&lt;br /&gt;
* There were additional steps required in version 1.15 which seem to be fixed now.  If you are trying to build 1.15 see an [https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2003%29&amp;amp;oldid=23026 older version of this page].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors while building? ==&lt;br /&gt;
See [[Common compilation problems]] if you run into errors while building.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Configurations/Debugging Info ==&lt;br /&gt;
* You will usually compile/debug the &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; or ReleaseForDownload configuration (&#039;&#039;&#039;Debug&#039;&#039;&#039; should also work but should not really be necessary).&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; runs fine in the debugger, but times you may miss debugger access to some local variables or the debugger may even show wrong values for objects and members, because it is confused by the optimizations.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session.&lt;br /&gt;
* You can see the last few lines from the debugger console also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug log (usually in application data) can also be redirected to a more file if you add &amp;quot;-log secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[Finding_leaks]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* Viewer Error: &#039;&#039;&#039;Second Life is unable to access a file that it needs.&#039;&#039;&#039;:  Did you neglect to download the Artworks archive from the [[source downloads]] page?  It is in the Viewer column, below the OS-specific Viewer archives.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and repoen it, before you can connect to the selected grid).&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* If you want to connect to the beta grid, add &#039;&#039;&#039;--aditi&#039;&#039;&#039; to the command line (Newview, Properties, Debugging, Command line argument).&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Submit Patches ==&lt;br /&gt;
This is probably far down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(Mac_OS_X)&amp;diff=32653</id>
		<title>Compiling the viewer (Mac OS X)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(Mac_OS_X)&amp;diff=32653"/>
		<updated>2007-09-25T11:06:18Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: adding links to barney&amp;#039;s tips&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
The following are instructions for building the Second Life viewer on Mac OS X.  For other platforms, see [[Compiling the viewer]]&lt;br /&gt;
&lt;br /&gt;
You will also need to check the &#039;&#039;&#039;Build Notes&#039;&#039;&#039; column of the table on [[source downloads]] page.&lt;br /&gt;
&lt;br /&gt;
= Development Environment =&lt;br /&gt;
&lt;br /&gt;
Lindens use XCode 2.4.1 for building on Macintosh computers. For simplicity, we suggest installing everything from the mpkg.&lt;br /&gt;
&lt;br /&gt;
You will need to install the proprietary libraries as well as all of the other third party libraries below. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Installing Files =&lt;br /&gt;
&lt;br /&gt;
== Viewer Source, Libraries, and Artwork ==&lt;br /&gt;
&lt;br /&gt;
The required source code, pre-compiled third-party libraries, and artwork files are available from the [[source downloads]] page.  Download the Mac/Linux (LF) source, the Mac library package, and the Artwork zip file.  &lt;br /&gt;
&lt;br /&gt;
Unpack them into a single directory. The directory that you work in should should have no spaces in the name. For example, from the directory where you downloaded the tarballs (x.x.x.x = version number, e.g., 1.14.0.1.):&lt;br /&gt;
&lt;br /&gt;
 $ tar xvfz slviewer-src-x.x.x.x.tar.gz&lt;br /&gt;
 $ tar xvfz slviewer-darwin-libs-x.x.x.x.tar.gz&lt;br /&gt;
 $ unzip slviewer-artwork-x.x.x.x.zip&lt;br /&gt;
&lt;br /&gt;
If you have Stuffit installed on your system, it may automacially unstuff .gz, so use  tar xvf, without the z to extract the tar file. It may also automatically unzip files. Instead of clicking on the file link, right click on the file link and select Download Linked File which will keep .gz and .zip intact.&lt;br /&gt;
&lt;br /&gt;
The exact filenames will differ with the version number. If you open them with the double click file extract, remember that dragging folders on top of each other will overwrite the original contents, not merge them as in Windows.&lt;br /&gt;
&lt;br /&gt;
Check the [[source downloads]] page for any special Build Notes associated with the viewer version, if any.&lt;br /&gt;
&lt;br /&gt;
== Installing Libraries From Scratch (Optional) ==&lt;br /&gt;
&lt;br /&gt;
For convenience, Lindens package up the libraries they are allowed to distribute so you can download and unpack them into your development working directory. The [[#Viewer Source, Libraries, and Artwork|above procedure]] installs pre-compiled third-party library files.  Alternatively, if you want to build the libraries yourself, See [[Compiling the viewer libraries (Mac OS X)|another page]].&lt;br /&gt;
&lt;br /&gt;
== Installing Proprietary Libraries ==&lt;br /&gt;
&lt;br /&gt;
The Viewer depends on some proprietary libraries.  Lindens do not distribute these libraries, so you will need to fetch and install these even if you download the libraries packages.  (This is due to licensing restrictions.  Don&#039;t ask, Lindens already did, and can&#039;t get permission.  So you do have to get them yourself.)&lt;br /&gt;
&lt;br /&gt;
=== Fmod ===&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 programmers api for macintosh].&lt;br /&gt;
* (You do *not* want the latest version, instead scroll down to v3.75)&lt;br /&gt;
* Copy the extracted files. &#039;&#039;Note the name change for the x86 library.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ cp -p fmodapi375mac/api/inc/*.h linden/libraries/include&lt;br /&gt;
 $ cp -p fmodapi375mac/api/lib/libfmod.a linden/libraries/powerpc-darwin/lib_debug&lt;br /&gt;
 $ cp -p fmodapi375mac/api/lib/libfmod.a linden/libraries/powerpc-darwin/lib_release&lt;br /&gt;
 $ cp -p fmodapi375mac/api/lib/libfmodx86.a linden/libraries/i386-darwin/lib_debug/libfmod.a&lt;br /&gt;
 $ cp -p fmodapi375mac/api/lib/libfmodx86.a linden/libraries/i386-darwin/lib_release/libfmod.a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Building the Viewer =&lt;br /&gt;
Launch XCode, open the project file &#039;linden/indra/newview/macview.xcodeproj&#039;, &lt;br /&gt;
&lt;br /&gt;
set &#039;libraries&#039; as the active target, select an active build configuration, build the libraries. After that: &lt;br /&gt;
set &#039;newview&#039; as the active target, select an active build configuration, and build the project.&lt;br /&gt;
&lt;br /&gt;
If you had to change gcc versions for a ppc build, restore gcc back to 4.0.&lt;br /&gt;
&lt;br /&gt;
 $ sudo gcc_select 4.0&lt;br /&gt;
&lt;br /&gt;
== Build Configurations ==&lt;br /&gt;
&lt;br /&gt;
; Development : This configuration is more suitable for debugging. The build process will create the SecondLife application targeted for your host architecture.&lt;br /&gt;
; Deployment : This configuration is faster than the development version at the cost of some ability to debug. The build process will create the SecondLife application targeted for your host architecture.&lt;br /&gt;
; Universal : This configuration is the same as the Deployment target except that all supported architectures - ppc and i386 - are built.&lt;br /&gt;
&lt;br /&gt;
== Post Build Steps ==&lt;br /&gt;
To deal with some quirks after building see [http://radio-boomslang.shacknet.nu/~bb/archives/2007/09/16/index.html#e2007-09-16T19_05_06.txt Barney Boomslang post build tips] (not everything there may apply to you, but worth checking)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Building the Unit Tests =&lt;br /&gt;
From XCode, open the project &#039;linden/indra/test/MacTester.xcodeproj&#039;, set &#039;MacTester&#039; as the active target, and build.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Submitting Patches =&lt;br /&gt;
This is probably far down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=31025</id>
		<title>Converting project files for MSVS2005</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=31025"/>
		<updated>2007-09-10T12:09:42Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: more polishing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= Manual conversion of the VS2003 solution/projects =&lt;br /&gt;
This page describes the steps necessary to fully convert Linden Labs solution and project files from VS2003 to VS2005. &lt;br /&gt;
&lt;br /&gt;
There are canned sets of these available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151], so downloading these may save you the work described below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global steps ==&lt;br /&gt;
&lt;br /&gt;
* Start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* Use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete.sln&lt;br /&gt;
* Visual Studio prompts to update your project files.  Allow it to do so.  When the results are displayed, you may see warnings, but you should not see any errors.&lt;br /&gt;
* Right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* From the Visual Studio menu bar, choose &amp;quot;File &amp;gt; New &amp;gt; File...&amp;quot;.  On the &amp;quot;New Fille&amp;quot; dialog box, choose &amp;quot;General&amp;quot;, then &amp;quot;Text File&amp;quot;.  Select the following lines on your browser, copy them, and paste them to the empty file you just created.  Save it as a file of the name &amp;quot;SL-UpgradeFromVC71_vc8.vsprops&amp;quot; under the foler &amp;quot;indra_complete&amp;quot; (where the &amp;quot;indra_complete.sln&amp;quot; file resides.)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;VisualStudioPropertySheet&lt;br /&gt;
    ProjectType=&amp;quot;Visual C++&amp;quot;&lt;br /&gt;
    Version=&amp;quot;8.00&amp;quot;&lt;br /&gt;
    Name=&amp;quot;Upgrade From VC 7.1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCCLCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
        TreatWChar_tAsBuiltInType=&amp;quot;false&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCResourceCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
 &amp;lt;/VisualStudioPropertySheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== All Configuration Steps ==&lt;br /&gt;
#Select all projects, i.e., llaudio, llcharacter, ..., win_updater, &#039;&#039;&#039;except&#039;&#039;&#039; for lscript_compile_fb and test.  (You can do it by control-clicking on the projects.)  &lt;br /&gt;
# Right click on the selection and choose Properties.&lt;br /&gt;
# A window named Property Pages opens.  There single left-click (select) &#039;&#039;&#039;Configuration Properties&#039;&#039;&#039; in the tree on the left of the window.&lt;br /&gt;
# In the upper left corner of Property Pages choose &#039;&#039;&#039;All Configurations&#039;&#039;&#039; from the Configuration drop down box.&lt;br /&gt;
# Now, in the tree select &#039;&#039;&#039;Configuration Properties &amp;gt; General&#039;&#039;&#039; and change &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; and set it to &#039;&#039;&#039;$(SolutionDir)\SL-UpgradeFromVC71_vc8.vsprops&#039;&#039;&#039;.&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; General&#039;&#039;&#039;, change &#039;&#039;&#039;Treat Warnings As Errors&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;No&#039;&#039;&#039;&amp;quot;.  ([[:Image:MSVS2005_Project_Property_Pages_Config_CPP_General.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Language&#039;&#039;&#039;, change (if necessary) &#039;&#039;&#039;Treat wchar_t as Build-in Type&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;No (/Zc:wchar_t-)&#039;&#039;&#039;&amp;quot; ([[:Image:MSVS2005 Project Property Pages Config CPP Language.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Advanced&#039;&#039;&#039;, change (if necessary) &#039;&#039;&#039;Use Full Paths&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;Yes (/FC)&#039;&#039;&#039;&amp;quot; ([[:Image:MSVS2005 Project Property Pages Config CPP Advanced.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Click OK for the dialog.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Per Configuration Steps ==&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box next to the green arrow under the tool bar, and do the followings on the Solution Explorer frame (on left side of the VS2005 window):&lt;br /&gt;
*#Left-click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.  &lt;br /&gt;
*#* Right-click &#039;&#039;&#039;newview&#039;&#039;&#039;, choose Properties.&lt;br /&gt;
*#*Under &#039;&#039;&#039;Configuration Properties &amp;gt; Linker &amp;gt; Input&#039;&#039;&#039;, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
*#*Scroll down the list to find &#039;&#039;&#039;libboost_regex-vc71-mt-s.lib&#039;&#039;&#039;.  Rewrite it to libboost_regex-vc&#039;&#039;&#039;80&#039;&#039;&#039;-mt-s.lib.&lt;br /&gt;
*#*Scroll down again to find &#039;&#039;&#039;llmozlib.lib&#039;&#039;&#039; and rewrite it to llmozlib&#039;&#039;&#039;-vc80&#039;&#039;&#039;.lib.&lt;br /&gt;
*#*Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box (in the toolbar, next to the green arrow).  Repeat the same steps (as for ReleaseNoOpt above) again.  &lt;br /&gt;
* Depending on what you want to do later (or if you want to do a full and complete conversion), you may also need to perform these steps for the Debug and Release configurations, but for a start it is safe to skip these.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optional steps ==&lt;br /&gt;
The following steps are not strictly necessary, unless you want a full and ultra clean conversion (e.g. for sharing with others).  These instructions are telegram style, assuming you will do this only after you have aquainted yourselves with the project&lt;br /&gt;
* In the Configuration manager (Build menu): &lt;br /&gt;
** unclick the build column for &#039;&#039;&#039;test&#039;&#039;&#039;, &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; in all configurations &#039;&#039;&#039;except ReleaseForDownload&#039;&#039;&#039;.&lt;br /&gt;
** unclick the build column for &#039;&#039;&#039;test&#039;&#039;&#039; in &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039;&lt;br /&gt;
* For all configurations: In newview, properties, linker input:  If you find libraries starting with &#039;ll&#039; (e.g. &#039;&#039;&#039;llaudio.lib&#039;&#039;&#039;, &#039;&#039;&#039;llcharacter.lib&#039;&#039;&#039;, etc.) or find the library &#039;&#039;&#039;lscript_library.lib&#039;&#039;&#039;), remove them from the list (these libraries are linked through the dependency)&lt;br /&gt;
* For all configurations: In newview, properties, linker input: Set &#039;&#039;&#039;Ignore Specific Library&#039;&#039;&#039; to &#039;&#039;&#039;msvcrt.lib;msvcrtd.lib;libc.lib;libcd.lib;&#039;&#039;&#039;&lt;br /&gt;
* In the Debug configuration, under lscript_compile_fb, indra.y, properties, custom build step, general, command line, make sure you have &#039;&#039;C:\cygwin\bin\mv.exe ytab.hpp ytab.h&#039;&#039; (use the command line from the release configuration as reference).&lt;br /&gt;
* In the Debug configuration, also add &#039;&#039;&#039;libcmt.lib;&#039;&#039;&#039; to the list of specific libraries to ignore.&lt;br /&gt;
* In all configurations: the libraries need to be changed from vc71 to vc80 (boost, llmozlib) for the &#039;&#039;&#039;test&#039;&#039;&#039; project as well, but since &#039;&#039;&#039;test&#039;&#039;&#039; does not seem to work under VC2005 so far, it&#039;s optional.&lt;br /&gt;
&lt;br /&gt;
== Done :-) ==&lt;br /&gt;
Congratulations!  You&#039;ve converted &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You need to do this by hand everytime a new viewer version is released...&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=31024</id>
		<title>Converting project files for MSVS2005</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Converting_project_files_for_MSVS2005&amp;diff=31024"/>
		<updated>2007-09-10T11:52:49Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: some minor clarifications&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= Manual conversion of the VS2003 solution/projects =&lt;br /&gt;
This page describes the steps necessary to fully convert Linden Labs solution and project files from VS2003 to VS2005. &lt;br /&gt;
&lt;br /&gt;
There are canned sets of these available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151], so downloading these may save you the work described below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global steps ==&lt;br /&gt;
&lt;br /&gt;
* Start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* Use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete.sln&lt;br /&gt;
* Visual Studio prompts to update your project files.  Allow it to do so.  When the results are displayed, you may see warnings, but you should not see any errors.&lt;br /&gt;
* Right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* From the Visual Studio menu bar, choose &amp;quot;File &amp;gt; New &amp;gt; File...&amp;quot;.  On the &amp;quot;New Fille&amp;quot; dialog box, choose &amp;quot;General&amp;quot;, then &amp;quot;Text File&amp;quot;.  Select the following lines on your browser, copy them, and paste them to the empty file you just created.  Save it as a file of the name &amp;quot;SL-UpgradeFromVC71_vc8.vsprops&amp;quot; under the foler &amp;quot;indra_complete&amp;quot; (where the &amp;quot;indra_complete.sln&amp;quot; file resides.)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;VisualStudioPropertySheet&lt;br /&gt;
    ProjectType=&amp;quot;Visual C++&amp;quot;&lt;br /&gt;
    Version=&amp;quot;8.00&amp;quot;&lt;br /&gt;
    Name=&amp;quot;Upgrade From VC 7.1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCCLCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
        TreatWChar_tAsBuiltInType=&amp;quot;false&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
    &amp;lt;Tool&lt;br /&gt;
        Name=&amp;quot;VCResourceCompilerTool&amp;quot;&lt;br /&gt;
        PreprocessorDefinitions=&amp;quot;_VC80_UPGRADE=0x0710;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;_SECURE_SCL=0&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
 &amp;lt;/VisualStudioPropertySheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== All Configuration Steps ==&lt;br /&gt;
#Select all projects, i.e., llaudio, llcharacter, ..., win_updater, &#039;&#039;&#039;except&#039;&#039;&#039; for lscript_compile_fb and test.  (You can do it by control-clicking on the projects.)  &lt;br /&gt;
# Right click on the selection and choose Properties.&lt;br /&gt;
# A window named Property Pages opens.  There single left-click (select) &#039;&#039;&#039;Configuration Properties&#039;&#039;&#039; in the tree on the left of the window.&lt;br /&gt;
# In the upper left corner of Property Pages choose &#039;&#039;&#039;All Configurations&#039;&#039;&#039; from the Configuration drop down box.&lt;br /&gt;
# Now, in the tree select &#039;&#039;&#039;Configuration Properties &amp;gt; General&#039;&#039;&#039; and change &#039;&#039;&#039;Inherited Project Property Sheets&#039;&#039;&#039; and set it to &#039;&#039;&#039;$(SolutionDir)\SL-UpgradeFromVC71_vc8.vsprops&#039;&#039;&#039;.&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; General&#039;&#039;&#039;, change &#039;&#039;&#039;Treat Warnings As Errors&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;No&#039;&#039;&#039;&amp;quot;.  ([[:Image:MSVS2005_Project_Property_Pages_Config_CPP_General.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Language&#039;&#039;&#039;, change (if necessary) &#039;&#039;&#039;Treat wchar_t as Build-in Type&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;No (/Zc:wchar_t-)&#039;&#039;&#039;&amp;quot; ([[:Image:MSVS2005 Project Property Pages Config CPP Language.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Under the &#039;&#039;&#039;Configuration Properties &amp;gt; C/C++ &amp;gt; Advanced&#039;&#039;&#039;, change (if necessary) &#039;&#039;&#039;Use Full Paths&#039;&#039;&#039; to &amp;quot;&#039;&#039;&#039;Yes (/FC)&#039;&#039;&#039;&amp;quot; ([[:Image:MSVS2005 Project Property Pages Config CPP Advanced.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]).&lt;br /&gt;
# Click OK for the dialog.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Per Configuration Steps ==&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box beside the green arrow under the tool bar, and do the followings on the Solution Explorer frame (on left side of the VS2005 window):&lt;br /&gt;
*#Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.  &lt;br /&gt;
*#* Right-click &#039;&#039;&#039;newview&#039;&#039;&#039;, choose Properties.&lt;br /&gt;
*#*Under Configuration Properties &amp;gt; Linker &amp;gt; Input, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
*#*Scroll down the list to find &#039;&#039;&#039;libboost_regex-vc71-mt-s.lib&#039;&#039;&#039;.  Rewrite it to libboost_regex-vc&#039;&#039;&#039;80&#039;&#039;&#039;-mt-s.lib.&lt;br /&gt;
*#*Scroll down again to find &#039;&#039;&#039;llmozlib.lib&#039;&#039;&#039; and rewrite it to llmozlib&#039;&#039;&#039;-vc80&#039;&#039;&#039;.lib.&lt;br /&gt;
*#*Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box.  Do the same thing (as 1 to 7 above) again.  Depending on what you want to do later (or if you want to do a full and complete conversion, you will also need to do it for Debug and Release).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optional steps ==&lt;br /&gt;
The following steps are not strictly necessary, unless you want a full and ultra clean conversion (e.g. for sharing with others).  These instructions are telegram style, assuming you will do this only after you have aquainted yourselves with the project&lt;br /&gt;
* In the Configuration manager: &lt;br /&gt;
** unclick &#039;&#039;&#039;test&#039;&#039;&#039;, &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; for all configurations except &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039;.&lt;br /&gt;
** unclick &#039;&#039;&#039;test&#039;&#039;&#039; for &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039;&lt;br /&gt;
* For all configurations: In newview, properties, linker input:  If you find libraries starting with &#039;ll&#039; (e.g. &#039;&#039;&#039;llaudio.lib&#039;&#039;&#039;, &#039;&#039;&#039;llcharacter.lib&#039;&#039;&#039;, etc.) or find the library &#039;&#039;&#039;lscript_library.lib&#039;&#039;&#039;), remove them from the list (these libraries are linked through the dependancy)&lt;br /&gt;
* For all configurations: In newview, properties, linker input: Set &#039;&#039;&#039;Ignore Specific Library&#039;&#039;&#039; to &#039;&#039;&#039;msvcrt.lib;msvcrtd.lib;libc.lib;libcd.lib;&#039;&#039;&#039;&lt;br /&gt;
* In the Debug configuration, under lscript_compile_fb, indra.y, properties, custom build step, general, command line, make sure you have &#039;&#039;C:\cygwin\bin\mv.exe ytab.hpp ytab.h&#039;&#039; (use the command line from the release configuration as reference).&lt;br /&gt;
* In the Debug configuration, also add &#039;&#039;&#039;libcmt.lib;&#039;&#039;&#039; to the list of specific libraries to ignore.&lt;br /&gt;
* In all configurations: the libraries need to be changed from vc71 to vc80 (boost, llmozlib) for the &#039;&#039;&#039;test&#039;&#039;&#039; project as well, but since &#039;&#039;&#039;test&#039;&#039;&#039; does not seem to work under VC2005 so far, it&#039;s optional.&lt;br /&gt;
&lt;br /&gt;
== Done :-) ==&lt;br /&gt;
Congratulations!  You&#039;ve converted &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You need to do this by hand everytime a new viewer version is released...&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Open_Source_Meeting/2007-10-18&amp;diff=29679</id>
		<title>Open Source Meeting/2007-10-18</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Open_Source_Meeting/2007-10-18&amp;diff=29679"/>
		<updated>2007-08-30T14:32:28Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: Peeking inside the Black Box&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt; [[Open Source Meeting]]&lt;br /&gt;
&lt;br /&gt;
Open source meeting  - Thursday, 2pm PT&lt;br /&gt;
&lt;br /&gt;
* Your agenda items go here - just click &amp;quot;Edit&amp;quot; :)&lt;br /&gt;
* If there&#039;s nothing else, I&#039;ll take a stab at it.  Low priority and I may be a bit late (2PM is a bit borderline today), so feel free to raise other issues if I&#039;m not there or more important issues even if I&#039;m there. [[User:Nicholaz Beresford|Nicholaz]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agenda:&lt;br /&gt;
* Peeking into the black box: Q/A about the Linden workflow, priorities, etc. [[User:Nicholaz Beresford|Nicholaz]] 07:32, 30 August 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Alternate_viewers&amp;diff=29677</id>
		<title>Alternate viewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Alternate_viewers&amp;diff=29677"/>
		<updated>2007-08-30T14:23:03Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: alphabetical order of entries&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The [[Extended_FAQ|Extended FAQ]] states that it is okay to create and distribute homebrew viewers as long they adhere to the respective licenses for code usage and server usage.  &lt;br /&gt;
&lt;br /&gt;
The code itself is licensed under {{OSWebsite|gplv2|alt=the GNU General Public License (GPL)}}, which governs modification and redistribuition of the source code.  Use of Linden Lab&#039;s servers will still be governed by [http://secondlife.com/corporate/tos.php the Second Life Terms of Service]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Homebrew viewers are obviously not associated with LindenLab, are governed by their own respective licenses.  LindenLab is not responsible for any desired or undesired results in association with those viewers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note to authors: If you make a viewer available make sure to include platform, version numbers and dates.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Official Linden Lab Viewer ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This viewer is the official version from LindenLab.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://www.secondlife.com/ Second Life]&lt;br /&gt;
* Downloads: [http://secondlife.com/community/downloads.php LindenLab download page]&lt;br /&gt;
* Source code: [[Get_source_and_compile]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Able Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This is a Windows viewer is an unofficial build which adds a [https://jira.secondlife.com/browse/VWR-1017 Mute Visibility] feature, which allows objects in-world to be rendered partially or entirely invisible. &lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Mute Visibility &lt;br /&gt;
* Improvements to the Mute List&lt;br /&gt;
* Muting objects applies to entire linksets&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://ablewhitman.blogspot.com/ Able Whitman on Blogspot]&lt;br /&gt;
* Direct download link: http://ablewhitman.org/viewer/&lt;br /&gt;
* Source code: http://ablewhitman.org/viewer/&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Dale Glass Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This is a Windows (soon Linux) viewer which adds new experimental features. The features are intended to give users more information about the world and to simplify moderation by making it easier to tell where people are and what they&#039;re doing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Avatar Scanner&lt;br /&gt;
** Shows nearby avatars, roughly in drawing distance range.&lt;br /&gt;
** Shows name, age, payment info, current activity. &lt;br /&gt;
** Land and estate commands for ejecting/banning multiple avatars at once&lt;br /&gt;
** Integration with Luskwood moderation tools&lt;br /&gt;
** Buttons to open profile, IM, teleport to or track selected avatars&lt;br /&gt;
* Event Log: Experimental feature, shows a list of active particle effects (soon sounds too), and their owners. Allows moving camera to emitter.&lt;br /&gt;
* Branding: Replaces LL branding with my own. Different login page, checks for updates against my server.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: http://sl.daleglass.net&lt;br /&gt;
* Blog: http://daleglass.wordpress.com&lt;br /&gt;
* Direct download link: http://sl.daleglass.net/download&lt;br /&gt;
* Source code: http://svn.daleglass.net/sl/release/ ( [[User:Dale_Glass#Subversion_Repository|subversion]] )&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Nicholaz Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This is a Windows viewer based on SL builds with various preliminary bug fix patches applied.  Nonetheless it is of course an unofficial build.  See [http://www.blueflash.cc/users/nicholaz/!!Installation.txt Installation.txt], [http://www.blueflash.cc/users/nicholaz/!Changes.txt Changes.txt] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Particle system improved&lt;br /&gt;
* Different memory management for image list &lt;br /&gt;
* Many patches from the bug tracker which are not yet in the official viewer&lt;br /&gt;
* Old style GUI and GUI redesigns for the voice viewer &lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://nicholaz-beresford.blogspot.com/ Nicholaz Beresford on Blogspot]&lt;br /&gt;
* Direct download link: [http://www.blueflash.cc/users/nicholaz Download versions of this viewer] &lt;br /&gt;
* Source code: Look at the download site for the source-xxx-zip archive&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:User_Interface_Improvements&amp;diff=28695</id>
		<title>Talk:User Interface Improvements</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:User_Interface_Improvements&amp;diff=28695"/>
		<updated>2007-08-18T13:48:38Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: /* Advantages of the current UI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk}}&lt;br /&gt;
&lt;br /&gt;
== Problems with current UI (moved from main page) ==&lt;br /&gt;
&lt;br /&gt;
(These are just gathered from comments on the forums, and ones I&#039;ve heard from helping new users) -- {{unsigned|Benjamin Linden}}&lt;br /&gt;
&lt;br /&gt;
*  User interface is rendered as part of the standard frame render cycle.  Thus it does not use recognisable OS-standard components and lags whenever the sim does.  Could seperate this to use a general platform-independant kit (wxWidgets?) - although a lot of work!&lt;br /&gt;
&lt;br /&gt;
*  Users confused by a plethora of options that aren&#039;t related to their current situation.  A user with no interest in content creation still has to deal with a huge number of related options on the pull-down menus.  &amp;quot;Build&amp;quot; button on bottom toolbar is the only thing there related to building.&lt;br /&gt;
&lt;br /&gt;
*  Too many valuable items are on the client debug menu.  I&#039;ve seen several Live Help calls in which users are sent to these menus!  If they are needed for solving technical problems encountered by regular users, they shouldn&#039;t really be part of an &amp;quot;easter egg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Mac OX X complaint: Mac OS X implements right-clicking with Control-click. The Mac OS X SL client implements right-clicking with cmd-click.&lt;br /&gt;
&lt;br /&gt;
== Advantages of the current UI ==&lt;br /&gt;
*  User interface is rendered as part of the standard frame render cycle.  This allows for innovative gui components not present in the OS such as the pie menu, which is much easier to navigate than OS-standard context menus.  This should be leveraged to design gui components for a virtual world, rather than going backwards with 2d OS controls [[User:Kaworu Jun|Kaworu Jun]] 13:30, 15 August 2007 (PDT)&lt;br /&gt;
::That is a disadvantage as well. On the Mac, at least, lag in the viewer makes the UI completely unusable at times. In fact, it seems to make the UI of the rest of the Mac unusable as well. 15:51, 15 August 2007 (PDT)&lt;br /&gt;
* Current user interface is easier to deal with for building than a more videogame-like interface would be, since elements like editing and inventory windows can be freely moved, duplicated, and resized. On the other hand, since these *are* windows, many of these UI elements could be rendered in the native GUI toolkit in separate OS-level windows rather than in the UI. which would allow them to be positioned around the SL window in multi-window mode. [[User:Argent Stonecutter|Argent Stonecutter]] 18:38, 15 August 2007 (PDT)&lt;br /&gt;
* Current user interface is largely consistent, though this has wavered at times. Designing a new consistent UI is likely to lead to more of the kinds of problems that have caused so much protest over the past year. [[User:Argent Stonecutter|Argent Stonecutter]] 18:38, 15 August 2007 (PDT)&lt;br /&gt;
* One of the major advantages of the current UI is immersion.  The UI has been tailored to the needs of a virtual experience.  There are innovative things like the pie menus, the UI interface is usually designed to be visually lean (slim window titles, slim tabs, etc. ... for example a window title is about half has high as a standard Windows window title).  [[User:Nicholaz Beresford|Nicholaz]] 06:48, 18 August 2007 (PDT)&lt;br /&gt;
* On an intuitive level, it generates a separation between out of world and in world.  Having OS dialogs float on top of the window or even outside the window, especially for operations which are related to in-world, would have the tendency to reduce the experience to a mere animated wallpaper for a fancy chat client.  (The only dialog where I could imagine an UI dialog are preferences, because these happen on a meta-level anyway). [[User:Nicholaz Beresford|Nicholaz]] 06:48, 18 August 2007 (PDT)&lt;br /&gt;
* Another benefit is that it leads to a consistent experience across platforms.  [[User:Nicholaz Beresford|Nicholaz]] 06:48, 18 August 2007 (PDT)&lt;br /&gt;
* Yet another benefit is that window clipping leads to performance reduction.  Simply run a windowed viewer and watch the FPS by partially covering it with native windows.  [[User:Nicholaz Beresford|Nicholaz]] 06:48, 18 August 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Considerations for the proposed UI ==&lt;br /&gt;
* Many of the existing floaters, particularly the building ones, should not be radically changed other than possibly making them first class OS level windows. Don&#039;t abandon the parts of the user interface that currently work. [[User:Argent Stonecutter|Argent Stonecutter]] 08:13, 16 August 2007 (PDT)&lt;br /&gt;
*  Users are generally used to Menus so removing the Menu entirely may not be recommended given that it may not be possible to reproduce all the functionality there. However a better reorganisation of the menu, and possibly having the menu contextual and hidable would improve things. May even take some ideas from the MS Office Ribbon bar. {{User|Matthew Dowd}}&lt;br /&gt;
:: I was with you up to the point of the ribbon bar. Having a universal menu that contains all options and operations should not be discarded... particularly not in the name of making things easier for new users. [[User:Argent Stonecutter|Argent Stonecutter]] 18:48, 15 August 2007 (PDT)&lt;br /&gt;
:* Alternate possibility, keep and expand the pie menu, so that right click (or whatever click or key combination the user selects for menus) brings up a menu (pie, pacman, etc) that includes every option in the menu bar. [[User:Argent Stonecutter|Argent Stonecutter]] 08:09, 16 August 2007 (PDT)&lt;br /&gt;
:* Alternate possibility, sweeping the mouse above the top of the screen drops a menu bar down.&lt;br /&gt;
*  The idea of regions needs careful thought - users could get annoyed if they go to click on something in world which is in a corner of the viewer only for a part of the UI to suddently popup in the way! {{User|Matthew Dowd}}&lt;br /&gt;
:: Agreed, you should probably have to click on an actual docked icon to open the element. The Mac dock is visually appealing, but restricted... perhaps make the docked objects recognizably 3d icons, but draggable anywhere around the edges of the screen that you want, so that when you click on them they pop in or up or down. [[User:Argent Stonecutter|Argent Stonecutter]] 18:48, 15 August 2007 (PDT)&lt;br /&gt;
*  Consideration of how these regions would interact with HUD&#039;s attached to that position in the viewer needs careful thought to avoid the UI interfering with existing (and future) HUDs. {{User|Matthew Dowd}}&lt;br /&gt;
** Making the HUD anchor points (or new ones... say &amp;quot;Dock 1&amp;quot;, &amp;quot;Dock 2&amp;quot;, ...) dockable and draggable, with the same show/hide behavior, would help a lot. [[User:Argent Stonecutter|Argent Stonecutter]] 18:48, 15 August 2007 (PDT)&lt;br /&gt;
*  The ability to dock floaters/regions in os-native windows that can be placed on another monitor would unclutter the view while keeping that information visible (and will not cover the view while they are in use!).  [[User:Kaworu Jun|Kaworu Jun]] 13:30, 15 August 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== GUI and (eventually) client scripting ==&lt;br /&gt;
&lt;br /&gt;
Whatever design we come up with, ease-of-scripting (or at least the ability to script at all), should be part of the design-parameters.&lt;br /&gt;
&lt;br /&gt;
As I&#039;ve mentioned before, the WoW client paradigm would be a good one to examine and emulate--at least the overall concept of making virtually everything in the GUI scriptable.&lt;br /&gt;
http://www.wowwiki.com/Widget_API&lt;br /&gt;
http://www.wowwiki.com/World_of_Warcraft_API &lt;br /&gt;
&lt;br /&gt;
[[User:Saijanai Kuhn|Saijanai]] 15:08, 15 August 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
Largely agree, and the scripting language should probably be Javascript using the Spidermonkey component in Gecko, since it can be run independently of the HTML browser and is already in there. [[User:Argent Stonecutter|Argent Stonecutter]] 18:50, 15 August 2007 (PDT)&lt;br /&gt;
:The wave of the future is apparently mono, even on the client side. This could allow extremely powerful hybrid in-world/external tools to be devised. {{Saijanai Kuhn} [[User:Saijanai Kuhn|Saijanai]] 18:02, 16 August 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
=== Interaction between in-world and out-of-world scripting ===&lt;br /&gt;
To avoid hitting people with too many changes at once, we should look at what changes in the communications between the client and server would make things easier and to allow maximum compatibility with existing content.&lt;br /&gt;
&lt;br /&gt;
* Allowing objects on the client to register listens in the game, so that you can have gui components do things like respond to high channel chat from scripts, should be possible.&lt;br /&gt;
::Whether the chat comes in as a simple line or encapsulated in XML or whatever is less critical.&lt;br /&gt;
::This could be tested in the existing client by allowing applications outside the client to connect to a socket and hook into chat. Connect to localhost:1337 and send &amp;quot;&amp;lt;listen channel=42/&amp;gt; &amp;lt;send channel=42&amp;gt;flight status&amp;lt;/send&amp;gt;&amp;quot; would lead to getting messages like &amp;quot;&amp;lt;chat source=UUID channel=42&amp;gt;flight enable&amp;lt;/chat&amp;gt;&amp;quot;.&lt;br /&gt;
:: [[User:Argent Stonecutter|Argent Stonecutter]] 08:19, 16 August 2007 (PDT)&lt;br /&gt;
::::IN the long run, this would allow for external tools to act like in-world tools. If a tool allows you to keep chatting with friends, or ask/answer questions in IM, it becomes at least somewhat part of hte game. 17:58, 16 August 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Allow  HUDs to evoke widgets on the client side sot that a HUD could define sliders, dials and other interesting objects where the client&#039;s GUI does the mouse-tracking and other GUI updating, and sends the updated info to the HUD for further processing. [[User:Saijanai Kuhn|Saijanai]] 15:24, 17 August 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Finding_leaks&amp;diff=28428</id>
		<title>Finding leaks</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Finding_leaks&amp;diff=28428"/>
		<updated>2007-08-16T17:03:17Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiContribBox}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
&lt;br /&gt;
This page describes a method how to identify memory leaks within the SecondLife viewer using Microsoft&#039;s debug memory routines.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you have questions, please use the discussion page on this wiki topic. ([[User:Nicholaz Beresford|Nicholaz]] 10:29, 29 June 2007 (PDT))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Identifying Leaks =&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Modifying the source ==&lt;br /&gt;
Download the memory leak patch from [http://www.blueflash.cc/users/nicholaz/~libs/leakdebug.patch leakdebug.patch] and apply it to the source tree via &lt;br /&gt;
* in a command shell go to the source directory on the level where you see the &#039;linden&#039; folder when you type &#039;&#039;dir&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;c:\cygwin\bin\patch -p 0 -i leakdebug.patch&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compiling ==&lt;br /&gt;
&lt;br /&gt;
For general compiling instructions, see [[Compiling the viewer (MSVS2003)|Microsoft Windows - Visual Studio .NET 2003]] or [[Compiling the viewer (MSVS2005)|Microsoft Windows - Visual Studio 2005 &amp;amp; Visual C++ 2005 Express]].&lt;br /&gt;
&lt;br /&gt;
The patch activates the leak debugging routines through the &#039;&#039;&#039;linden_common.h&#039;&#039;&#039; files and is only activated in the &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration.  It should be completely transparent in other configurations like ReleaseNoOpt or ReleaseForDownload.&lt;br /&gt;
&lt;br /&gt;
When compiling, make sure you compile all projects with the /MTd flag &lt;br /&gt;
* Set all projects to /MTd&lt;br /&gt;
*# select the &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration from the toolbar&lt;br /&gt;
*# mark all projects in the source tree, &#039;&#039;&#039;except&#039;&#039;&#039; script_compile_fb, test, win_crash_logger and win_updater&lt;br /&gt;
*# select Properties and make sure the &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration is selected in the upper left corner&lt;br /&gt;
*# select C/C++ &amp;gt; Language and set Runtime Library to &#039;&#039;&#039;Multithreaded Debug /MTd&#039;&#039;&#039;&lt;br /&gt;
*# close the dialog&lt;br /&gt;
&lt;br /&gt;
* Add crtdebug.cpp to newview&lt;br /&gt;
*# in the source tree under newview right click Source, add existing&lt;br /&gt;
*# crtdebug.cpp&lt;br /&gt;
&lt;br /&gt;
* Linker options for newview&lt;br /&gt;
*# select &#039;&#039;&#039;newview&#039;&#039;&#039; alone&lt;br /&gt;
*# select Properties and make sure the &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration is selected in the upper left corner&lt;br /&gt;
*# select Linker &amp;gt; Input and set Ignore Specific Library to &#039;&#039;&#039;msvcrt.lib;msvcrtd.lib;libc.lib;libcd.lib;libcmt.lib&#039;&#039;&#039;&lt;br /&gt;
*# close the dialog&lt;br /&gt;
&lt;br /&gt;
* Remove LLMOZLIB (optional for VS2003, required for VS2005)&lt;br /&gt;
*# select &#039;&#039;&#039;newview&#039;&#039;&#039; alone&lt;br /&gt;
*# select Properties and make sure the &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration is selected in the upper left corner&lt;br /&gt;
*# select Linker &amp;gt; Input &lt;br /&gt;
*# remove &#039;&#039;&#039;llmozlib-vc80.lib&#039;&#039;&#039; from the list of input libraries&lt;br /&gt;
*# close the dialog&lt;br /&gt;
*# edit &#039;&#039;&#039;llpreprocessor.h&#039;&#039;&#039; in the &#039;&#039;&#039;llcommon&#039;&#039;&#039; project and change &lt;br /&gt;
 #define LL_LIBXUL_ENABLED  1 (line 59) &lt;br /&gt;
to &lt;br /&gt;
 #ifndef _DEBUG&lt;br /&gt;
 	#define LL_LIBXUL_ENABLED		1&lt;br /&gt;
 #else&lt;br /&gt;
 	#define LL_LIBXUL_ENABLED		0&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
* Compile&lt;br /&gt;
*# select compile for the Debug configuration&lt;br /&gt;
*# have some coffee and/or cigarettes, the build (especially the link step) is excruciatingly slow&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Running ==&lt;br /&gt;
* Run the program under the debugger (F5) or standalone (Ctrl+F5)&lt;br /&gt;
* Running in the debugger during startup you will notice a couple of exceptions when freeing memory.  Just continue (these seem to come from the mozilla DLLs).&lt;br /&gt;
* If you encounter crashAndLoop situations (when you hit these, you&#039;ll know what it means), consider to delete the contents from the crashAndLoop function and replace it with a single &#039;&#039;&#039;__asm int 3;&#039;&#039;&#039; command.  This way the debugger will stop with an exception but you will be able to continue.&lt;br /&gt;
* Finish running the program&lt;br /&gt;
* Look at the &#039;&#039;&#039;leaks.log&#039;&#039;&#039; file in the program folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Identifying the source of the leak through leaks.log ==&lt;br /&gt;
Finding leaks is a nice task.  Like post mortem debugging in many cases it is puzzle and detective work and the leaks.log file is your forensic evidence.&lt;br /&gt;
* &#039;&#039;&#039;client blocks&#039;&#039;&#039; were allocated through &#039;&#039;&#039;new&#039;&#039;&#039; operations inside the source.  Source file and line number will be identified and usually it is not too hard to figure out a program path that bypasses the deletion.&lt;br /&gt;
* &#039;&#039;&#039;normal memory blocks&#039;&#039;&#039; in the leak dump are coming from 3rd party libraries.  You&#039;ll need creativity to find these (I do it mostly through custom code in &#039;&#039;&#039;crt_alloc_hook&#039;&#039;&#039; in crtdebug.cpp ... see the example there).&lt;br /&gt;
* currently there is a small amount of &amp;quot;unfixable&amp;quot; leaks as normal blocks when the program starts.  &lt;br /&gt;
** one is from a technique the Lindens are using in llerror.cpp (see [[https://jira.secondlife.com/browse/VWR-849 VWR-849]]), which Zero Linden does not want to fix, although I have a patch which I deem safe&lt;br /&gt;
** another is from code in llmozlib which I could not compile yet (these can be avoided by compiling without mozlib, see compile instructions above)&lt;br /&gt;
** I have also found a few that seem to trace down into fmod.lib, but fmod doesn&#039;t seem like the cleanest code on the planet anyway.&lt;br /&gt;
** unless you want to be religious about the issue, you can ignore normal blocks with alloc numbers under 1,000,000&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=27074</id>
		<title>Compiling the viewer (MSVS2005)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=27074"/>
		<updated>2007-08-03T09:26:44Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
This page explains how you can compile the viewer on Microsoft Windows using Visual Studio 2005 or Visual C++ Express 2005.  Note that Lindens are using VS2003 and the whole setup is a bit easier there, so if you have Visual Studio 2003 available, you should read [[Compiling the viewer (MSVS2003)|compiling with VS2003]] and you will get less trouble with it than with VS2005. &lt;br /&gt;
&lt;br /&gt;
The following explanation is adjusted for Viewer releases 1.16.0.5 or later.  See an [http://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2005%29&amp;amp;oldid=22294 older version of this page] for the Viewer releases 1.15 or before.&lt;br /&gt;
&lt;br /&gt;
= Preparing the Development Environment =&lt;br /&gt;
&lt;br /&gt;
== Installing/Configuring VS2005 ==&lt;br /&gt;
&lt;br /&gt;
You need to setup the compiler and Microsoft Development tools as follows:&lt;br /&gt;
* Visual Studio 2005 &#039;&#039;&#039;&#039;&#039;-or-&#039;&#039;&#039;&#039;&#039; [http://msdn.microsoft.com/vstudio/express/visualc/download/ Visual C++ 2005 Express]&amp;lt;small&amp;gt;(Free)&amp;lt;/small&amp;gt; (Also, although not strictly necessary, eventually pick up and install SP1 for VS2005.)&lt;br /&gt;
* [http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;amp;displaylang=en Microsoft Platform SDK]&lt;br /&gt;
* A DirectX 9.0 SDK released on or after Summer of 2003 [http://download.microsoft.com/download/5/1/f/51ff8357-0af3-418b-9d0b-e9a5cdc39759/dxsdk_dec2006.EXE DirectX 9.0 SDK (December 2006)] [http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298&amp;amp;displaylang=en DirectX 9.0 SDK Update (Summer 2003)]&lt;br /&gt;
: &#039;&#039;&#039;Note&#039;&#039;&#039;: If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -&amp;gt; Add or Remove Programs) before installing this version.  Installing the new SDK &amp;quot;on top&amp;quot; of an older version may cause problems.&lt;br /&gt;
* Set up the project globals:&lt;br /&gt;
** Start Microsoft Visual Studio 2005&lt;br /&gt;
** Go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories&lt;br /&gt;
** Make sure that the &#039;&#039;&#039;includes&#039;&#039;&#039; ([[:Image:MSVS2005 Global Project Options Include Files.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]) and &#039;&#039;&#039;libraries&#039;&#039;&#039; ([[:Image:MSVS2005 Global Project Options Library Files.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]) paths have the Platform SDK paths first, then the DirectX SDK paths, and then the Visual C++ paths. You may need to check &amp;quot;Show All Settings&amp;quot; at the bottom for VC++ Directories to show.&lt;br /&gt;
** If the DirectX SDK paths aren&#039;t present, add them to both &#039;&#039;&#039;includes&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039;.&lt;br /&gt;
*: Note: The newest DirectX SDK (&amp;quot;December 2006&amp;quot;) lib folder has two sub-folders, x64 and x86.  Make sure your path goes to one of them (select &#039;&#039;&#039;lib/x86&#039;&#039;&#039;, not just &#039;&#039;&#039;lib&#039;&#039;&#039;), or you will get a Link error.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getting other Development Tools ==&lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. The project files use several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039;, if it&#039;s not you&#039;ll need to edit those references.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** It is required but can be avoided if you are compiling 1.18 or later viewers.  Either download and install or hack the prebuild.bat files as described in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears, that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Downloading Source Code =&lt;br /&gt;
&lt;br /&gt;
You can download the Viewer source codes on the [[source downloads]] page.  You can also use a [[version control repository]].&lt;br /&gt;
&lt;br /&gt;
At a minimum, grab the source package and the artwork package, but for a start, also grab the library archive.  Many of the libraries can either be compiled from source or downloaded from other sites (see below), but this will take hours and thus it is easiest to also get the package with libraries compiled by the Lindens.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039;&lt;br /&gt;
* If the directory path you keep the SL source in has a space in it, the batch file that copies message_template.msg will fail. So, if you unzip or checkout the source tree into, e.g., &amp;quot;C:\Projects\Dir with space in name\Etc\linden&amp;quot;, it won&#039;t work!&lt;br /&gt;
* You should also avoid using non-ASCII (national) characters in the paths, although some localized versions of the tool puts some as a default...&lt;br /&gt;
* Unzip or checkout your source tree into a directory that has as short full pathname as possible, since long paths cause some unexpected trouble during the build.&lt;br /&gt;
&lt;br /&gt;
In other words, the easiest way to get this working is to get &#039;&#039;source&#039;&#039;, &#039;&#039;artwork&#039;&#039; and &#039;&#039;libraries&#039;&#039; from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installing Libraries =&lt;br /&gt;
&lt;br /&gt;
SL Viewer depends on some third party libraries.  Some of them are open source, some others are not.&lt;br /&gt;
&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
You can download the pre-build open source libraries from LL.  They are available on [[source downloads]] page.  Unzip them into your SL viewer source code directory, maintaining the same directory structure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The VS2003 libraries provided in the [[source downloads]] do not fully work with VS2005 compiled binaries. They will compile with the viewer under VS2005, but the VS2003 libraries are not fully STL compliant. The differences of [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/vclrfnonstandardbehavior.asp non-standard behavior in MSVS] are the known cause.  This may lead to subtle issues, especially if want to make a release other than for yourself, but on the other hand so far many have successfully used the precompiled libraries which are provided by Linden Lab.&lt;br /&gt;
&lt;br /&gt;
Alternatively, it may be possible to get the source files for the libraries and build by yourself.  See [[Compiling the viewer libraries (MSVS 2003)|the instruction for VS2003 users]] if you try it.  Please note, however, it is not known that VS2005 can successfully compile the libraries.  &#039;&#039;&#039;You have been warned.&#039;&#039;&#039;  (If you can make it, please write the info on this wiki...)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Proprietary Libraries ==&lt;br /&gt;
&lt;br /&gt;
Lindens does not inlcude the following proprietary libraries.  You will need to follow the instructions to acquire below and copy them to the source path.&lt;br /&gt;
&lt;br /&gt;
However, it probably is a good idea to build an empty directory tree for the files below and first copy the files there and once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY OLIB SL_1_16_0_5 /S&#039;&#039;).  The reason is, that these steps are cumbersome and will have to be repeated for each new release (at least if you keep the source for each release in it&#039;s own folder).  If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Fmod ===&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/ifmoddownload.html fmod 3.75 api for win32] (later versions, like FMOD Ex, are incompatible).&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== OpenGL ===&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
* You don&#039;t need any additional *.lib or *.dll for OpenGL.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Quicktime &#039;&#039;(optional)&#039;&#039; ===&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This download requires a registration at the Apple Quicktime website and take a bit of time.  You can avoid using QuickTime if you want, bee [[#QuickTime removal|below]] for details.  Remember that your viewer &#039;&#039;&#039;can&#039;t play in-world movies&#039;&#039;&#039; if you do so.&lt;br /&gt;
* Download &amp;amp; install the [http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/203/wa/getSoftware?fileID=20525&amp;amp;code=y&amp;amp;source=x&amp;amp;wosid=4h16WcyMtVfd2P1EffGafkoxFcr Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to  &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Configuring for VS2005 =&lt;br /&gt;
&lt;br /&gt;
Lindens use VS2003 to develop the viewer.  &lt;br /&gt;
&lt;br /&gt;
You either need to convert &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039; from VS2003 format to VS2005 format or obtain files compatible with VS2005.  You may also need to modify source files to work around the incompatibility between VS2003 and VS2005.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: linden\indra\indra_complete_vs8.sln is a solution file already included in the source archive and intended for the Visual Studio 2005, but it &#039;&#039;&#039;does not work&#039;&#039;&#039; (at least between 1.14.0 and 1.17.0.9 distribution).  This may change in a future release, if Lindens include an updated versions of the &#039;&#039;&#039;_vc8&#039;&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Using pre-built solution/project files ==&lt;br /&gt;
&lt;br /&gt;
Currently there is a ZIP file with solution/project files available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151].  &lt;br /&gt;
&lt;br /&gt;
If you are building 1.16 or 1.17, most likely the easiest way towards compiling SL on MS2005 will be to:&lt;br /&gt;
* download the ZIP archive there&lt;br /&gt;
* unpack it and copy it onto your linden source tree (allow to overwrite files that have &#039;&#039;&#039;_vc8&#039;&#039;&#039; in the name).&lt;br /&gt;
* start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete&#039;&#039;&#039;_vc8&#039;&#039;&#039;.sln (Note: If you plan to work with multiple versions over time, you will find it useful to rename &#039;&#039;&#039;indra_complete_vc8.sln&#039;&#039;&#039; to something which contains the version number, e.g. &#039;&#039;&#039;indra_1_17_0_11_vc8.sln&#039;&#039;&#039; before opening)&lt;br /&gt;
* right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* proceed with applying the &#039;&#039;&#039;Workarounds&#039;&#039;&#039; below (skip &#039;&#039;&#039;Manual conversion&#039;&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If, while compiling, you later encounter errors or problems regarding the projects, you may have to do the manual conversion instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manual conversion of the solution/projects ==&lt;br /&gt;
&lt;br /&gt;
If you can not find a set of project files (see above), there are instructions available how to manually do it: [[Converting_project_files_for_MSVS2005]] (this step will take about 5-15 minutes, depending on how proficient you are using VS2005).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workarounds ==&lt;br /&gt;
&lt;br /&gt;
There are more compatibility problems between VS2003 and VS2005.  You need the following code edits.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== test project/crash_logger/updater ===&lt;br /&gt;
&lt;br /&gt;
For whatever reason, the &#039;&#039;&#039;test&#039;&#039;&#039; project doesn&#039;t work under VS2005.  Workaround is to disable it as follows: Right click on the &#039;&#039;&#039;test&#039;&#039;&#039; and choose &#039;&#039;&#039;Unload Project&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not plan to create a full download build, you can exclude the &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; from newview&#039;s project dependencies and unload them also.  But be careful with unloading these projects without removing them from the dependencies, because I have seen VS2005 act highly erratic while linking then project when I tried this.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== QuickTime removal ===&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to get Apple QuickTime SDK, you can disable it as follows:&lt;br /&gt;
*linden\indra\llcommon\llpreprocessor.h - near line 58 (the line below &#039;&#039;&#039;#elif LL_WINDOWS&#039;&#039;&#039;)&lt;br /&gt;
 --50: #define LL_QUICKTIME_ENABLED	1&lt;br /&gt;
 ++50: #define LL_QUICKTIME_ENABLED	&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box beside the green arrow under the tool bar, and do the followings on the Solution Explorer frame:&lt;br /&gt;
*Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.&lt;br /&gt;
**Choose Properties.&lt;br /&gt;
**Under Configuration Properties &amp;gt; Linker &amp;gt; Input, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
**Scroll down the list to find &#039;&#039;&#039;qtmlclient.lib&#039;&#039;&#039;.  Delete this single line.&lt;br /&gt;
**Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box. Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone and do the same thing again.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Ready, Set, Build! =&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; (for production code).&lt;br /&gt;
* To do this, pick either in the Solution Configurations drop-down box beside the green arrow under the tool bar.&lt;br /&gt;
* Make sure &#039;&#039;&#039;newview&#039;&#039;&#039; is set as the active project (otherwise set from newview&#039;s right-click menu).&lt;br /&gt;
* Select Build-Menu &amp;gt; Build Solution or press F7.&lt;br /&gt;
* newview_noopt.exe will be built in linden\indra\newview\ReleaseNoOpt or SecondLife.exe will be linden\indra\newview\ReleaseForDownload.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Common compile errors ==&lt;br /&gt;
* See [[Common compilation problems]] if you run into other errors while building.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Running ==&lt;br /&gt;
* You can run the viewer by &#039;&#039;&#039;Debug &amp;gt; Start Debugging&#039;&#039;&#039; or &#039;&#039;&#039;Debug &amp;gt; Start &amp;quot;Without Debugging&#039;&#039;&#039; in Visual Studio. &lt;br /&gt;
* To run it outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (all the .dll will be found there.)&lt;br /&gt;
* Alternately copy the exe (possibly rename it) to your &amp;quot;c:\program files\second life&amp;quot; folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Debugging Info/Configurations ==&lt;br /&gt;
* Usually you will either use &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; or the &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; configuration.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (not optimized) compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; also has debugging information and runs fine in the debugger (although at times you may miss access to some local variables).&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session, but you can access the same information also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug console log can also be redirected to a file if you add &amp;quot;2&amp;gt;secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[Finding_leaks]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and repoen it, before you can connect to the selected grid).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Submit Patches =&lt;br /&gt;
This is probably faaar down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=27072</id>
		<title>Compiling the viewer (MSVS2005)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=27072"/>
		<updated>2007-08-03T09:19:57Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
This page explains how you can compile the viewer on Microsoft Windows using Visual Studio 2005 or Visual C++ Express 2005.  Note that Lindens are using VS2003 and the whole setup is a bit easier there, so if you have Visual Studio 2003 available, you should read [[Compiling the viewer (MSVS2003)|compiling with VS2003]] and you will get less trouble with it than with VS2005. &lt;br /&gt;
&lt;br /&gt;
The following explanation is adjusted for Viewer releases 1.16.0.5 or later.  See an [http://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2005%29&amp;amp;oldid=22294 older version of this page] for the Viewer releases 1.15 or before.&lt;br /&gt;
&lt;br /&gt;
= Preparing the Development Environment =&lt;br /&gt;
&lt;br /&gt;
== Installing/Configuring VS2005 ==&lt;br /&gt;
&lt;br /&gt;
You need to setup the compiler and Microsoft Development tools as follows:&lt;br /&gt;
* Visual Studio 2005 &#039;&#039;&#039;&#039;&#039;-or-&#039;&#039;&#039;&#039;&#039; [http://msdn.microsoft.com/vstudio/express/visualc/download/ Visual C++ 2005 Express]&amp;lt;small&amp;gt;(Free)&amp;lt;/small&amp;gt; (Also, although not strictly necessary, eventually pick up and install SP1 for VS2005.)&lt;br /&gt;
* [http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;amp;displaylang=en Microsoft Platform SDK]&lt;br /&gt;
* A DirectX 9.0 SDK released on or after Summer of 2003 [http://download.microsoft.com/download/5/1/f/51ff8357-0af3-418b-9d0b-e9a5cdc39759/dxsdk_dec2006.EXE DirectX 9.0 SDK (December 2006)] [http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298&amp;amp;displaylang=en DirectX 9.0 SDK Update (Summer 2003)]&lt;br /&gt;
: &#039;&#039;&#039;Note&#039;&#039;&#039;: If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -&amp;gt; Add or Remove Programs) before installing this version.  Installing the new SDK &amp;quot;on top&amp;quot; of an older version may cause problems.&lt;br /&gt;
* Set up the project globals:&lt;br /&gt;
** Start Microsoft Visual Studio 2005&lt;br /&gt;
** Go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories&lt;br /&gt;
** Make sure that the &#039;&#039;&#039;includes&#039;&#039;&#039; ([[:Image:MSVS2005 Global Project Options Include Files.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]) and &#039;&#039;&#039;libraries&#039;&#039;&#039; ([[:Image:MSVS2005 Global Project Options Library Files.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]) paths have the Platform SDK paths first, then the DirectX SDK paths, and then the Visual C++ paths. You may need to check &amp;quot;Show All Settings&amp;quot; at the bottom for VC++ Directories to show.&lt;br /&gt;
** If the DirectX SDK paths aren&#039;t present, add them to both &#039;&#039;&#039;includes&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039;.&lt;br /&gt;
*: Note: The newest DirectX SDK (&amp;quot;December 2006&amp;quot;) lib folder has two sub-folders, x64 and x86.  Make sure your path goes to one of them (select &#039;&#039;&#039;lib/x86&#039;&#039;&#039;, not just &#039;&#039;&#039;lib&#039;&#039;&#039;), or you will get a Link error.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getting other Development Tools ==&lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. The project files use several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039;, if it&#039;s not you&#039;ll need to edit those references.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** It is required but can be avoided if you are compiling 1.18 or later viewers.  Either download and install or hack the prebuild.bat files as described in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears, that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Downloading Source Code =&lt;br /&gt;
&lt;br /&gt;
You can download the Viewer source codes on the [[source downloads]] page.  You can also use a [[version control repository]].&lt;br /&gt;
&lt;br /&gt;
At a minimum, grab the source package and the artwork package, but for a start, also grab the library archive.  Many of the libraries can either be compiled from source or downloaded from other sites (see below), but this will take hours and thus it is easiest to also get the package with libraries compiled by the Lindens.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039;&lt;br /&gt;
* If the directory path you keep the SL source in has a space in it, the batch file that copies message_template.msg will fail. So, if you unzip or checkout the source tree into, e.g., &amp;quot;C:\Projects\Dir with space in name\Etc\linden&amp;quot;, it won&#039;t work!&lt;br /&gt;
* You should also avoid using non-ASCII (national) characters in the paths, although some localized versions of the tool puts some as a default...&lt;br /&gt;
* Unzip or checkout your source tree into a directory that has as short full pathname as possible, since long paths cause some unexpected trouble during the build.&lt;br /&gt;
&lt;br /&gt;
In other words, the easiest way to get this working is to get &#039;&#039;source&#039;&#039;, &#039;&#039;artwork&#039;&#039; and &#039;&#039;libraries&#039;&#039; from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installing Libraries =&lt;br /&gt;
&lt;br /&gt;
SL Viewer depends on some third party libraries.  Some of them are open source, some others are not.&lt;br /&gt;
&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
You can download the pre-build open source libraries from LL.  They are available on [[source downloads]] page.  Unzip them into your SL viewer source code directory, maintaining the same directory structure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: The VS2003 libraries provided in the [[source downloads]] do not fully work with VS2005 compiled binaries. They will compile with the viewer under VS2005, but the VS2003 libraries are not fully STL compliant. The differences of [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/vclrfnonstandardbehavior.asp non-standard behavior in MSVS] are the known cause.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alternatively, it may be possible to get the source files for the libraries and build by yourself.  See [[Compiling the viewer libraries (MSVS 2003)|the instruction for VS2003 users]] if you try it.  Please note, however, it is not known that VS2005 can successfully compile the libraries.  &#039;&#039;&#039;You have been warned.&#039;&#039;&#039;  (If you can make it, please write the info on this wiki...)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Proprietary Libraries ==&lt;br /&gt;
&lt;br /&gt;
Lindens does not inlcude the following proprietary libraries.  You will need to follow the instructions to acquire below and copy them to the source path.&lt;br /&gt;
&lt;br /&gt;
However, it probably is a good idea to build an empty directory tree for the files below and first copy the files there and once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY OLIB SL_1_16_0_5 /S&#039;&#039;).  The reason is, that these steps are cumbersome and will have to be repeated for each new release (at least if you keep the source for each release in it&#039;s own folder).  If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Fmod ===&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/ifmoddownload.html fmod 3.75 api for win32] (later versions, like FMOD Ex, are incompatible).&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== OpenGL ===&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
* You don&#039;t need any additional *.lib or *.dll for OpenGL.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Quicktime &#039;&#039;(optional)&#039;&#039; ===&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This download requires a registration at the Apple Quicktime website and take a bit of time.  You can avoid using QuickTime if you want, bee [[#QuickTime removal|below]] for details.  Remember that your viewer &#039;&#039;&#039;can&#039;t play in-world movies&#039;&#039;&#039; if you do so.&lt;br /&gt;
* Download &amp;amp; install the [http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/203/wa/getSoftware?fileID=20525&amp;amp;code=y&amp;amp;source=x&amp;amp;wosid=4h16WcyMtVfd2P1EffGafkoxFcr Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to  &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Configuring for VS2005 =&lt;br /&gt;
&lt;br /&gt;
Lindens use VS2003 to develop the viewer.  &lt;br /&gt;
&lt;br /&gt;
You either need to convert &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039; from VS2003 format to VS2005 format or obtain files compatible with VS2005.  You may also need to modify source files to work around the incompatibility between VS2003 and VS2005.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: linden\indra\indra_complete_vs8.sln is a solution file already included in the source archive and intended for the Visual Studio 2005, but it &#039;&#039;&#039;does not work&#039;&#039;&#039; (at least between 1.14.0 and 1.17.0.9 distribution).  This may change in a future release, if Lindens include an updated versions of the &#039;&#039;&#039;_vc8&#039;&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Using pre-built solution/project files ==&lt;br /&gt;
&lt;br /&gt;
Currently there is a ZIP file with solution/project files available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151].  &lt;br /&gt;
&lt;br /&gt;
If you are building 1.16 or 1.17, most likely the easiest way towards compiling SL on MS2005 will be to:&lt;br /&gt;
* download the ZIP archive there&lt;br /&gt;
* unpack it and copy it onto your linden source tree (allow to overwrite files that have &#039;&#039;&#039;_vc8&#039;&#039;&#039; in the name).&lt;br /&gt;
* start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete&#039;&#039;&#039;_vc8&#039;&#039;&#039;.sln (Note: If you plan to work with multiple versions over time, you will find it useful to rename &#039;&#039;&#039;indra_complete_vc8.sln&#039;&#039;&#039; to something which contains the version number, e.g. &#039;&#039;&#039;indra_1_17_0_11_vc8.sln&#039;&#039;&#039; before opening)&lt;br /&gt;
* right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* proceed with applying the &#039;&#039;&#039;Workarounds&#039;&#039;&#039; below (skip &#039;&#039;&#039;Manual conversion&#039;&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If, while compiling, you later encounter errors or problems regarding the projects, you may have to do the manual conversion instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manual conversion of the solution/projects ==&lt;br /&gt;
&lt;br /&gt;
If you can not find a set of project files (see above), there are instructions available how to manually do it: [[Converting_project_files_for_MSVS2005]] (this step will take about 5-15 minutes, depending on how proficient you are using VS2005).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workarounds ==&lt;br /&gt;
&lt;br /&gt;
There are more compatibility problems between VS2003 and VS2005.  You need the following code edits.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== test project/crash_logger/updater ===&lt;br /&gt;
&lt;br /&gt;
For whatever reason, the &#039;&#039;&#039;test&#039;&#039;&#039; project doesn&#039;t work under VS2005.  Workaround is to disable it as follows: Right click on the &#039;&#039;&#039;test&#039;&#039;&#039; and choose &#039;&#039;&#039;Unload Project&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not plan to create a full download build, you can exclude the &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; from newview&#039;s project dependencies and unload them also.  But be careful with unloading these projects without removing them from the dependencies, because I have seen VS2005 act highly erratic while linking then project when I tried this.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== QuickTime removal ===&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to get Apple QuickTime SDK, you can disable it as follows:&lt;br /&gt;
*linden\indra\llcommon\llpreprocessor.h - near line 58 (the line below &#039;&#039;&#039;#elif LL_WINDOWS&#039;&#039;&#039;)&lt;br /&gt;
 --50: #define LL_QUICKTIME_ENABLED	1&lt;br /&gt;
 ++50: #define LL_QUICKTIME_ENABLED	&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box beside the green arrow under the tool bar, and do the followings on the Solution Explorer frame:&lt;br /&gt;
*Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.&lt;br /&gt;
**Choose Properties.&lt;br /&gt;
**Under Configuration Properties &amp;gt; Linker &amp;gt; Input, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
**Scroll down the list to find &#039;&#039;&#039;qtmlclient.lib&#039;&#039;&#039;.  Delete this single line.&lt;br /&gt;
**Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box. Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone and do the same thing again.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Ready, Set, Build! =&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; (for production code).&lt;br /&gt;
* To do this, pick either in the Solution Configurations drop-down box beside the green arrow under the tool bar.&lt;br /&gt;
* Make sure &#039;&#039;&#039;newview&#039;&#039;&#039; is set as the active project (otherwise set from newview&#039;s right-click menu).&lt;br /&gt;
* Select Build-Menu &amp;gt; Build Solution or press F7.&lt;br /&gt;
* newview_noopt.exe will be built in linden\indra\newview\ReleaseNoOpt or SecondLife.exe will be linden\indra\newview\ReleaseForDownload.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Common compile errors ==&lt;br /&gt;
* See [[Common compilation problems]] if you run into other errors while building.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Running ==&lt;br /&gt;
* You can run the viewer by &#039;&#039;&#039;Debug &amp;gt; Start Debugging&#039;&#039;&#039; or &#039;&#039;&#039;Debug &amp;gt; Start &amp;quot;Without Debugging&#039;&#039;&#039; in Visual Studio. &lt;br /&gt;
* To run it outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (all the .dll will be found there.)&lt;br /&gt;
* Alternately copy the exe (possibly rename it) to your &amp;quot;c:\program files\second life&amp;quot; folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Debugging Info/Configurations ==&lt;br /&gt;
* Usually you will either use &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; or the &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; configuration.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (not optimized) compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; also has debugging information and runs fine in the debugger (although at times you may miss access to some local variables).&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session, but you can access the same information also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug console log can also be redirected to a file if you add &amp;quot;2&amp;gt;secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[Finding_leaks]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and repoen it, before you can connect to the selected grid).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Submit Patches =&lt;br /&gt;
This is probably faaar down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Bug_triage/2007-08-08&amp;diff=26272</id>
		<title>Talk:Bug triage/2007-08-08</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Bug_triage/2007-08-08&amp;diff=26272"/>
		<updated>2007-07-24T22:36:41Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: New page: == Invitation ==  Following the lead of Rob Linden and Benjamin Linden, I&amp;#039;ll be starting my own weekly bug triages focusing on Viewer Crashes.  I created a new filter in the Issue Tracker ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Invitation ==&lt;br /&gt;
&lt;br /&gt;
Following the lead of Rob Linden and Benjamin Linden, I&#039;ll be starting my own weekly bug triages focusing on Viewer Crashes.  I created a new filter in the Issue Tracker titled (appropriately!) &amp;quot;Viewer Crashes&amp;quot;.  We&#039;ll be looking through issues that have not already been imported into Linden Lab&#039;s internal issue tracker, sorted by priority.&lt;br /&gt;
&lt;br /&gt;
The Viewer Crashes bug triage will be on Wednesdays at 3:00 pm at my house in Linden Village.  We&#039;ll use the same general process the other triages have been following.  Minutes and transcripts from the triage will be posted to the Wiki after each triage.  I’ll be your host, but expect to see other Lindens make appearances and help out.&lt;br /&gt;
&lt;br /&gt;
The first Viewer Crashes bug triage will be held Wednesday, July 25th.  I could really use some help with the agenda for this first triage.  Any volunteers?&lt;br /&gt;
&lt;br /&gt;
Thanks!&lt;br /&gt;
&lt;br /&gt;
--Bridie Linden&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Bug_triage/2007-08-08&amp;diff=26270</id>
		<title>Bug triage/2007-08-08</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Bug_triage/2007-08-08&amp;diff=26270"/>
		<updated>2007-07-24T22:28:37Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Bug triage}}&lt;br /&gt;
&lt;br /&gt;
Next meeting: 2007-07-25, 3pm PDT at {{User|Bridie Linden}}&#039;s house.  See [[Bug triage]] for details.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Top Viewer Crashes ==&lt;br /&gt;
&lt;br /&gt;
* There is a list of top viewer crashes being sent to LL: [[Crash Reports]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Dan Linden Crashes are excerpts from the above top viewer crashes&#039;&#039;&#039;&lt;br /&gt;
* {{jira|VWR-586}} - Votes: 0 - crash in LLRenderPass::pushBatch - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-588}} - Votes: 0 - crash in LLInventoryItem::setCreationDate - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-589}} - Votes: 0 - crash in LLFace::setSize - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-594}} - Votes: 1 - crash in LLError::crashAndLoop - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-592}} - Votes: 0 - crash in LLTemplateMessageBuilder::addString - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-596}} - Votes: 0 - crash in LLTextureFetchWorker::clearPackets - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-595}} - Votes: 0 - crash in LLViewBorder::drawOnePixelLines - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-590}} - Votes: 0 - crash in LLWindowWin32::close - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-591}} - Votes: 0 - crash in LLVLComposition::generateHeights - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-620}} - Votes: 0 - crash in LLImageJ2C::updateData - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-619}} - Votes: 0 - crash in LLFace::setTEOffset - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-617}} - Votes: 0 - crash in LLPipeline::updateMove() - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-1081}} - Votes: 0 - crash in LLViewerImageList::updateImagesFetchTextures(float) - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-1082}} - Votes: 0 - crash in LLMsgData::~LLMsgData - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-1084}} - Votes: 0 - crash in LLFloaterTools::setStatusText - {{User|dan linden}}&lt;br /&gt;
* {{jira|VWR-1083}} - Votes: 0 - crash in LLRenderPass::pushBatch - {{User|dan linden}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Viewer Crashes ==&lt;br /&gt;
&lt;br /&gt;
(Current list (48) of [https://jira.secondlife.com/secure/IssueNavigator.jspa?mode=hide&amp;amp;requestId=10492 Viewer Crashes] that have &#039;&#039;&#039;not&#039;&#039;&#039; been imported, sorted by priority)&lt;br /&gt;
&lt;br /&gt;
* {{jira|VWR-1682}} - Votes: 1 - System reboot shortly after login on 1.18.0.6 - {{User|Grazel Cosmo}}&lt;br /&gt;
* {{jira|VWR-1765}} - Votes: 1 - Compleate system hang after inworld a few minutes - {{User|Gershom Taov}}&lt;br /&gt;
* {{jira|VWR-1863}} - Votes: 0 - vtdisp Blue screen - {{User|Zaphlarb Allen}}&lt;br /&gt;
* {{jira|VWR-673}} - Votes: 5 - Viewer freeze on timed-out asset download request. - {{User|Elbereth Witte}}&lt;br /&gt;
* {{jira|VWR-1853}} - Votes: 0 - Missing fonts = segfault x64 Linux - {{User|Awsoonn Rawley}}&lt;br /&gt;
* {{jira|VWR-1864}} - Votes: 0 - dwt_decode_tile  SegFault - {{User|Awsoonn Rawley}}&lt;br /&gt;
* {{jira|VWR-1855}} - Votes: 1 - Crash immedatly on Login - {{User|Awsoonn Rawley}}&lt;br /&gt;
* {{jira|VWR-376}} - Votes: 3 - Voice Viewer  randomly crashing - {{User|xionwolf udal}}&lt;br /&gt;
* {{jira|VWR-1459}} - Votes: 1 - Unexpected crash in Mac OS X: Using a menu? - {{User|Alos Fellini}}&lt;br /&gt;
* {{jira|VWR-1718}} - Votes: 1 - First Look:  Selecting multiple items in object contents then choosing Properties causes crash. - {{User|Doubledown Tandino}}&lt;br /&gt;
* {{jira|VWR-228}} - Votes: 2 - Attempting to log into a down sim results in a randomized location - {{User|Strife Onizuka}}&lt;br /&gt;
* {{jira|VWR-524}} - Votes: 2 - X300 / x600 Graphics Card Crash - {{User|davidbatty hathaway}}&lt;br /&gt;
* {{jira|VWR-629}} - Votes: 3 - Buffer Overrun message from the MS Visual C++ Runtime Library - viewer terminated. - {{User|Aaron Greenberg}}&lt;br /&gt;
* {{jira|VWR-695}} - Votes: 0 - Old fashioned memory corruption - {{User|Lee Ponzu}}&lt;br /&gt;
* {{jira|VWR-854}} - Votes: 0 - Viewer crashes in non-Administrator user in MS Vista - {{User|Benja Kepler}}&lt;br /&gt;
* {{jira|VWR-861}} - Votes: 1 - memory leak - {{User|tx Oh}}&lt;br /&gt;
* {{jira|VWR-1090}} - Votes: 0 - Mac Intel-native version of universal binary 1.16.0.6 crashes at start-up - Rosetta version works stable - {{User|Harry Palliard}}&lt;br /&gt;
* {{jira|VWR-1257}} - Votes: 0 - Viewer shuts down with no reason - {{User|Dre Dagostino}}&lt;br /&gt;
* {{jira|VWR-1272}} - Votes: 0 - Random Lockups on First Look Voice - {{User|Ice Semple}}&lt;br /&gt;
* {{jira|VWR-1564}} - Votes: 0 - Viewer crashes when started with the &amp;quot;-local&amp;quot; argument. - {{User|Timmahy Widget}}&lt;br /&gt;
* {{jira|VWR-1690}} - Votes: 0 - SL Locks up, and TCP/IP temporarily fails for whole system - {{User|PlanetThoughts Raymaker}}&lt;br /&gt;
* {{jira|VWR-738}} - Votes: 1 - SL crashes when loading with a GTK_IM scim module - {{User|Kilcher Jewell}}&lt;br /&gt;
* {{jira|VWR-502}} - Votes: 3 - client crashes on quit - {{User|Lex Neva}}&lt;br /&gt;
* {{jira|VWR-1744}} - Votes: 0 - Keyboard/Mouse Freeze in XP pro when minimizing SL full screen to get desktop access - {{User|Barrpeople Winx}}&lt;br /&gt;
* {{jira|VWR-396}} - Votes: 0 - Crash message stating xpcom_core.dll is not found - {{User|Kittenanne Mousehold}}&lt;br /&gt;
* {{jira|VWR-1656}} - Votes: 0 - Second Life Viewer freezes and causes an graphical driver restart on Vista Ultimate 32-bit on a Dell D620 with Nvidia NVS Quatro 110M gfx card and crashes after driver restart. - {{User|JW Russell}}&lt;br /&gt;
* {{jira|VWR-1343}} - Votes: 0 - SL Crashes with nVIDIA Stereo driver - {{User|Kyra Arkin}}&lt;br /&gt;
* {{jira|VWR-1587}} - Votes: 0 - Window &amp;quot;The application SLVoice quit unexpectedly.&amp;quot; appears but the app hasn&#039;t crashed. Window appears every few minutes afterwards. - {{User|Prng Flagstaff}}&lt;br /&gt;
* {{jira|VWR-1848}} - Votes: 1 - Crashreport window does not show status and never closes - {{User|Lisa Lowe}}&lt;br /&gt;
* {{jira|VWR-1829}} - Votes: 0 - Client crash when entering password with caps lock on [mac] - {{User|Kerian Bunin}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fast Track Import ==&lt;br /&gt;
&lt;br /&gt;
(Move bugs here that have solid repros, or valid patches that you have reviewed)&lt;br /&gt;
&lt;br /&gt;
== Hot by Vote ==&lt;br /&gt;
&lt;br /&gt;
== Patches ==&lt;br /&gt;
&lt;br /&gt;
== Misc Pool ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pre-meeting activity ==&lt;br /&gt;
&lt;br /&gt;
Some issues will be resolved in the course of building this agenda.  Rather than deleting them from the proposed agenda, move the issue and associated discussion into the appropriate section below.&lt;br /&gt;
&lt;br /&gt;
=== Imported ===&lt;br /&gt;
&lt;br /&gt;
=== Resolved ===&lt;br /&gt;
* {{jira|VWR-1290}} - Votes: 6 - Client Crashes on every log out / logging out - {{User|Robin Laffer}}&lt;br /&gt;
** Closed. Dupe of {{jira|VWR-502}} [[User:Dzonatas Sol|Dzonatas Sol]] 13:03, 24 July 2007 (PDT)&lt;br /&gt;
* {{jira|VWR-817}} - Votes: 2 - Viewer crashes on quit - {{User|Benja Kepler}}&lt;br /&gt;
** Closed. Dupe of {{jira|VWR-502}} [[User:Dzonatas Sol|Dzonatas Sol]] 13:11, 24 July 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Bug_triage/2007-10-23&amp;diff=25856</id>
		<title>Bug triage/2007-10-23</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Bug_triage/2007-10-23&amp;diff=25856"/>
		<updated>2007-07-20T14:11:21Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Bug triage}}&lt;br /&gt;
&lt;br /&gt;
Next meeting: 2007-07-24, 10am PDT at {{User|Benjamin Linden}}&#039;s office. See [[Bug triage]] for details.&lt;br /&gt;
&lt;br /&gt;
== Note to UI Triagers ==&lt;br /&gt;
If you find new issues which might be suitable for solution through open source programmers (many UI isses tend to fall into that category) pleaes add them to/link them from {{jira|VWR-1577}} ([[User:Nicholaz Beresford|Nicholaz]] 06:59, 20 July 2007 (PDT))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Bugfix Patches ==&lt;br /&gt;
* {{jira|VWR-546}} - Votes: 1 - Using inspect interfers with mouse usage. - {{User|Ryozu Kojima}} (patch Nicholaz Beresford)&lt;br /&gt;
* {{jira|VWR-1721}} - Votes: 1 - GUI quirk in groups - {{User|Nicholaz Beresford}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Feature Request Patches ==&lt;br /&gt;
* {{jira|MISC-82}} - Votes: 27 - New Feature -&amp;gt; UI -&amp;gt; IM -&amp;gt; Teleport (other person) Button - {{User|bob wellman}} &lt;br /&gt;
* {{jira|VWR-1825}} -&amp;gt; {{jira|VWR-1826}} Inventory double click: Landmarks -&amp;gt; Teleport {{User|Nicholaz Beresford}}&lt;br /&gt;
*: please revisit: this was disucssed last week for general objects-&amp;gt;wear and landmarks was touched/discussed as a side issue (Nicholaz)&lt;br /&gt;
* {{jira|VWR-1825}} -&amp;gt; {{jira|VWR-1827}} Inventory double click: Linden provided attachments -&amp;gt; wear {{User|Nicholaz Beresford}}&lt;br /&gt;
*: please revisit: this was disucssed last week for general objects-&amp;gt;wear but there is a special type of objects in new user&#039;s inventory (Nicholaz)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Other Bug Reports ==&lt;br /&gt;
* {{jira|VWR-1664}} - Votes: 5 - Selecting &amp;quot;Cancel&amp;quot; during TP process leaves avatar motionless - {{User|Edna Sperber}}&lt;br /&gt;
* {{jira|VWR-289}} - Votes: 4 - URLs for video media streaming need to be URL-encoded or stream doesn&#039;t work - {{User|Gwyneth Llewelyn}}&lt;br /&gt;
* {{jira|VWR-1619}} - Votes: 3 - Instant message window not resizable (reverts to default on sending/recieving message) - {{User|Skinkie Winkler}}&lt;br /&gt;
* {{jira|VWR-749}} - Votes: 3 - Bandwidth indicator: Kbps, should not have capital k - {{User|Daedalus Young}}&lt;br /&gt;
* {{jira|VWR-1408}} - Votes: 3 - Online status viewable via Groups even if &amp;quot;Make my online status visible only to my Friends&amp;quot; is set - {{User|Cloud Bracken}}&lt;br /&gt;
* {{jira|VWR-584}} - Votes: 2 - Show Avatar Names Temporarily - nonfunctional - {{User|jay norfolk}}&lt;br /&gt;
* {{jira|VWR-645}} - Votes: 2 - Sit, then click on self: camera pans but does not tilt - {{User|jeffer clave}}&lt;br /&gt;
* {{jira|VWR-817}} - Votes: 2 - Viewer crashes on quit - {{User|Benja Kepler}}&lt;br /&gt;
* {{jira|VWR-1667}} - Votes: 2 - Profile &amp;quot;My Notes&amp;quot; tab - contents replaced by &amp;quot;Loading...&amp;quot; if you close it before it displays the actual contents - {{User|idoru ng}}&lt;br /&gt;
* {{jira|VWR-1286}} - Votes: 2 - alt-zooming on hollow face mishandled - {{User|Lex Neva}}&lt;br /&gt;
* {{jira|VWR-1097}} - Votes: 2 - Chat and Im history no longer saved - {{User|astarte artaud}}&lt;br /&gt;
* {{jira|VWR-977}} - Votes: 2 - Alt-zoom on anything results in uncontrollable spinning camera - {{User|gonta maltz}}&lt;br /&gt;
* {{jira|VWR-298}} - Votes: 1 - Practically impossible to enter Japanese text when viewer is running full-screen on MacOS - {{User|Alissa Sabre}}&lt;br /&gt;
* {{jira|VWR-1124}} - Votes: 1 - Show Cross Sections not working on Linux with NVidia - {{User|Zi Ree}}&lt;br /&gt;
* {{jira|VWR-1332}} - Votes: 1 - Resident Chooser Fails When Inventory Contains NO Contact Cards - {{User|Chance Unknown}}&lt;br /&gt;
* {{jira|VWR-1424}} - Votes: 1 - Local ruler shows inaccurate grid units (defaults to 1) - {{User|McCabe Maxsted}}&lt;br /&gt;
* {{jira|VWR-1457}} - Votes: 1 - Friend Online/Offline pop up steals focus from Inventory scrolling. - {{User|cat gisel}}&lt;br /&gt;
* {{jira|VWR-1541}} - Votes: 1 - Shortcut key Ctrl-` cannot be entered on Japanese version of Windows with 104 keyboard - {{User|Sat Nemeth}}&lt;br /&gt;
* {{jira|VWR-719}} - Votes: 1 - Money dialogs missing after group notifications - {{User|Daedalus Young}}&lt;br /&gt;
* {{jira|VWR-1003}} - Votes: 1 - Enable Vertex Shaders removes textures from prims but adds windlight effects - {{User|Billie Scaggs}}&lt;br /&gt;
* {{jira|VWR-444}} - Votes: 1 - &amp;quot;My Active Title&amp;quot; drop-down does not refresh when role changes - {{User|Gigs Taggart}}&lt;br /&gt;
* {{jira|VWR-1713}} - Votes: 1 - Object owner name truncated in Properties window - {{User|Benja Kepler}}&lt;br /&gt;
* {{jira|VWR-1281}} - Votes: 1 - text selecting/hilighting rendering problem - {{User|Lex Neva}}&lt;br /&gt;
* {{jira|VWR-1724}} - Votes: 1 - HUD zoom snaps back after selecting another HUD object - {{User|Celierra Darling}}&lt;br /&gt;
* {{jira|VWR-1730}} - Votes: 1 - After accepting texture or notecard, Keep/Discard options display again - {{User|Celierra Darling}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Pre-meeting activity ==&lt;br /&gt;
&lt;br /&gt;
Some issues will be resolved in the course of building this agenda.  Rather than deleting them from the proposed agenda, move the issue and associated discussion into the appropriate section below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Imported ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Resolved ===&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Bug_triage/2007-10-23&amp;diff=25855</id>
		<title>Bug triage/2007-10-23</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Bug_triage/2007-10-23&amp;diff=25855"/>
		<updated>2007-07-20T14:09:38Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Bug triage}}&lt;br /&gt;
&lt;br /&gt;
Next meeting: 2007-07-24, 10am PDT at {{User|Benjamin Linden}}&#039;s office. See [[Bug triage]] for details.&lt;br /&gt;
&lt;br /&gt;
== Note to UI Triagers ==&lt;br /&gt;
If you find new issues which might be suitable for solution through open source programmers (many UI isses tend to fall into that category) pleaes add them to/link them from {{jira|VWR-1577}} ([[User:Nicholaz Beresford|Nicholaz]] 06:59, 20 July 2007 (PDT))&lt;br /&gt;
&lt;br /&gt;
== Bugfix Patches ==&lt;br /&gt;
* {{jira|VWR-546}} - Votes: 1 - Using inspect interfers with mouse usage. - {{User|Ryozu Kojima}} (patch Nicholaz Beresford)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Feature Request Patches ==&lt;br /&gt;
* {{jira|MISC-82}} - Votes: 27 - New Feature -&amp;gt; UI -&amp;gt; IM -&amp;gt; Teleport (other person) Button - {{User|bob wellman}} &lt;br /&gt;
* {{jira|VWR-1825}} -&amp;gt; {{jira|VWR-1826}} Inventory double click: Landmarks -&amp;gt; Teleport {{User|Nicholaz Beresford}}&lt;br /&gt;
*: please revisit: this was disucssed last week for general objects-&amp;gt;wear and landmarks was touched/discussed as a side issue (Nicholaz)&lt;br /&gt;
* {{jira|VWR-1825}} -&amp;gt; {{jira|VWR-1827}} Inventory double click: Linden provided attachments -&amp;gt; wear {{User|Nicholaz Beresford}}&lt;br /&gt;
*: please revisit: this was disucssed last week for general objects-&amp;gt;wear but there is a special type of objects in new user&#039;s inventory (Nicholaz)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Other Bug Reports ==&lt;br /&gt;
* {{jira|VWR-1664}} - Votes: 5 - Selecting &amp;quot;Cancel&amp;quot; during TP process leaves avatar motionless - {{User|Edna Sperber}}&lt;br /&gt;
* {{jira|VWR-289}} - Votes: 4 - URLs for video media streaming need to be URL-encoded or stream doesn&#039;t work - {{User|Gwyneth Llewelyn}}&lt;br /&gt;
* {{jira|VWR-1619}} - Votes: 3 - Instant message window not resizable (reverts to default on sending/recieving message) - {{User|Skinkie Winkler}}&lt;br /&gt;
* {{jira|VWR-749}} - Votes: 3 - Bandwidth indicator: Kbps, should not have capital k - {{User|Daedalus Young}}&lt;br /&gt;
* {{jira|VWR-1408}} - Votes: 3 - Online status viewable via Groups even if &amp;quot;Make my online status visible only to my Friends&amp;quot; is set - {{User|Cloud Bracken}}&lt;br /&gt;
* {{jira|VWR-584}} - Votes: 2 - Show Avatar Names Temporarily - nonfunctional - {{User|jay norfolk}}&lt;br /&gt;
* {{jira|VWR-645}} - Votes: 2 - Sit, then click on self: camera pans but does not tilt - {{User|jeffer clave}}&lt;br /&gt;
* {{jira|VWR-817}} - Votes: 2 - Viewer crashes on quit - {{User|Benja Kepler}}&lt;br /&gt;
* {{jira|VWR-1667}} - Votes: 2 - Profile &amp;quot;My Notes&amp;quot; tab - contents replaced by &amp;quot;Loading...&amp;quot; if you close it before it displays the actual contents - {{User|idoru ng}}&lt;br /&gt;
* {{jira|VWR-1286}} - Votes: 2 - alt-zooming on hollow face mishandled - {{User|Lex Neva}}&lt;br /&gt;
* {{jira|VWR-1097}} - Votes: 2 - Chat and Im history no longer saved - {{User|astarte artaud}}&lt;br /&gt;
* {{jira|VWR-977}} - Votes: 2 - Alt-zoom on anything results in uncontrollable spinning camera - {{User|gonta maltz}}&lt;br /&gt;
* {{jira|VWR-298}} - Votes: 1 - Practically impossible to enter Japanese text when viewer is running full-screen on MacOS - {{User|Alissa Sabre}}&lt;br /&gt;
* {{jira|VWR-1124}} - Votes: 1 - Show Cross Sections not working on Linux with NVidia - {{User|Zi Ree}}&lt;br /&gt;
* {{jira|VWR-1332}} - Votes: 1 - Resident Chooser Fails When Inventory Contains NO Contact Cards - {{User|Chance Unknown}}&lt;br /&gt;
* {{jira|VWR-1424}} - Votes: 1 - Local ruler shows inaccurate grid units (defaults to 1) - {{User|McCabe Maxsted}}&lt;br /&gt;
* {{jira|VWR-1457}} - Votes: 1 - Friend Online/Offline pop up steals focus from Inventory scrolling. - {{User|cat gisel}}&lt;br /&gt;
* {{jira|VWR-1541}} - Votes: 1 - Shortcut key Ctrl-` cannot be entered on Japanese version of Windows with 104 keyboard - {{User|Sat Nemeth}}&lt;br /&gt;
* {{jira|VWR-719}} - Votes: 1 - Money dialogs missing after group notifications - {{User|Daedalus Young}}&lt;br /&gt;
* {{jira|VWR-1003}} - Votes: 1 - Enable Vertex Shaders removes textures from prims but adds windlight effects - {{User|Billie Scaggs}}&lt;br /&gt;
* {{jira|VWR-444}} - Votes: 1 - &amp;quot;My Active Title&amp;quot; drop-down does not refresh when role changes - {{User|Gigs Taggart}}&lt;br /&gt;
* {{jira|VWR-1713}} - Votes: 1 - Object owner name truncated in Properties window - {{User|Benja Kepler}}&lt;br /&gt;
* {{jira|VWR-1281}} - Votes: 1 - text selecting/hilighting rendering problem - {{User|Lex Neva}}&lt;br /&gt;
* {{jira|VWR-1724}} - Votes: 1 - HUD zoom snaps back after selecting another HUD object - {{User|Celierra Darling}}&lt;br /&gt;
* {{jira|VWR-1721}} - Votes: 1 - GUI quirk in groups - {{User|Nicholaz Beresford}}&lt;br /&gt;
* {{jira|VWR-1730}} - Votes: 1 - After accepting texture or notecard, Keep/Discard options display again - {{User|Celierra Darling}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Pre-meeting activity ==&lt;br /&gt;
&lt;br /&gt;
Some issues will be resolved in the course of building this agenda.  Rather than deleting them from the proposed agenda, move the issue and associated discussion into the appropriate section below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Imported ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Resolved ===&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Bug_triage/2007-10-23&amp;diff=25854</id>
		<title>Bug triage/2007-10-23</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Bug_triage/2007-10-23&amp;diff=25854"/>
		<updated>2007-07-20T13:59:56Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Bug triage}}&lt;br /&gt;
&lt;br /&gt;
Next meeting: 2007-07-24, 10am PDT at {{User|Benjamin Linden}}&#039;s office. See [[Bug triage]] for details.&lt;br /&gt;
&lt;br /&gt;
== Note to UI Triagers ==&lt;br /&gt;
If you find new issues which might be suitable for solution through open source programmers (many UI isses tend to fall into that category) pleaes add them to/link them from {{jira|VWR-1577}} ([[User:Nicholaz Beresford|Nicholaz]] 06:59, 20 July 2007 (PDT))&lt;br /&gt;
&lt;br /&gt;
== Bugfix Patches ==&lt;br /&gt;
* {{jira|VWR-546}} - Votes: 1 - Using inspect interfers with mouse usage. - {{User|Ryozu Kojima}}&lt;br /&gt;
&lt;br /&gt;
== Feature Request Patches ==&lt;br /&gt;
* {{jira|MISC-82}} - Votes: 27 - New Feature -&amp;gt; UI -&amp;gt; IM -&amp;gt; Teleport (other person) Button - {{User|bob wellman}}&lt;br /&gt;
&lt;br /&gt;
== Other Bug Reports ==&lt;br /&gt;
* {{jira|VWR-1664}} - Votes: 5 - Selecting &amp;quot;Cancel&amp;quot; during TP process leaves avatar motionless - {{User|Edna Sperber}}&lt;br /&gt;
* {{jira|VWR-289}} - Votes: 4 - URLs for video media streaming need to be URL-encoded or stream doesn&#039;t work - {{User|Gwyneth Llewelyn}}&lt;br /&gt;
* {{jira|VWR-1619}} - Votes: 3 - Instant message window not resizable (reverts to default on sending/recieving message) - {{User|Skinkie Winkler}}&lt;br /&gt;
* {{jira|VWR-749}} - Votes: 3 - Bandwidth indicator: Kbps, should not have capital k - {{User|Daedalus Young}}&lt;br /&gt;
* {{jira|VWR-1408}} - Votes: 3 - Online status viewable via Groups even if &amp;quot;Make my online status visible only to my Friends&amp;quot; is set - {{User|Cloud Bracken}}&lt;br /&gt;
* {{jira|VWR-584}} - Votes: 2 - Show Avatar Names Temporarily - nonfunctional - {{User|jay norfolk}}&lt;br /&gt;
* {{jira|VWR-645}} - Votes: 2 - Sit, then click on self: camera pans but does not tilt - {{User|jeffer clave}}&lt;br /&gt;
* {{jira|VWR-817}} - Votes: 2 - Viewer crashes on quit - {{User|Benja Kepler}}&lt;br /&gt;
* {{jira|VWR-1667}} - Votes: 2 - Profile &amp;quot;My Notes&amp;quot; tab - contents replaced by &amp;quot;Loading...&amp;quot; if you close it before it displays the actual contents - {{User|idoru ng}}&lt;br /&gt;
* {{jira|VWR-1286}} - Votes: 2 - alt-zooming on hollow face mishandled - {{User|Lex Neva}}&lt;br /&gt;
* {{jira|VWR-1097}} - Votes: 2 - Chat and Im history no longer saved - {{User|astarte artaud}}&lt;br /&gt;
* {{jira|VWR-977}} - Votes: 2 - Alt-zoom on anything results in uncontrollable spinning camera - {{User|gonta maltz}}&lt;br /&gt;
* {{jira|VWR-298}} - Votes: 1 - Practically impossible to enter Japanese text when viewer is running full-screen on MacOS - {{User|Alissa Sabre}}&lt;br /&gt;
* {{jira|VWR-1124}} - Votes: 1 - Show Cross Sections not working on Linux with NVidia - {{User|Zi Ree}}&lt;br /&gt;
* {{jira|VWR-1332}} - Votes: 1 - Resident Chooser Fails When Inventory Contains NO Contact Cards - {{User|Chance Unknown}}&lt;br /&gt;
* {{jira|VWR-1424}} - Votes: 1 - Local ruler shows inaccurate grid units (defaults to 1) - {{User|McCabe Maxsted}}&lt;br /&gt;
* {{jira|VWR-1457}} - Votes: 1 - Friend Online/Offline pop up steals focus from Inventory scrolling. - {{User|cat gisel}}&lt;br /&gt;
* {{jira|VWR-1541}} - Votes: 1 - Shortcut key Ctrl-` cannot be entered on Japanese version of Windows with 104 keyboard - {{User|Sat Nemeth}}&lt;br /&gt;
* {{jira|VWR-719}} - Votes: 1 - Money dialogs missing after group notifications - {{User|Daedalus Young}}&lt;br /&gt;
* {{jira|VWR-1003}} - Votes: 1 - Enable Vertex Shaders removes textures from prims but adds windlight effects - {{User|Billie Scaggs}}&lt;br /&gt;
* {{jira|VWR-444}} - Votes: 1 - &amp;quot;My Active Title&amp;quot; drop-down does not refresh when role changes - {{User|Gigs Taggart}}&lt;br /&gt;
* {{jira|VWR-1713}} - Votes: 1 - Object owner name truncated in Properties window - {{User|Benja Kepler}}&lt;br /&gt;
* {{jira|VWR-1281}} - Votes: 1 - text selecting/hilighting rendering problem - {{User|Lex Neva}}&lt;br /&gt;
* {{jira|VWR-1724}} - Votes: 1 - HUD zoom snaps back after selecting another HUD object - {{User|Celierra Darling}}&lt;br /&gt;
* {{jira|VWR-1721}} - Votes: 1 - GUI quirk in groups - {{User|Nicholaz Beresford}}&lt;br /&gt;
* {{jira|VWR-1730}} - Votes: 1 - After accepting texture or notecard, Keep/Discard options display again - {{User|Celierra Darling}}&lt;br /&gt;
&lt;br /&gt;
== Pre-meeting activity ==&lt;br /&gt;
&lt;br /&gt;
Some issues will be resolved in the course of building this agenda.  Rather than deleting them from the proposed agenda, move the issue and associated discussion into the appropriate section below.&lt;br /&gt;
&lt;br /&gt;
=== Imported ===&lt;br /&gt;
&lt;br /&gt;
=== Resolved ===&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=25839</id>
		<title>Common compilation problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=25839"/>
		<updated>2007-07-20T10:03:09Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: /* Unresolved external symbol &amp;quot;int __cdecl lscript_compile&amp;quot; (VS2005) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= General Problems =&lt;br /&gt;
&lt;br /&gt;
*  Make sure you download not only the source, but the artwork zipfile, and the appropriate zipfile/tarball of libraries for your platform&lt;br /&gt;
&lt;br /&gt;
= Windows = &lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol _CLSID_DxDiagProvider/_IID_IDxDiagProvider ==&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _CLSID_DxDiagProvider&#039;&#039;&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _IID_IDxDiagProvider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These errors reportedly occur with MSVC 2003 and certain versions of the DirectX SDK.  To workaround, edit lldxhardware.cpp and replace the following (line 35):&lt;br /&gt;
&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
with...&lt;br /&gt;
     #define INITGUID&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
     #undef INITGUID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cannot open input file &#039;dxguid.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1181: cannot open input file &#039;dxguid.lib&#039; in ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using the most recent DirectX SDK (&amp;quot;December 2006&amp;quot;), your VC++ Libraries Directory may be wrong because the SDK&#039;s lib folder now has 2 sub-folders for x64 and x86.  Try changing the path from &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\Lib&#039;&#039; to &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\&#039;&#039; &#039;&#039;&#039;Lib\x86&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;ytab.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;indra.l (20) : fatal error C1083: Cannot open include file: &#039;ytab.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
Workaround: Manually copy &amp;quot;linden\indra\lscript\lscript_compile\ytab.hpp&amp;quot; to &amp;quot;linden\indra\lscript\lscript_compile\ytab.h&amp;quot; and build again. &lt;br /&gt;
&lt;br /&gt;
Note: The underlying issue is that in indra.y there is a postbuild step which should do this automatically, but which is missing in some configurations (e.g. in Debug builds).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;png.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;imagepng.cpp : fatal error C1083: Cannot open include file: &#039;libpng12/png.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
There are a couple of files missing since the 1.17. distribution.  You can either get the missing files from the internet (from the libpng and zlib projects) or download a set with just the missing files from [http://www.blueflash.cc/users/nicholaz/~libs here] (see the readme.txt inside the png archive there).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors relating to &amp;quot;template_verifier.py&amp;quot; ==&lt;br /&gt;
With version 1.18 a template verifier script written in Python is used to ensure the message template is correct.  In some distributions the file was missing.  You will also get an error if you have skipped the Python install.  In both cases it is safe to hack the prebuild.bat file in the newview folder as described on the JIRA [http://jira.secondlife.com/browse/VWR-1267 VWR-1267]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing resources ==&lt;br /&gt;
* &#039;&#039;.\res\newViewRes.rc(64) : error RC2135 : file not found: ll_icon.ico&#039;&#039;&lt;br /&gt;
Some releases have missing files, which were reported to be last seen in the &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; release.&lt;br /&gt;
* Go to the [[source downloads]] page and grab the [[http://secondlife.com/developers/opensource/downloads/2007/04/slviewer-src-1.14.0.1.zip &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; viewer]] sources.&lt;br /&gt;
* Explore the archive to &amp;quot;linden/indra/newview/res&amp;quot; folder and extract content to your &amp;quot;linden/indra/newview/res&amp;quot; folder into current revision.&lt;br /&gt;
Missing folder in recent release, &amp;quot;&#039;&#039;&#039;1.17.0.12&#039;&#039;&#039;&amp;quot; which causes the SecondLife to hang while loading into the world.&lt;br /&gt;
* Go to the previous source and copy the missing folder, &amp;quot;Character&amp;quot; and place it into the &amp;quot;newview&amp;quot; folder&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Error code from &amp;quot;Copying message template&amp;quot; ==&lt;br /&gt;
* &#039;&#039;newview error PRJ0019: A tool returned an error code from &amp;quot;Copying message template&amp;quot;&#039;&#039;&lt;br /&gt;
This is caused by the script trying to do a copy command, but the source path isn&#039;t in quotes.  Open up newview.vcproj in notepad, and near the bottom there are 4 line that say:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(InputPath) .\app_settings\message_template.msg&lt;br /&gt;
replace them with&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(InputPath)&amp;amp;amp;quot; .\app_settings\message_template.msg&lt;br /&gt;
The source and destination paths on line 158 may also require wrapping in quotes.  In which case:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(TargetDir)\$(TargetFileName) $(ProjectDir)&lt;br /&gt;
should become:&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(TargetDir)\$(TargetFileName)&amp;amp;amp;quot; &amp;amp;amp;quot;$(ProjectDir)&amp;amp;amp;quot;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Can not find library ll*.lib ==&lt;br /&gt;
If you get a compile error for missing libraries with names of the projects (lscript_compile.lib, llaudio.lib, llcharacter.lib, etc.) go to newview &amp;gt; Properties &amp;gt; Linker &amp;gt; Input and remove these from the list of input libraries (they will be linked through the dependencies and should not be in the list).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;windows.h&#039; ==&lt;br /&gt;
If you run into this problem:&lt;br /&gt;
 ..\..\..\boost/regex/v4/fileiter.hpp(44) : fatal error C1083: Cannot open include file: &#039;windows.h&#039;: No such file or directory&lt;br /&gt;
Fix it with this: (thanks Fairlight!)&lt;br /&gt;
 set INCLUDE=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;%INCLUDE%&lt;br /&gt;
 set LIB=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%LIB%&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Unresolved external symbol &amp;quot;int __cdecl lscript_compile&amp;quot; (VS2005) ==&lt;br /&gt;
* &#039;&#039;llcompilequeue.obj : error LNK2019: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z) referenced in function &amp;quot;protected: void __thiscall LLFloaterCompileQueue::compile(char const *,class LLUUID const &amp;amp;)&amp;quot; (?compile@LLFloaterCompileQueue@@IAEXPBDABVLLUUID@@@Z)&#039;&#039;&lt;br /&gt;
* &#039;&#039;llpreviewscript.obj : error LNK2001: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is not entirely clear, but there seems to be a problem with VS2005 if projects are unloaded while being in the dependency tree.  I have seen this error while I had win_crash_logger and win_updater unloaded from the project tree and the problem went away when I loaded them back and excluded them from the newview dependency first.&lt;br /&gt;
&lt;br /&gt;
Also make sure that in newview, properties, linker, input, input libraries, no libraries named ll*.lib and lscript_compile.lib are listed there (remove them if you find them).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol __invalid_parameter_noinfo (VS2005) ==&lt;br /&gt;
* &#039;&#039;llmozlib-vc80.lib(llembeddedbrowserwindow.obj) : error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are most likely trying a debug build under VS2005.  For debug builds, see the compile instruction section on [[finding_leaks]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Other (older) notes ==&lt;br /&gt;
* Mozilla is not compatible with visual studio 2005, so we have not migrated the codebase, so we do not know if it works. &lt;br /&gt;
&lt;br /&gt;
* Added my errors at [[User:Adam_Zaius/MSVS2005 Errors]] [[User:Adam Zaius|Adam Zaius]] 09:40, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* To minimize the number of warnings for now: in C/C++-Preprocessor add &#039;;_CRT_SECURE_NO_DEPRECATE&#039; to the Preprocessor Definitions, that will supress deprecation warnings --[[User:Artm Udal|Artm Udal]] 12:42, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mac OS X =&lt;br /&gt;
&lt;br /&gt;
Getting:&lt;br /&gt;
&lt;br /&gt;
*/linden/indra/newview/../llwindow/llglheaders.h:377:31: error: GL/glh_extensions.h: No such file or directory&lt;br /&gt;
** This means you didn&#039;t [[Compiling the viewer (Mac OS X)#Viewer Source, Libraries, and Artwork|merge the libraries]] right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Linux = &lt;br /&gt;
&lt;br /&gt;
==== Packaging errors ====&lt;br /&gt;
&lt;br /&gt;
The final packaging step may fail with errors about the manifest if you are not using the &amp;lt;i&amp;gt;slviewer-linux-libs&amp;lt;/i&amp;gt; bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at &amp;lt;b&amp;gt;indra/newview/viewer_manifest.py&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Various Compilation problems ====&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Unable to initialize communications&amp;quot;&lt;br /&gt;
** If the viewer just displays the error message &amp;quot; Unable to initialize communications&amp;quot; and exits, it can&#039;t find message_template.msg. You did remember to copy it over, right?&lt;br /&gt;
&lt;br /&gt;
* Blino&#039;s SL build/linking patches for &#039;&#039;&#039;gcc4&#039;&#039;&#039;: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/secondlife/current/&lt;br /&gt;
* objcopy: &amp;lt;b&amp;gt;&#039;newview/linux_tools/exposed-symbols.txt&#039;&amp;lt;/b&amp;gt;: No such file&lt;br /&gt;
** Tofu says... &#039;This is an omission from our manifest which I&#039;ll fix.  Meanwhile it&#039;s a safe fix to create an empty file with that name.&#039;&lt;br /&gt;
&lt;br /&gt;
* Something like: &amp;lt;b&amp;gt;/usr/bin/ld: cannot find -lz&amp;lt;/b&amp;gt;&lt;br /&gt;
** Nadia says: Install the zlib development headers. (Ubuntu package zlib1g-dev, Red Hat zlib-devel.)&lt;br /&gt;
&lt;br /&gt;
* Something like: indra.y.cpp:17: &amp;lt;b&amp;gt;error: previous declaration of `int yyparse()&#039;&amp;lt;/b&amp;gt;&lt;br /&gt;
** Tofu says... &#039;This appears to be a problem with some versions of flex/bison.  A resident reports success when comment out the &amp;lt;i&amp;gt;#ifdef __cplusplus&amp;lt;/i&amp;gt; lines in lscript/lscript_compile/indra.y&#039;&lt;br /&gt;
** Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: &amp;lt;b&amp;gt;undefined     &lt;br /&gt;
* Linking failures (&amp;quot;script not found&amp;quot;) due to spaces in the LINKFLAGS variable?&lt;br /&gt;
** I saw a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665538 report], and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.&lt;br /&gt;
&lt;br /&gt;
* Building [https://lists.secondlife.com/pipermail/sldev/2007-January/000091.html 20070112a] using &#039;&#039;BUILD=releasefordownload&#039;&#039; I get many &#039;&#039;[: 89: ==: unexpected operator&#039;&#039; errors; &#039;&#039;cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory&#039;&#039; error, and same thing for character, fonts, help, skins, res-sdl; &#039;&#039;[: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator&#039;&#039;. I can succesfully run the client from the source tree.&lt;br /&gt;
** i think this has been fixed --[[User:Signore Iredell|Signore Iredell]] 06:09, 9 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* scons: *** While building `[&#039;.../linden/indra/i686-linux-client-release/lscript/lscript_compile/indra.l.cpp&#039;]&#039;: Don&#039;t know how to build a file with suffix `.l&#039;.&lt;br /&gt;
** You probably don&#039;t have all the dependencies installed (I had the same problem). Check that you have flex and bison. --[[User:Random73 Janus|Random73 Janus]] 07:43, 16 May 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Something like: linden/indra/i686-linux-client-release/llrender/llimagegl.cpp:122: &amp;lt;b&amp;gt;error: `glActiveTextureARB&#039; was not declared in this scope&amp;lt;/b&amp;gt;	 &lt;br /&gt;
** Tofu says... &#039;You&#039;ll need to install OpenGL headers if you don&#039;t already have them: gl.h, glext.h, glu.h (The ones from &#039;mesa&#039; should work)	 &lt;br /&gt;
** two residents report good luck on Gentoo after doing &#039;eselect opengl set xorg-x11&#039; (&amp;lt;b&amp;gt;but note!!&amp;lt;/b&amp;gt; You must know what you&#039;re doing; this may change your default system OpenGL drivers, and you will probably want to change them back again after the compile, e.g. &#039;eselect opengl set nvidia&#039;)&#039;&lt;br /&gt;
&lt;br /&gt;
*Building Shared Library ELFIO [[Compiling_the_viewer_%28Linux%29]] on AMD64 ubuntu 6.10&lt;br /&gt;
     g++-3.4 -shared *.o -o libelfio.so&lt;br /&gt;
     /usr/bin/ld: ELFIDynamic.o: relocation R_X86_64_32 against `a local symbol&#039; can &lt;br /&gt;
     not be used when making a  shared object; recompile with -fPIC&lt;br /&gt;
     ELFIDynamic.o: could not read symbols: Bad value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Building Client on Ubuntu 7.04 AMD64&lt;br /&gt;
     /usr/bin/ld: skipping incompatible /home/dereck/Desktop/SLdev/linden/libraries/i686-linux/lib_release_client/libopenjpeg.a when searching for -lopenjpeg&lt;br /&gt;
     /usr/bin/ld: cannot find -lopenjpeg&lt;br /&gt;
     collect2: ld returned 1 exit status&lt;br /&gt;
** I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile  was happy after that. Although it&#039;s not done yet and I&#039;m still fixing another error, that I assume is unrelated.&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Bug_triage/2007-10-23&amp;diff=25640</id>
		<title>Talk:Bug triage/2007-10-23</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Bug_triage/2007-10-23&amp;diff=25640"/>
		<updated>2007-07-17T04:00:25Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: Pasting invitation from sldev to discussion, need that to link to from my blog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UI-Triage Invitation ==&lt;br /&gt;
&lt;br /&gt;
Dear SL Devs,&lt;br /&gt;
&lt;br /&gt;
I would just like to give you a heads up that the UI Triage Agenda for tomorrow (July 17, 2007) is up on the wiki (http://wiki.secondlife.com/wiki/Bug_triage/UI_Agenda#Other_Bug_Reports). Benjamin, Torley, and I will conduct the triage at 10am SLTime tomorrow. The slurl to Benjamin&#039;s office is listed on the wiki. Feel free to edit the Agenda as you see fit. For this particular triage, I organized by number of votes. You may certainly add issues that you think are important, issues I have failed to address this week.&lt;br /&gt;
&lt;br /&gt;
It is our hope that you will seize control of the UI Triage Agenda in the spirit of Resident empowerment. That way, you dictate what goes on the agenda, not Linden Lab. For instructions on setting the agenda, please see http://wiki.secondlife.com/wiki/Bug_triage. Still have questions? Ping me.&lt;br /&gt;
&lt;br /&gt;
Best,&lt;br /&gt;
Iridium Linden&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Alternate_viewers&amp;diff=25490</id>
		<title>Alternate viewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Alternate_viewers&amp;diff=25490"/>
		<updated>2007-07-14T15:54:55Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The [[Extended_FAQ|Extended FAQ]] states that it is okay to create and distribute homebrew viewers as long they adhere to the respective licenses for code usage and server usage.  &lt;br /&gt;
&lt;br /&gt;
The code itself is licensed under {{OSWebsite|gplv2|alt=the GNU General Public License (GPL)}}, which governs modification and redistribuition of the source code.  Use of Linden Lab&#039;s servers will still be governed by [http://secondlife.com/corporate/tos.php the Second Life Terms of Service]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Homebrew viewers are obviously not associated with LindenLab, are governed by their own respective licenses.  LindenLab is not responsible for any desired or undesired results in association with those viewers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note to authors: If you make a viewer available make sure to include platform, version numbers and dates.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
== Official Linden Lab Viewer ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This viewer is the official version from LindenLab.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://www.secondlife.com/ Second Life]&lt;br /&gt;
* Downloads: [http://secondlife.com/community/downloads.php LindenLab download page]&lt;br /&gt;
* Source code: [[Get_source_and_compile]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
== Nicholaz Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This is a Windows viewer based on SL builds with various preliminary bug fix patches applied.  Nonetheless it is of course an unofficial build.  See [http://www.blueflash.cc/users/nicholaz/!!Installation.txt Installation.txt], [http://www.blueflash.cc/users/nicholaz/!Changes.txt Changes.txt] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Particle system improved&lt;br /&gt;
* Different memory management for image list &lt;br /&gt;
* Many patches from the bug tracker which are not yet in the official viewer&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://nicholaz-beresford.blogspot.com/ Nicholaz Beresford on Blogspot]&lt;br /&gt;
* Direct download link: [http://www.blueflash.cc/users/nicholaz Download versions of this viewer] &lt;br /&gt;
* Source code: Look at the download site for the source-xxx-zip archive&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Able Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This is a Windows viewer is an unofficial build which adds a [https://jira.secondlife.com/browse/VWR-1017 Mute Visibility] feature, which allows objects in-world to be rendered partially or entirely invisible. &lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Mute Visibility &lt;br /&gt;
* Improvements to the Mute List&lt;br /&gt;
* Muting objects applies to entire linksets&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://ablewhitman.blogspot.com/ Able Whitman on Blogspot]&lt;br /&gt;
* Direct download link: http://ablewhitman.org/viewer/&lt;br /&gt;
* Source code: http://ablewhitman.org/viewer/&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Alternate_viewers&amp;diff=25489</id>
		<title>Alternate viewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Alternate_viewers&amp;diff=25489"/>
		<updated>2007-07-14T15:54:06Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The [[Extended_FAQ|Extended FAQ]] states that it is okay to create and distribute homebrew viewers as long they adhere to the respective licenses for code usage and server usage.  &lt;br /&gt;
&lt;br /&gt;
The code itself is licensed under {{OSWebsite|gplv2|alt=the GNU General Public License (GPL)}}, which governs modification and redistribuition of the source code.  Use of Linden Lab&#039;s servers will still be governed by [http://secondlife.com/corporate/tos.php the Second Life Terms of Service]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Homebrew viewers are obviously not associated with LindenLab, are governed by their own respective licenses.  LindenLab is not responsible for any desired or undesired results in association with those viewers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note to authors: If you make a viewer available make sure to include platform, version numbers and dates.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
== Official Linden Lab Viewer ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This viewer is the official version from LindenLab.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://www.secondlife.com/ Second Life]&lt;br /&gt;
* Downloads: [http://secondlife.com/community/downloads.php LindenLab download page]&lt;br /&gt;
* Source code: [[Get_source_and_compile]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
== Nicholaz Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This is a Windows viewer based on SL builds with various preliminary bug fix patches applied.  Nonetheless it is of course an unofficial build.  See [http://www.blueflash.cc/users/nicholaz/!!Installation.txt Installation.txt], [http://www.blueflash.cc/users/nicholaz/!Changes.txt Changes.txt] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Particle system improved&lt;br /&gt;
* Different memory management for image list &lt;br /&gt;
* Many patches from the bug tracker which are not yet in the official viewer&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://nicholaz-beresford.blogspot.com/ Nicholaz Beresford on Blogspot]&lt;br /&gt;
* Direct download link: [http://www.blueflash.cc/users/nicholaz Download versions of this viewer] &lt;br /&gt;
* Source code: Look at the download site for the source-xxx-zip archive&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Able Edition ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
This is a Windows viewer is an unofficial build which adds a Mute Visibility feature [https://jira.secondlife.com/browse/VWR-1017], which allows objects in-world to be rendered partially or entirely invisible. &lt;br /&gt;
&lt;br /&gt;
=== Extra Features ===&lt;br /&gt;
* Mute Visibility &lt;br /&gt;
* Improvements to the Mute List&lt;br /&gt;
* Muting objects applies to entire linksets&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Website: [http://ablewhitman.blogspot.com/ Able Whitman on Blogspot]&lt;br /&gt;
* Direct download link: http://ablewhitman.org/viewer/&lt;br /&gt;
* Source code: http://ablewhitman.org/viewer/&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=25207</id>
		<title>Common compilation problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=25207"/>
		<updated>2007-07-10T14:49:37Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: template_verifyer.py (windows)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= General Problems =&lt;br /&gt;
 &lt;br /&gt;
= Windows = &lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol _CLSID_DxDiagProvider/_IID_IDxDiagProvider ==&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _CLSID_DxDiagProvider&#039;&#039;&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _IID_IDxDiagProvider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These errors reportedly occur with MSVC 2003 and certain versions of the DirectX SDK.  To workaround, edit lldxhardware.cpp and replace the following (line 35):&lt;br /&gt;
&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
with...&lt;br /&gt;
     #define INITGUID&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
     #undef INITGUID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cannot open input file &#039;dxguid.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1181: cannot open input file &#039;dxguid.lib&#039; in ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using the most recent DirectX SDK (&amp;quot;December 2006&amp;quot;), your VC++ Libraries Directory may be wrong because the SDK&#039;s lib folder now has 2 sub-folders for x64 and x86.  Try changing the path from &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\Lib&#039;&#039; to &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\&#039;&#039; &#039;&#039;&#039;Lib\x86&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;ytab.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;indra.l (20) : fatal error C1083: Cannot open include file: &#039;ytab.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
Workaround: Manually copy &amp;quot;linden\indra\lscript\lscript_compile\ytab.hpp&amp;quot; to &amp;quot;linden\indra\lscript\lscript_compile\ytab.h&amp;quot; and build again. &lt;br /&gt;
&lt;br /&gt;
Note: The underlying issue is that in indra.y there is a postbuild step which should do this automatically, but which is missing in some configurations (e.g. in Debug builds).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;png.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;imagepng.cpp : fatal error C1083: Cannot open include file: &#039;libpng12/png.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
There are a cople of files missing since the 1.17. distribution.  You can either get the missing files from the internet (from the libpng and zlib projects) or download a set with just the missing files from [http://www.blueflash.cc/users/nicholaz/~libs here] (see the readme.txt inside the png archive there).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Errors relating to &amp;quot;template_verifier.py&amp;quot; ==&lt;br /&gt;
With version 1.18 a template verifier script written in Python is used to ensure the message template is correct.  In some distributions the file was missing.  You will also get an error if you have skipped the Python install.  In both cases it is safe to hack the prebuild.bat file in the newview folder as described on the JIRA [http://jira.secondlife.com/browse/VWR-1267 VWR-1267]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing resources ==&lt;br /&gt;
* &#039;&#039;.\res\newViewRes.rc(64) : error RC2135 : file not found: ll_icon.ico&#039;&#039;&lt;br /&gt;
Some releases have missing files, which were reported to be last seen in the &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; release.&lt;br /&gt;
* Go to the [[source downloads]] page and grab the [[http://secondlife.com/developers/opensource/downloads/2007/04/slviewer-src-1.14.0.1.zip &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; viewer]] sources.&lt;br /&gt;
* Explore the archive to &amp;quot;linden/indra/newview/res&amp;quot; folder and extract content to your &amp;quot;linden/indra/newview/res&amp;quot; folder into current revision.&lt;br /&gt;
Missing folder in recent release, &amp;quot;&#039;&#039;&#039;1.17.0.12&#039;&#039;&#039;&amp;quot; which causes the SecondLife to hang while loading into the world.&lt;br /&gt;
* Go to the previous source and copy the missing folder, &amp;quot;Character&amp;quot; and place it into the &amp;quot;newview&amp;quot; folder&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Error code from &amp;quot;Copying message template&amp;quot; ==&lt;br /&gt;
* &#039;&#039;newview error PRJ0019: A tool returned an error code from &amp;quot;Copying message template&amp;quot;&#039;&#039;&lt;br /&gt;
This is caused by the script trying to do a copy command, but the source path isn&#039;t in quotes.  Open up newview.vcproj in notepad, and near the bottom there are 4 line that say:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(InputPath) .\app_settings\message_template.msg&lt;br /&gt;
replace them with&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(InputPath)&amp;amp;amp;quot; .\app_settings\message_template.msg&lt;br /&gt;
The source and destination paths on line 158 may also require wrapping in quotes.  In which case:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(TargetDir)\$(TargetFileName) $(ProjectDir)&lt;br /&gt;
should become:&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(TargetDir)\$(TargetFileName)&amp;amp;amp;quot; &amp;amp;amp;quot;$(ProjectDir)&amp;amp;amp;quot;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Can not find library ll*.lib ==&lt;br /&gt;
If you get a compile error for missing libraries with names of the projects (lscript_compile.lib, llaudio.lib, llcharacter.lib, etc.) go to newview &amp;gt; Properties &amp;gt; Linker &amp;gt; Input and remove these from the list of input libraries (they will be linked through the dependencies and should not be in the list).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;windows.h&#039; ==&lt;br /&gt;
If you run into this problem:&lt;br /&gt;
 ..\..\..\boost/regex/v4/fileiter.hpp(44) : fatal error C1083: Cannot open include file: &#039;windows.h&#039;: No such file or directory&lt;br /&gt;
Fix it with this: (thanks Fairlight!)&lt;br /&gt;
 set INCLUDE=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;%INCLUDE%&lt;br /&gt;
 set LIB=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%LIB%&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Unresolved external symbol &amp;quot;int __cdecl lscript_compile&amp;quot; (VS2005) ==&lt;br /&gt;
* &#039;&#039;llcompilequeue.obj : error LNK2019: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z) referenced in function &amp;quot;protected: void __thiscall LLFloaterCompileQueue::compile(char const *,class LLUUID const &amp;amp;)&amp;quot; (?compile@LLFloaterCompileQueue@@IAEXPBDABVLLUUID@@@Z)&#039;&#039;&lt;br /&gt;
* &#039;&#039;llpreviewscript.obj : error LNK2001: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is not entirely clear, but there seems to be a problem with VS2005 if projects are unloaded while being in the dependency tree.  I have seen this error while I had win_crash_logger and win_updater unloaded from the project tree and the problem went away when I loaded them back and excluded them from the newview dependency first.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Unresolved external symbol __invalid_parameter_noinfo (VS2005) ==&lt;br /&gt;
* &#039;&#039;llmozlib-vc80.lib(llembeddedbrowserwindow.obj) : error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are most likely trying a debug build under VS2005.  For debug builds, see the compile instruction section on [[finding_leaks]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Other (older) notes ==&lt;br /&gt;
* Mozilla is not compatible with visual studio 2005, so we have not migrated the codebase, so we do not know if it works. &lt;br /&gt;
&lt;br /&gt;
* Added my errors at [[User:Adam_Zaius/MSVS2005 Errors]] [[User:Adam Zaius|Adam Zaius]] 09:40, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* To minimize the number of warnings for now: in C/C++-Preprocessor add &#039;;_CRT_SECURE_NO_DEPRECATE&#039; to the Preprocessor Definitions, that will supress deprecation warnings --[[User:Artm Udal|Artm Udal]] 12:42, 8 January 2007 (PST)&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mac OS X =&lt;br /&gt;
&lt;br /&gt;
Getting:&lt;br /&gt;
&lt;br /&gt;
*/linden/indra/newview/../llwindow/llglheaders.h:377:31: error: GL/glh_extensions.h: No such file or directory&lt;br /&gt;
** This means you didn&#039;t merge the libraries right.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
= Linux = &lt;br /&gt;
&lt;br /&gt;
==== Packaging errors ====&lt;br /&gt;
&lt;br /&gt;
The final packaging step may fail with errors about the manifest if you are not using the &amp;lt;i&amp;gt;slviewer-linux-libs&amp;lt;/i&amp;gt; bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at &amp;lt;b&amp;gt;indra/newview/viewer_manifest.py&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Various Compilation problems ====&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Unable to initialize communications&amp;quot;&lt;br /&gt;
** If the viewer just displays the error message &amp;quot; Unable to initialize communications&amp;quot; and exits, it can&#039;t find message_template.msg. You did remember to copy it over, right?&lt;br /&gt;
&lt;br /&gt;
* Blino&#039;s SL build/linking patches for &#039;&#039;&#039;gcc4&#039;&#039;&#039;: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/secondlife/current/&lt;br /&gt;
* objcopy: &amp;lt;b&amp;gt;&#039;newview/linux_tools/exposed-symbols.txt&#039;&amp;lt;/b&amp;gt;: No such file&lt;br /&gt;
** Tofu says... &#039;This is an omission from our manifest which I&#039;ll fix.  Meanwhile it&#039;s a safe fix to create an empty file with that name.&#039;&lt;br /&gt;
&lt;br /&gt;
* Something like: &amp;lt;b&amp;gt;/usr/bin/ld: cannot find -lz&amp;lt;/b&amp;gt;&lt;br /&gt;
** Nadia says: Install the zlib development headers. (Ubuntu package zlib1g-dev, Red Hat zlib-devel.)&lt;br /&gt;
&lt;br /&gt;
* Something like: indra.y.cpp:17: &amp;lt;b&amp;gt;error: previous declaration of `int yyparse()&#039;&amp;lt;/b&amp;gt;&lt;br /&gt;
** Tofu says... &#039;This appears to be a problem with some versions of flex/bison.  A resident reports success when comment out the &amp;lt;i&amp;gt;#ifdef __cplusplus&amp;lt;/i&amp;gt; lines in lscript/lscript_compile/indra.y&#039;&lt;br /&gt;
** Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: &amp;lt;b&amp;gt;undefined     &lt;br /&gt;
* Linking failures (&amp;quot;script not found&amp;quot;) due to spaces in the LINKFLAGS variable?&lt;br /&gt;
** I saw a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665538 report], and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.&lt;br /&gt;
&lt;br /&gt;
* Building [https://lists.secondlife.com/pipermail/sldev/2007-January/000091.html 20070112a] using &#039;&#039;BUILD=releasefordownload&#039;&#039; I get many &#039;&#039;[: 89: ==: unexpected operator&#039;&#039; errors; &#039;&#039;cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory&#039;&#039; error, and same thing for character, fonts, help, skins, res-sdl; &#039;&#039;[: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator&#039;&#039;. I can succesfully run the client from the source tree.&lt;br /&gt;
** i think this has been fixed --[[User:Signore Iredell|Signore Iredell]] 06:09, 9 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* scons: *** While building `[&#039;.../linden/indra/i686-linux-client-release/lscript/lscript_compile/indra.l.cpp&#039;]&#039;: Don&#039;t know how to build a file with suffix `.l&#039;.&lt;br /&gt;
** You probably don&#039;t have all the dependencies installed (I had the same problem). Check that you have flex and bison. --[[User:Random73 Janus|Random73 Janus]] 07:43, 16 May 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Something like: linden/indra/i686-linux-client-release/llrender/llimagegl.cpp:122: &amp;lt;b&amp;gt;error: `glActiveTextureARB&#039; was not declared in this scope&amp;lt;/b&amp;gt;	 &lt;br /&gt;
** Tofu says... &#039;You&#039;ll need to install OpenGL headers if you don&#039;t already have them: gl.h, glext.h, glu.h (The ones from &#039;mesa&#039; should work)	 &lt;br /&gt;
** two residents report good luck on Gentoo after doing &#039;eselect opengl set xorg-x11&#039; (&amp;lt;b&amp;gt;but note!!&amp;lt;/b&amp;gt; You must know what you&#039;re doing; this may change your default system OpenGL drivers, and you will probably want to change them back again after the compile, e.g. &#039;eselect opengl set nvidia&#039;)&#039;&lt;br /&gt;
&lt;br /&gt;
*Building Shared Library ELFIO [[Compiling_the_viewer_%28Linux%29]] on AMD64 ubuntu 6.10&lt;br /&gt;
     g++-3.4 -shared *.o -o libelfio.so&lt;br /&gt;
     /usr/bin/ld: ELFIDynamic.o: relocation R_X86_64_32 against `a local symbol&#039; can &lt;br /&gt;
     not be used when making a  shared object; recompile with -fPIC&lt;br /&gt;
     ELFIDynamic.o: could not read symbols: Bad value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Building Client on Ubuntu 7.04 AMD64&lt;br /&gt;
     /usr/bin/ld: skipping incompatible /home/dereck/Desktop/SLdev/linden/libraries/i686-linux/lib_release_client/libopenjpeg.a when searching for -lopenjpeg&lt;br /&gt;
     /usr/bin/ld: cannot find -lopenjpeg&lt;br /&gt;
     collect2: ld returned 1 exit status&lt;br /&gt;
** I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile  was happy after that. Although it&#039;s not done yet and I&#039;m still fixing another error, that I assume is unrelated.&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=25206</id>
		<title>Compiling the viewer (MSVS2005)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=25206"/>
		<updated>2007-07-10T14:37:39Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: other build tools (python)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
This page explains how you can compile the viewer on Microsoft Windows using Visual Studio 2005 or Visual C++ Express 2005.  Note that Lindens are using VS2003 and the whole setup is a bit easier there, so if you have Visual Studio 2003 available, you should read [[Compiling the viewer (MSVS2003)|compiling with VS2003]] and you will get less trouble with it than with VS2005. &lt;br /&gt;
&lt;br /&gt;
The following explanation is adjusted for Viewer releases 1.16.0.5 or later.  See an [http://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2005%29&amp;amp;oldid=22294 older version of this page] for the Viewer releases 1.15 or before.&lt;br /&gt;
&lt;br /&gt;
= Preparing the Development Environment =&lt;br /&gt;
&lt;br /&gt;
== Installing/Configuring VS2005 ==&lt;br /&gt;
&lt;br /&gt;
You need to setup the compiler and Microsoft Development tools as follows:&lt;br /&gt;
* Visual Studio 2005 &#039;&#039;&#039;&#039;&#039;-or-&#039;&#039;&#039;&#039;&#039; [http://msdn.microsoft.com/vstudio/express/visualc/download/ Visual C++ 2005 Express]&amp;lt;small&amp;gt;(Free)&amp;lt;/small&amp;gt; (Also, although not strictly necessary, eventually pick up and install SP1 for VS2005.)&lt;br /&gt;
* [http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;amp;displaylang=en Microsoft Platform SDK]&lt;br /&gt;
* A DirectX 9.0 SDK released on or after Summer of 2003 [http://download.microsoft.com/download/5/1/f/51ff8357-0af3-418b-9d0b-e9a5cdc39759/dxsdk_dec2006.EXE DirectX 9.0 SDK (December 2006)] [http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298&amp;amp;displaylang=en DirectX 9.0 SDK Update (Summer 2003)]&lt;br /&gt;
: &#039;&#039;&#039;Note&#039;&#039;&#039;: If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -&amp;gt; Add or Remove Programs) before installing this version.  Installing the new SDK &amp;quot;on top&amp;quot; of an older version may cause problems.&lt;br /&gt;
* Set up the project globals:&lt;br /&gt;
** Start Microsoft Visual Studio 2005&lt;br /&gt;
** Go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories&lt;br /&gt;
** Make sure that the &#039;&#039;&#039;includes&#039;&#039;&#039; ([[:Image:MSVS2005 Global Project Options Include Files.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]) and &#039;&#039;&#039;libraries&#039;&#039;&#039; ([[:Image:MSVS2005 Global Project Options Library Files.JPG|&#039;&#039;&#039;screen shot&#039;&#039;&#039;]]) paths have the Platform SDK paths first, then the DirectX SDK paths, and then the Visual C++ paths. You may need to check &amp;quot;Show All Settings&amp;quot; at the bottom for VC++ Directories to show.&lt;br /&gt;
** If the DirectX SDK paths aren&#039;t present, add them to both &#039;&#039;&#039;includes&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039;.&lt;br /&gt;
*: Note: The newest DirectX SDK (&amp;quot;December 2006&amp;quot;) lib folder has two sub-folders, x64 and x86.  Make sure your path goes to one of them (select &#039;&#039;&#039;lib/x86&#039;&#039;&#039;, not just &#039;&#039;&#039;lib&#039;&#039;&#039;), or you will get a Link error.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getting other Development Tools ==&lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. The project files use several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039;, if it&#039;s not you&#039;ll need to edit those references.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** You should install this if compiling 1.18 or later viewers, or if you want to avoid it, hack the prebuild.bat files as in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears, that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Downloading Source Code =&lt;br /&gt;
&lt;br /&gt;
You can download the Viewer source codes on the [[source downloads]] page.  You can also use a [[version control repository]].&lt;br /&gt;
&lt;br /&gt;
At a minimum, grab the source package and the artwork package, but for a start, also grab the library archive.  Many of the libraries can either be compiled from source or downloaded from other sites (see below), but this will take hours and thus it is easiest to also get the package with libraries compiled by the Lindens.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039;&lt;br /&gt;
* If the directory path you keep the SL source in has a space in it, the batch file that copies message_template.msg will fail. So, if you unzip or checkout the source tree into, e.g., &amp;quot;C:\Projects\Dir with space in name\Etc\linden&amp;quot;, it won&#039;t work!&lt;br /&gt;
* You should also avoid using non-ASCII (national) characters in the paths, although some localized versions of the tool puts some as a default...&lt;br /&gt;
* Unzip or checkout your source tree into a directory that has as short full pathname as possible, since long paths cause some unexpected trouble during the build.&lt;br /&gt;
&lt;br /&gt;
In other words, the easiest way to get this working is to get &#039;&#039;source&#039;&#039;, &#039;&#039;artwork&#039;&#039; and &#039;&#039;libraries&#039;&#039; from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installing Libraries =&lt;br /&gt;
&lt;br /&gt;
SL Viewer depends on some third party libraries.  Some of them are open source, some others are not.&lt;br /&gt;
&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
You can download the pre-build open source libraries from LL.  They are available on [[source downloads]] page.  Unzip them into your SL viewer source code directory, maintaining the same directory structure.&lt;br /&gt;
&lt;br /&gt;
Alternatively, it may be possible to get the source files for the libraries and build by yourself.  See [[Compiling the viewer libraries (MSVS 2003)|the instruction for VS2003 users]] if you try it.  Please note, however, it is not known that VS2005 can successfully compile the libraries.  &#039;&#039;&#039;You have been warned.&#039;&#039;&#039;  (If you can make it, please write the info on this wiki...)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Proprietary Libraries ==&lt;br /&gt;
&lt;br /&gt;
Lindens does not inlcude the following proprietary libraries.  You will need to follow the instructions to acquire below and copy them to the source path.&lt;br /&gt;
&lt;br /&gt;
However, it probably is a good idea to build an empty directory tree for the files below and first copy the files there and once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY OLIB SL_1_16_0_5 /S&#039;&#039;).  The reason is, that these steps are cumbersome and will have to be repeated for each new release (at least if you keep the source for each release in it&#039;s own folder).  If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Fmod ===&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/ifmoddownload.html fmod 3.75 api for win32] (later versions, like FMOD Ex, are incompatible).&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== OpenGL ===&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
* You don&#039;t need any additional *.lib or *.dll for OpenGL.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Quicktime &#039;&#039;(optional)&#039;&#039; ===&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; that you can avoid using QuickTime if you want.  See [[#QuickTime removal|below]] for details.  Remember that your viewer &#039;&#039;&#039;can&#039;t play in-world movies&#039;&#039;&#039; if you do so.&lt;br /&gt;
* Download &amp;amp; install the [http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/203/wa/getSoftware?fileID=20525&amp;amp;code=y&amp;amp;source=x&amp;amp;wosid=4h16WcyMtVfd2P1EffGafkoxFcr Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot; and to  &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Configuring for VS2005 =&lt;br /&gt;
&lt;br /&gt;
Lindens use VS2003 to develop the viewer.  &lt;br /&gt;
&lt;br /&gt;
You either need to convert &#039;&#039;solution file&#039;&#039; and &#039;&#039;project files&#039;&#039; from VS2003 format to VS2005 format or obtain files compatible with VS2005.  You may also need to modify source files to work around the incompatibility between VS2003 and VS2005.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: linden\indra\indra_complete_vs8.sln is a solution file already included in the source archive and intended for the Visual Studio 2005, but it &#039;&#039;&#039;does not work&#039;&#039;&#039; (at least between 1.14.0 and 1.17.0.9 distribution).  This may change in a future release, if Lindens include an updated versions of the &#039;&#039;&#039;_vc8&#039;&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Using pre-built solution/project files ==&lt;br /&gt;
&lt;br /&gt;
Currently there is a ZIP file with solution/project files available on the [https://jira.secondlife.com/browse/VWR-1151 JIRA bug tracker issue VWR-1151].  &lt;br /&gt;
&lt;br /&gt;
If you are building 1.16 or 1.17, most likely the easiest way towards compiling SL on MS2005 will be to:&lt;br /&gt;
* download the ZIP archive there&lt;br /&gt;
* unpack it and copy it onto your linden source tree (allow to overwrite files that have &#039;&#039;&#039;_vc8&#039;&#039;&#039; in the name).&lt;br /&gt;
* start Visual Studio 2005 (or VC++ Express).&lt;br /&gt;
* use &amp;quot;File &amp;gt; Open &amp;gt; Project/Solution&amp;quot; to open the linden\indra\indra_complete\indra_complete&#039;&#039;&#039;_vc8&#039;&#039;&#039;.sln (Note: If you plan to work with multiple versions over time, you will find it useful to rename &#039;&#039;&#039;indra_complete_vc8.sln&#039;&#039;&#039; to something which contains the version number, e.g. &#039;&#039;&#039;indra_1_17_0_11_vc8.sln&#039;&#039;&#039; before opening)&lt;br /&gt;
* right click &#039;&#039;&#039;newview&#039;&#039;&#039; in the frame Solution Explorer and click &amp;quot;Set as StartUp Project&amp;quot;.&lt;br /&gt;
* proceed with applying the &#039;&#039;&#039;Workarounds&#039;&#039;&#039; below (skip &#039;&#039;&#039;Manual conversion&#039;&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If, while compiling, you later encounter errors or problems regarding the projects, you may have to do the manual conversion instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manual conversion of the solution/projects ==&lt;br /&gt;
&lt;br /&gt;
If you can not find a set of project files (see above), there are instructions available how to manually do it: [[Converting_project_files_for_MSVS2005]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workarounds ==&lt;br /&gt;
&lt;br /&gt;
There are more compatibility problems between VS2003 and VS2005.  You need the following code edits.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== test project/crash_logger/updater ===&lt;br /&gt;
&lt;br /&gt;
For whatever reason, the &#039;&#039;&#039;test&#039;&#039;&#039; project doesn&#039;t work under VS2005.  Workaround is to disable it as follows: Right click on the &#039;&#039;&#039;test&#039;&#039;&#039; and choose &#039;&#039;&#039;Unload Project&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not plan to create a full download build, you can exclude the &#039;&#039;&#039;win_crash_logger&#039;&#039;&#039; and &#039;&#039;&#039;win_updater&#039;&#039;&#039; from newview&#039;s project dependencies and unload them also.  But be careful with unloading these projects without removing them from the dependencies, because I have seen VS2005 act highly erratic while linking then project when I tried this.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== QuickTime removal ===&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to get Apple QuickTime SDK, you can disable it as follows:&lt;br /&gt;
*linden\indra\llcommon\llpreprocessor.h - near line 58 (the line below &#039;&#039;&#039;#elif LL_WINDOWS&#039;&#039;&#039;)&lt;br /&gt;
 --50: #define LL_QUICKTIME_ENABLED	1&lt;br /&gt;
 ++50: #define LL_QUICKTIME_ENABLED	&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; in the Solution Configurations drop-down box beside the green arrow under the tool bar, and do the followings on the Solution Explorer frame:&lt;br /&gt;
*Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone.&lt;br /&gt;
**Choose Properties.&lt;br /&gt;
**Under Configuration Properties &amp;gt; Linker &amp;gt; Input, click &#039;&#039;&#039;Additional Dependencies&#039;&#039;&#039; on the right to show a button labeled &amp;quot;&#039;&#039;&#039;...&#039;&#039;&#039;&amp;quot; on it at the very right on the line, then click the &#039;&#039;&#039;...&#039;&#039;&#039; button.&lt;br /&gt;
**Scroll down the list to find &#039;&#039;&#039;qtmlclient.lib&#039;&#039;&#039;.  Delete this single line.&lt;br /&gt;
**Click &#039;&#039;&#039;OK&#039;&#039;&#039; to close the &amp;quot;Additional Dependencies&amp;quot; dialog, then click OK again to close the &amp;quot;newview Property Pages&amp;quot; dialog box.&lt;br /&gt;
* Pick &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; in the Solution Configurations drop-down box. Click &#039;&#039;&#039;newview&#039;&#039;&#039; to select it alone and do the same thing again.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Ready, Set, Build! =&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; (for production code).&lt;br /&gt;
* To do this, pick either in the Solution Configurations drop-down box beside the green arrow under the tool bar.&lt;br /&gt;
* Make sure &#039;&#039;&#039;newview&#039;&#039;&#039; is set as the active project (otherwise set from newview&#039;s right-click menu).&lt;br /&gt;
* Select Build-Menu &amp;gt; Build Solution or press F7.&lt;br /&gt;
* newview_noopt.exe will be built in linden\indra\newview\ReleaseNoOpt or SecondLife.exe will be linden\indra\newview\ReleaseForDownload.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Common compile errors ==&lt;br /&gt;
* See [[Common compilation problems]] if you run into other errors while building.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Running ==&lt;br /&gt;
* You can run the viewer by &#039;&#039;&#039;Debug &amp;gt; Start Debugging&#039;&#039;&#039; or &#039;&#039;&#039;Debug &amp;gt; Start &amp;quot;Without Debugging&#039;&#039;&#039; in Visual Studio. &lt;br /&gt;
* To run it outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (all the .dll will be found there.)&lt;br /&gt;
* Alternately copy the exe (possibly rename it) to your &amp;quot;c:\program files\second life&amp;quot; folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Debugging Info/Configurations ==&lt;br /&gt;
* Usually you will either use &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; or the &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; configuration.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; also has debugging information and runs fine in the debugger (although at times you may miss access to some local variables).&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session, but you can access the same information also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug console log can also be redirected to a file if you add &amp;quot;2&amp;gt;secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[Finding_leaks]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and repoen it, before you can connect to the selected grid).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
= Submit Patches =&lt;br /&gt;
This is probably faaar down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=25205</id>
		<title>Compiling the viewer (MSVS2003)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=25205"/>
		<updated>2007-07-10T14:35:51Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
The following instructions are for compiling the Second Life viewer on Windows for Visual Studio .Net 2003.  If you are using more recent versions of Visual Studio, see [[Compiling the viewer (MSVS2005)]]. For other platforms including MacOS and Linux, see [[Compiling the viewer]].&lt;br /&gt;
&lt;br /&gt;
If you get lost, or these instructions are incomplete, see [[communication tools]] for a list of ways to get in touch with people that can help.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Development Environment ==&lt;br /&gt;
The following dev environment is what LL uses for Windows development.  There is no reason that the Second Life viewer can not be built using other environments, but it will take some extra work.&lt;br /&gt;
&lt;br /&gt;
(Instructions for building the viewer using Microsoft&#039;s Visual Studio .NET 2005 Express can be found [[Compiling the viewer (MSVS2005)|on another page]]. At the time of writing, Express was freely available.)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Visual Studio .NET 2003 Professional ===&lt;br /&gt;
* Download and install [http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;amp;displaylang=en Microsoft Platform SDK]&lt;br /&gt;
* Download and install a DirectX 9.0 SDK released on or after Summer of 2003 [http://download.microsoft.com/download/5/1/f/51ff8357-0af3-418b-9d0b-e9a5cdc39759/dxsdk_dec2006.EXE DirectX 9.0 SDK (December 2006)] [http://www.microsoft.com/downloads/details.aspx?FamilyID=9216652f-51e0-402e-b7b5-feb68d00f298&amp;amp;displaylang=en DirectX 9.0 SDK Update (Summer 2003)]&lt;br /&gt;
** If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -&amp;gt; Add or Remove Programs) before installing this version.  Installing the new SDK &amp;quot;on top&amp;quot; of an older version may cause problems.&lt;br /&gt;
** Upon installing, it is sufficient to install the &#039;&#039;&#039;include&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; part.  Other DX development tools are not necessary.&lt;br /&gt;
* Set up the project globals:&lt;br /&gt;
** Start Visual C++&lt;br /&gt;
** Go to Tools/Options/Projects/VC++ Directories&lt;br /&gt;
** Make sure that the &#039;&#039;&#039;includes&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; paths are there (or otherwise add them) in the following order: 1) Platform SDK paths, 2) DirectX SDK paths, 3) Visual C++ paths&lt;br /&gt;
** If you are adding DirectX SDK paths, be aware that later versions of the DirectX SDK have subfolders inside the lib directory.  With those make sure you select &#039;&#039;&#039;lib/x86&#039;&#039;&#039;, not just &#039;&#039;&#039;lib&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Other Development Tools === &lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. The project files use several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039;, if it&#039;s not you&#039;ll need to edit those references.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** You should install this if compiling 1.18 or later viewers, or else hack the prebuild .bat files as in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears, that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
The easiest way to get this working is to get &#039;&#039;&#039;source&#039;&#039;&#039;, &#039;&#039;&#039;artwork&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; for the same version from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Avoid folder names with spaces in them (this means avoid putting the project into your &#039;&#039;My Documents&#039;&#039; folder).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
Some libraries can be distributed with the SL source and there is a library package available with the source.  As mentioned above (about the source), you can simply extract the &#039;&#039;&#039;library&#039;&#039;&#039; archive and copy the files to your code directory, maintaining the same directory structure.  &lt;br /&gt;
&lt;br /&gt;
If instead you are interested in compiling these libraries from their source (instead of using the above zipfile of precompiled libraries provided by Linden Lab), see [[Compiling the viewer libraries (MSVS 2003)]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Other Libraries ==&lt;br /&gt;
&lt;br /&gt;
Linden Lab included all the libraries/includes they can ship with their source, but we can not distribute the source to the following , and you will need to follow the instructions to acquire below.&lt;br /&gt;
&lt;br /&gt;
However, it probably is a good idea to build an empty directory tree for the files below and first copy the files there and once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY  olibs  sl_1_16_0_5 /S&#039;&#039;).  The reason is, that these steps are cumbersome and will have to be repeated for each new release (at least if you keep the source for each release in it&#039;s own folder).  &lt;br /&gt;
&lt;br /&gt;
If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&lt;br /&gt;
==== Fmod ====&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/ifmoddownload.html fmod 3.75 api for win32].&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== gl ====&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Quicktime (Optional) ====&lt;br /&gt;
* &#039;&#039;&#039;Note:&#039;&#039;&#039; Quicktime download can be skipped &#039;&#039;&#039;if you can live with a build that does not play in-world movies&#039;&#039;&#039; (some minor modifications to the project are necessary then, see &amp;quot;QuickTime removal&amp;quot; on the build instructions for [[Compiling the viewer (MSVS2005)|Visual Studio 2005]]).&lt;br /&gt;
* Download &amp;amp; install the [http://developer.apple.com/quicktime/download/ Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Building ==&lt;br /&gt;
* Open the &#039;&#039;&#039;indra\indra_complete\indra_complete.sln&#039;&#039;&#039; solution in Visual Studio (Note: If you plan to work with multiple versions over time, you will find it useful to rename &#039;&#039;&#039;indra_complete.sln&#039;&#039;&#039; to something which contains the version number, e.g. &#039;&#039;&#039;indra_1_17_0_11.sln&#039;&#039;&#039; before opening)&lt;br /&gt;
* Set newview to be the startup project.&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; (for running/debugging production code).&lt;br /&gt;
* Note that the ReleaseForDownload build also contains debug information and can be run in the debugger.&lt;br /&gt;
* newview_noopt.exe will be built in \indra\newview\ReleaseNoOpt, or SecondLife.exe will be built in \indra\newview\ReleaseForDownload&lt;br /&gt;
* To run it outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (all the .dll will be found there.)&lt;br /&gt;
* Alternately copy the exe (possibly rename it) to your &amp;quot;c:\program files\second life&amp;quot; folder.&lt;br /&gt;
* There were additional steps required in version 1.15 which seem to be fixed now.  If you are trying to build 1.15 see an [https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2003%29&amp;amp;oldid=23026 older version of this page].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors while building? ==&lt;br /&gt;
See [[Common compilation problems]] if you run into errors while building.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Configurations/Debugging Info ==&lt;br /&gt;
* You will usually compile/debug the &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; or ReleaseForDownload configuration (Debug should also work but should not really be necessary).&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseForDownload&#039;&#039;&#039; runs fine in the debugger, but times you may miss debugger access to some local variables.&lt;br /&gt;
* &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session&lt;br /&gt;
* You can see the last few lines from the debugger console also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug log can also be redirected to a file if you add &amp;quot;2&amp;gt;secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[Finding_leaks]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and repoen it, before you can connect to the selected grid).&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Submit Patches ==&lt;br /&gt;
This is probably far down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Crash_Reports&amp;diff=25145</id>
		<title>Crash Reports</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Crash_Reports&amp;diff=25145"/>
		<updated>2007-07-09T23:13:34Z</updated>

		<summary type="html">&lt;p&gt;Nicholaz Beresford: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiContribBox}}&lt;br /&gt;
&lt;br /&gt;
The easiest way to get involved as a developer is to start fixing bugs. These are the crash reports for which patches are most likely to be accepted.&lt;br /&gt;
&lt;br /&gt;
== Call stacks for Top 10 Viewer crashes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== boost::intrusive_ptr_release ===&lt;br /&gt;
Bug tracking:&amp;lt;br/&amp;gt;&lt;br /&gt;
There are 1348 unassociated crashes like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Most likely already fixed (at least internally): {{jira|VWR-1436}} [[User:Nicholaz Beresford|Nicholaz]] 16:13, 9 July 2007 (PDT)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SecondLife!boost::intrusive_ptr_release+0x8&lt;br /&gt;
SecondLife!LLEventPoll::Impl::stop+0xd2&lt;br /&gt;
SecondLife!LLEventPoll::`scalar deleting destructor&#039;+0x11&lt;br /&gt;
SecondLife!LLViewerRegion::~LLViewerRegion+0xb6&lt;br /&gt;
SecondLife!std::for_each&amp;lt;std::list&amp;lt;LLViewerRegion *,std::allocator&amp;lt;LLViewerRegion *&amp;gt; &amp;gt;::iterator,DeletePointer&amp;gt;+0x1e&lt;br /&gt;
SecondLife!LLWorld::~LLWorld+0x4a&lt;br /&gt;
SecondLife!disconnect_viewer+0x1d1&lt;br /&gt;
SecondLife!cleanup_app+0x3e&lt;br /&gt;
SecondLife!WinMain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LLXMLRPCTransaction::Impl::init ===&lt;br /&gt;
Bug tracking: https://jira.secondlife.com/browse/VWR-587&amp;lt;br/&amp;gt;&lt;br /&gt;
There are 496 unassociated crashes like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	&lt;br /&gt;
SecondLife!Curl_hash_init+0x4c&lt;br /&gt;
SecondLife!Curl_hash_alloc+0x22&lt;br /&gt;
SecondLife!Curl_mk_dnscache+0xc&lt;br /&gt;
SecondLife!curl_multi_init+0x1f&lt;br /&gt;
SecondLife!LLXMLRPCTransaction::Impl::init+0x378&lt;br /&gt;
SecondLife!LLXMLRPCTransaction::Impl::Impl+0xb1&lt;br /&gt;
SecondLife!LLXMLRPCTransaction::LLXMLRPCTransaction+0x4c&lt;br /&gt;
SecondLife!LLUserAuth::authenticate+0x583&lt;br /&gt;
SecondLife!idle_startup+0x33fa&lt;br /&gt;
SecondLife!idle+0x12d&lt;br /&gt;
SecondLife!main_loop+0x1ca&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LLRenderPass::pushBatch ===&lt;br /&gt;
Bug tracking: https://jira.secondlife.com/browse/VWR-586 &amp;lt;br/&amp;gt;&lt;br /&gt;
There are 473 unassociated crashes like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	&lt;br /&gt;
SecondLife!LLRenderPass::pushBatch+0xa5&lt;br /&gt;
SecondLife!LLRenderPass::renderTexture+0x2d&lt;br /&gt;
SecondLife!LLDrawPoolSimple::render+0x99&lt;br /&gt;
SecondLife!LLPipeline::renderGeom+0x49f&lt;br /&gt;
SecondLife!display+0x944&lt;br /&gt;
SecondLife!main_loop+0x22b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LLWindowWin32::close ===&lt;br /&gt;
Bug tracking: https://jira.secondlife.com/browse/VWR-590&amp;lt;br/&amp;gt;&lt;br /&gt;
There are 368 unassociated crashes like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user32!InternalCallWinProc+0x28&lt;br /&gt;
user32!UserCallWinProcCheckWow+0x150&lt;br /&gt;
user32!DispatchClientMessage+0xa3&lt;br /&gt;
user32!__fnDWORD+0x24&lt;br /&gt;
ntdll!KiUserCallbackDispatcher+0x13&lt;br /&gt;
user32!NtUserShowWindow+0xc&lt;br /&gt;
SecondLife!LLWindowWin32::close+0x426&lt;br /&gt;
SecondLife!LLWindowManager::destroyWindow+0x96&lt;br /&gt;
SecondLife!LLViewerWindow::~LLViewerWindow+0x39a&lt;br /&gt;
SecondLife!LLViewerWindow::`scalar deleting destructor&#039;+0x8&lt;br /&gt;
SecondLife!cleanup_app+0x84a&lt;br /&gt;
SecondLife!WinMain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LLUserAuth::authenticate ===&lt;br /&gt;
Bug tracking:&amp;lt;br/&amp;gt;&lt;br /&gt;
There are 357 unassociated crashes like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SecondLife!LLUserAuth::authenticate+0x550&lt;br /&gt;
SecondLife!idle_startup+0x33fa&lt;br /&gt;
SecondLife!idle+0x12d&lt;br /&gt;
SecondLife!main_loop+0x1ca&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LLImageBase::allocateData ===&lt;br /&gt;
Bug tracking:&amp;lt;br/&amp;gt;&lt;br /&gt;
There are 319 unassociated crashes like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SecondLife!LLError::crashAndLoop&lt;br /&gt;
SecondLife!LLError::Log::flush+0x4f1&lt;br /&gt;
SecondLife!first_mem_error_handler+0xa0&lt;br /&gt;
SecondLife!_shi_invokeErrorHandler1+0xe7&lt;br /&gt;
SecondLife!_shi_allocExternal+0x78&lt;br /&gt;
SecondLife!MemAllocPtr+0x121&lt;br /&gt;
SecondLife!shi_New+0x48&lt;br /&gt;
SecondLife!operator new+0xe&lt;br /&gt;
SecondLife!LLImageBase::allocateData+0x1b8&lt;br /&gt;
SecondLife!LLImageRaw::allocateData+0xd&lt;br /&gt;
SecondLife!LLImageRaw::LLImageRaw+0x5d&lt;br /&gt;
SecondLife!LLImageWorker::doWork+0xc4&lt;br /&gt;
SecondLife!LLWorkerThread::WorkRequest::processRequest+0x1c&lt;br /&gt;
SecondLife!LLQueuedThread::processNextRequest+0x17c&lt;br /&gt;
SecondLife!LLQueuedThread::run+0x36&lt;br /&gt;
SecondLife!LLThread::staticRun+0x2a&lt;br /&gt;
SecondLife!_flswbuf+0x14d&lt;br /&gt;
SecondLife!_threadstartex+0x6f&lt;br /&gt;
kernel32!BaseThreadStart+0x37&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LLVolume::sculpt ===&lt;br /&gt;
Bug tracking:&amp;lt;br/&amp;gt;&lt;br /&gt;
There are 244 unassociated crashes like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SecondLife!LLVolume::sculpt+0x225&lt;br /&gt;
SecondLife!LLVOVolume::sculpt+0xe8&lt;br /&gt;
SecondLife!LLVOVolume::setVolume+0x1b2&lt;br /&gt;
SecondLife!LLVOVolume::updateGeometry+0x19c&lt;br /&gt;
SecondLife!LLDrawable::updateGeometry+0x13&lt;br /&gt;
SecondLife!LLPipeline::updateGeom+0x278&lt;br /&gt;
SecondLife!display+0x86e&lt;br /&gt;
SecondLife!main_loop+0x22b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LLRenderPass::pushBatch ===&lt;br /&gt;
Bug tracking: https://jira.secondlife.com/browse/VWR-586&amp;lt;br/&amp;gt;&lt;br /&gt;
There are 198 unassociated crashes like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	&lt;br /&gt;
nvoglnt&lt;br /&gt;
SecondLife!LLRenderPass::pushBatch+0xa5&lt;br /&gt;
SecondLife!LLRenderPass::renderTexture+0x2d&lt;br /&gt;
SecondLife!LLDrawPoolSimple::render+0x99&lt;br /&gt;
SecondLife!LLPipeline::renderGeom+0x49f&lt;br /&gt;
SecondLife!display+0x944&lt;br /&gt;
SecondLife!main_loop+0x22b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LLRenderPass::pushBatch ===&lt;br /&gt;
Bug tracking: https://jira.secondlife.com/browse/VWR-586&amp;lt;br/&amp;gt;&lt;br /&gt;
There are 177 unassociated crashes like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
**Probably a twin of the above, different GL driver**&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
atioglxx&lt;br /&gt;
SecondLife!LLRenderPass::pushBatch+0xa5&lt;br /&gt;
SecondLife!LLRenderPass::renderTexture+0x2d&lt;br /&gt;
SecondLife!LLDrawPoolSimple::render+0x99&lt;br /&gt;
SecondLife!LLPipeline::renderGeom+0x49f&lt;br /&gt;
SecondLife!display+0x944&lt;br /&gt;
SecondLife!main_loop+0x22b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LLProfile::~LLProfile ===&lt;br /&gt;
Bug tracking:&amp;lt;br/&amp;gt;&lt;br /&gt;
There are 170 unassociated crashes like this:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SecondLife!MemFreePtr+0x17&lt;br /&gt;
SecondLife!free+0xe&lt;br /&gt;
SecondLife!LLProfile::~LLProfile+0x5e&lt;br /&gt;
SecondLife!LLVolume::~LLVolume+0x7c&lt;br /&gt;
SecondLife!LLVolume::`scalar deleting destructor&#039;+0x8&lt;br /&gt;
SecondLife!LLPointer&amp;lt;LLVolume&amp;gt;::unref+0x34&lt;br /&gt;
SecondLife!LLVOVolume::updateGeometry+0x27c&lt;br /&gt;
SecondLife!LLDrawable::updateGeometry+0x13&lt;br /&gt;
SecondLife!LLPipeline::updateGeom+0x278&lt;br /&gt;
SecondLife!display+0x86e&lt;br /&gt;
SecondLife!main_loop+0x22b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Call stacks for Top 5 Mac-specific crashes ==&lt;br /&gt;
&lt;br /&gt;
=== LLImageGL::~LLImageGL ===&lt;br /&gt;
Bug tracking:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SecondLife!std::_Rb_tree&amp;lt;LLImageGL*, LLImageGL*, std::_Identity&amp;lt;LLImageGL*&amp;gt;, std::less&amp;lt;LLImageGL*&amp;gt;, std::allocator&amp;lt;LLImageGL*&amp;gt; &amp;gt;::lower_bound(LLImageGL* const&amp;amp;)+20&lt;br /&gt;
SecondLife!LLImageGL::~LLImageGL [in-charge deleting]()+556&lt;br /&gt;
SecondLife!__tcf_433+80&lt;br /&gt;
SecondLife!cxa_atexit_wrapper+172&lt;br /&gt;
libSystem.B.dylib!__cxa_finalize+232&lt;br /&gt;
libSystem.B.dylib!exit+36&lt;br /&gt;
SecondLife!viewer_crash_callback()+1700&lt;br /&gt;
libSystem.B.dylib!_sigtramp+104&lt;br /&gt;
libSystem.B.dylib!kill+12&lt;br /&gt;
libSystem.B.dylib!abort+92&lt;br /&gt;
libstdc++.6.dylib!_gnu_cxx::__verbose_terminate_handler()+412&lt;br /&gt;
libstdc++.6.dylib!__gxx_personality_v0+1244&lt;br /&gt;
libstdc++.6.dylib!std::terminate()+72&lt;br /&gt;
libstdc++.6.dylib!__cxa_rethrow+0&lt;br /&gt;
libstdc++.6.dylib!std::__throw_domain_error(char const*)+0&lt;br /&gt;
libstdc++.6.dylib!char* std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;char&amp;gt; &amp;gt;::_S_construct&amp;lt;char const*&amp;gt;(char const*, char const*, std::allocator&amp;lt;char&amp;gt; const&amp;amp;, std::forward_iterator_tag)+96&lt;br /&gt;
libstdc++.6.dylib!std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;char&amp;gt; &amp;gt;::basic_string[in-charge](char const*, std::allocator&amp;lt;char&amp;gt; const&amp;amp;)+68&lt;br /&gt;
SecondLife!LLUserAuth::authenticate(char const*, char const*, char const*, char const*, char const*, char const*, int, int, int, LLUUID const&amp;amp;, int, std::vector&amp;lt;char const*, std::allocator&amp;lt;char const*&amp;gt; &amp;gt; const&amp;amp;, std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;char&amp;gt; &amp;gt; const&amp;amp;, std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;char&amp;gt; &amp;gt; const&amp;amp;)+1644&lt;br /&gt;
SecondLife!idle_startup()+25484&lt;br /&gt;
SecondLife!idle()+372&lt;br /&gt;
SecondLife!main_loop()+920&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LLEventPoll::~LLEventPoll ===&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Most likely already fixed (at least internally): {{jira|VWR-1436}} [[User:Nicholaz Beresford|Nicholaz]] 16:13, 9 July 2007 (PDT)&lt;br /&gt;
Bug tracking:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(Execution Froze)&lt;br /&gt;
SecondLife!boost::intrusive_ptr_release(LLHTTPClient::Responder*)+10&lt;br /&gt;
SecondLife!LLEventPoll::~LLEventPoll [in-charge deleting]()+27&lt;br /&gt;
SecondLife!LLViewerRegion::~LLViewerRegion [in-charge]()+196&lt;br /&gt;
SecondLife!LLWorld::~LLWorld [in-charge]()+67&lt;br /&gt;
SecondLife!disconnect_viewer(void*)+345&lt;br /&gt;
SecondLife!cleanup_app()+36&lt;br /&gt;
SecondLife!main+11599&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LLPipeline::updateMove ===&lt;br /&gt;
Bug tracking: https://jira.secondlife.com/browse/VWR-617&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
libstdc++.6.dylib!std::_Rb_tree_increment(std::_Rb_tree_node_base const*)+16&lt;br /&gt;
SecondLife!LLPipeline::updateMove()+324&lt;br /&gt;
SecondLife!idle()+6436&lt;br /&gt;
SecondLife!main_loop()+920&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SecondLife!LLPipeline::updateMove()+300&lt;br /&gt;
SecondLife!idle()+6436&lt;br /&gt;
SecondLife!main_loop()+920&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LLDrawPoolWater::render ===&lt;br /&gt;
Bug tracking:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATIRadeon8500GLDriver!gldCompleteVertexBuffer+0&lt;br /&gt;
ATIRadeon8500GLDriver!gldUpdateDispatch+0&lt;br /&gt;
GLEngine!0x6188000+0&lt;br /&gt;
SecondLife!_ZN15LLDrawPoolWater6renderEi+0&lt;br /&gt;
SecondLife!_ZN10LLPipeline10renderGeomER8LLCamera+0&lt;br /&gt;
SecondLife!_Z7displayifi+0&lt;br /&gt;
SecondLife!_Z9main_loopv+0&lt;br /&gt;
SecondLife!main+0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LLMessageSystem::checkMessages ===&lt;br /&gt;
Bug tracking:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SecondLife!std::_Rb_tree&amp;lt;unsigned, std::pair&amp;lt;unsigned const, unsigned long long&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;unsigned const, unsigned long long&amp;gt; &amp;gt;, std::less&amp;lt;unsigned&amp;gt;, std::allocator&amp;lt;std::pair&amp;lt;unsigned const, unsigned long long&amp;gt; &amp;gt; &amp;gt;::lower_bound(unsigned const&amp;amp;)+20&lt;br /&gt;
SecondLife!LLMessageSystem::checkMessages(long long)+3736&lt;br /&gt;
SecondLife!LLMessageSystem::checkAllMessages(long long, LLPumpIO*)+28&lt;br /&gt;
SecondLife!idle_network()+488&lt;br /&gt;
SecondLife!idle()+2712&lt;br /&gt;
SecondLife!main_loop()+920&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicholaz Beresford</name></author>
	</entry>
</feed>