<?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=Zoltan+Freundlich</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=Zoltan+Freundlich"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Zoltan_Freundlich"/>
	<updated>2026-07-26T01:41:34Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_libraries_(MSVS_2003)&amp;diff=66025</id>
		<title>Compiling the viewer libraries (MSVS 2003)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_libraries_(MSVS_2003)&amp;diff=66025"/>
		<updated>2008-05-05T16:33:14Z</updated>

		<summary type="html">&lt;p&gt;Zoltan Freundlich: /* Apache Portable Runtime */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
This page supplements [[Compiling the viewer (MSVS2003)]].&lt;br /&gt;
&lt;br /&gt;
In the source directory, there are several empty placeholder folders for libraries which the Second Life viewer relies upon. This section describes how to acquire the code, and how to install it. It is a good idea to install in order, as some libraries will rely on previous installs (ie, libcurl needs openssl and zlib).&lt;br /&gt;
&lt;br /&gt;
= Boost =&lt;br /&gt;
* Download &amp;amp; extract [http://sourceforge.net/project/showfiles.php?group_id=7586&amp;amp;package_id=8041 Boost] source for win32.&lt;br /&gt;
* Copy the &amp;quot;boost_X_XX_X\boost&amp;quot; folder to &amp;quot;libraries\include\&amp;quot;.&lt;br /&gt;
NOTE:  the Boost Wiki says to use the Visual Studio command prompt instead of the regular command prompt.&lt;br /&gt;
* Run &amp;quot;boost_X_XX_X\tools\jam\build_dist.bat&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;boost_X_XX_X\tools\jam\src\bin.ntx86\bjam.exe&amp;quot; to &amp;quot;boost_X_XX_X\&amp;quot;. [NOTE: found in stage directory, not src, in Boost 1.35.0]&lt;br /&gt;
* Using the command prompt, build the static libraries:&lt;br /&gt;
** cd boost_X_XX_X&lt;br /&gt;
** set PYTHON_ROOT=C:\Python23&lt;br /&gt;
** set PYTHON_VERSION=2.3&lt;br /&gt;
** bjam --toolset=msvc-7.1 stage&lt;br /&gt;
* copy &amp;quot;boost_X_XX_X\stage\lib\libboost_python-vc71-mt.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_release\&amp;quot;&lt;br /&gt;
* copy &amp;quot;boost_X_XX_X\stage\lib\libboost_python-vc71-mt-gd.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_debug\libboost_python-vc71-mt.lib&amp;quot;&lt;br /&gt;
* copy &amp;quot;boost_X_XX_X\stage\lib\libboost_regex-vc71-mt-s.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_release\&amp;quot;&lt;br /&gt;
* copy &amp;quot;boost_X_XX_X\stage\lib\libboost_regex-vc71-mt-sgd.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_debug\libboost_regex-vc71-mt-s.lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Expat =&lt;br /&gt;
* Download and run [http://sourceforge.net/project/showfiles.php?group_id=10127 Expat Win32 Binary]&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\Source\lib\expat.h&amp;quot; to &amp;quot;libraries\include\expat\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\Source\lib\expat_external.h&amp;quot; to &amp;quot;libraries\include\expat\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\StaticLibs\libexpatMT.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\StaticLibs\libexpatMT.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= ZLib =&lt;br /&gt;
* Download &amp;amp; extract [http://www.zlib.net/ Zlib]&lt;br /&gt;
* copy &amp;quot;zlibXXX\zlib.h&amp;quot; to &amp;quot;libraries\include\zlib\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;zlibXXX\zconf.h&amp;quot; to &amp;quot;libraries\include\zlib\&amp;quot;.&lt;br /&gt;
* Using the command prompt, build the static libraries:&lt;br /&gt;
** &amp;quot;C:\Program Files\Microsoft Visual Studio .net 2003\Common7\Tools\vsvars32.bat&amp;quot;&lt;br /&gt;
** cd %ZLIB_FOLDER%&lt;br /&gt;
** nmake -f win32/Makefile.msc&lt;br /&gt;
* copy &amp;quot;zlibXXX\zlib.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;zlibXXX\zlib.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Apache Portable Runtime =&lt;br /&gt;
* Take out XML dependancies, move expat headers!!!!&lt;br /&gt;
* Download &amp;amp; extract [http://apr.apache.org/download.cgi apr, apr-util, and apr-iconv].&lt;br /&gt;
* For simplicity  place all three in a parallel directory structure, and rename the directories: (NOTE: if you don&#039;t rename from apr-X.X.X to simply apr, you won&#039;t be able to open the aprutil.dsw solution.)&lt;br /&gt;
** C:\work\apr\&lt;br /&gt;
** C:\work\apr-iconv\&lt;br /&gt;
** C:\work\apr-util\&lt;br /&gt;
* Open the &amp;quot;\apr-util\aprutil.dsw&amp;quot; project in VS2003.&lt;br /&gt;
* For the apr, apr-util &amp;amp; apr-iconv projects, change the Runtime Library from Multi-threaded DLL to Multi-threaded:&lt;br /&gt;
** Right click each project in the Solution Explorer, choose properties.&lt;br /&gt;
** In the C/C++ folder, choose Code Generation.&lt;br /&gt;
** Change the Runtime Library to Muli-threaded.&lt;br /&gt;
** Repeat for both debug and release.&lt;br /&gt;
* Remove the apr-util&#039;s dependency on xml:&lt;br /&gt;
** Right click the apr-util project, and choose dependencies.&lt;br /&gt;
** Uncheck xml.&lt;br /&gt;
** Right click the xml project in the Solution Explorer.&lt;br /&gt;
** Choose Remove.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\Source\lib\expat.h&amp;quot; to &amp;quot;apr\apr-util\xml&amp;quot;.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\Source\lib\expat_external.h&amp;quot; to &amp;quot;apr\apr-util\xml\&amp;quot;.&lt;br /&gt;
* Build Solution for Debug, and build solution for release.&lt;br /&gt;
* copy &amp;quot;\apr-util\LibR\aprutil-1.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr-util\LibR\aprutil_src.pdb&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr\LibR\apr-1.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr\LibR\apr_src.pdb&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr-util\LibD\aprutil-1.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr-util\LibD\aprutil_src.pdb&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr\LibD\apr-1.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr\LibD\apr_src.pdb&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy header files:&lt;br /&gt;
** copy the contents of &amp;quot;apr\include&amp;quot; to &amp;quot;libraries\i686-win32\include\apr-1&amp;quot;. &lt;br /&gt;
** in &amp;quot;libraries\i686-win32\include\apr-1\arch\&amp;quot; only the &amp;quot;win32&amp;quot; dir and &amp;quot;apr_private_common.h&amp;quot; are required.&lt;br /&gt;
** copy the contents of &amp;quot;apr-util\include&amp;quot; to &amp;quot;libraries\i686-win32\include\apr-1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Freetype =&lt;br /&gt;
* Download and run [http://gnuwin32.sourceforge.net/packages/freetype.htm FreeType for Windows].&lt;br /&gt;
* copy the contents of &amp;quot;GnuWin32\include\freetype2\freetype&amp;quot; into &amp;quot;\libraries\include\freetype&amp;quot;&lt;br /&gt;
* copy &amp;quot;GnuWin32\lib\freetype.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;. &lt;br /&gt;
* copy &amp;quot;GnuWin32\lib\freetype.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy &amp;quot;GnuWin32\include\ft2build.h&amp;quot; to &amp;quot;libraries\include&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
* Download and extract: http://www.openssl.org/source/&lt;br /&gt;
* Using the command prompt, build the static libraries:&lt;br /&gt;
** cd %PATH%&lt;br /&gt;
** perl Configure VC-WIN32&lt;br /&gt;
** ms\do_masm&lt;br /&gt;
* Edit openssl-X.X.Xy\ms\nt.mak&lt;br /&gt;
** Change /MD to /MT in CFLAGS&lt;br /&gt;
* back in the command prompt:&lt;br /&gt;
** &amp;quot;C:\Program Files\Microsoft Visual Studio .net 2003\Common7\Tools\vsvars32.bat&amp;quot;&lt;br /&gt;
** nmake -f ms\nt.mak&lt;br /&gt;
** copy all the &amp;quot;.lib&amp;quot; files from &amp;quot;openssl-X.X.Xy\out32&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= cURL =&lt;br /&gt;
* Download &amp;amp; extract the [http://curl.haxx.se/download.html curl source].&lt;br /&gt;
* Edit &amp;quot;curl-X.XX.X\lib\Makefile.vc6&amp;quot;&lt;br /&gt;
** Change OPENSSL_PATH to ../../../openssl-&amp;lt;version&amp;gt;&lt;br /&gt;
** Change the ZLIB_PATH to ../../../zlib-&amp;lt;version&amp;gt;/src&lt;br /&gt;
** Change RTLIB to /MT&lt;br /&gt;
** Change RTLIBD to /MTd &lt;br /&gt;
* Using the command prompt, build the static libraries:&lt;br /&gt;
** &amp;quot;C:\Program Files\Microsoft Visual Studio .net 2003\Common7\Tools\vsvars32.bat&amp;quot;&lt;br /&gt;
** cd %PATH%\lib\&lt;br /&gt;
** nmake /f Makefile.vc6 CFG=release-ssl-zlib&lt;br /&gt;
** Copy &amp;quot;curl-X.XX.X\lib\release-ssl-zlib\libcurl.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
** Copy &amp;quot;curl-X.XX.X\lib\release-ssl-zlib\libcurl.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** Copy all the header files in &amp;quot;curl-X.XX.X\include\curl&amp;quot; to &amp;quot;libraries\include\curl&amp;quot; &lt;br /&gt;
&lt;br /&gt;
= XMLRPC-epi =&lt;br /&gt;
&lt;br /&gt;
**Download and Extract [http://xmlrpc-epi.sourceforge.net/ xmlrpc-epi].&lt;br /&gt;
**Get the patch 1 &amp;amp; 3 from [[Patch_xmlrpc-epi]]&lt;br /&gt;
*Using cygwin:&lt;br /&gt;
 $ tar xvzf xmlrpc-epi-0.51&lt;br /&gt;
 $ cd xmlrpc-epi-0.51&lt;br /&gt;
 $ patch -p1 &amp;lt; ../remove_iconv.patch&lt;br /&gt;
 $ patch -p1 &amp;lt; ../excise_expat.patch&lt;br /&gt;
 $ rm -rf expat&lt;br /&gt;
 $ mkdir expat&lt;br /&gt;
 $ cp $FOO expat&lt;br /&gt;
     Where $FOO is either&lt;br /&gt;
         /tmp/expat/include/* -- if you built expat recently&lt;br /&gt;
     or  ../../expat-1.95.8/src/lib/expat*.h -- if you haven&#039;t&lt;br /&gt;
     in this later case you&#039;ll need to have CVS gotten the expat&lt;br /&gt;
     lib, and expanded it&#039;s src.tar.gz file there&lt;br /&gt;
*Copy over the Visual Studio files:&lt;br /&gt;
 $ cp ../src/xmlrpcepi.* .&lt;br /&gt;
*Open the xmlrpcepi.sln file and build&lt;br /&gt;
&lt;br /&gt;
= Vorbis &amp;amp; Ogg =&lt;br /&gt;
* Download &amp;amp; extract [http://www.xiph.org/downloads/ libvorbis].&lt;br /&gt;
* Download &amp;amp; extract [http://www.xiph.org/downloads/ libogg].&lt;br /&gt;
* Build &amp;amp; copy libogg first:&lt;br /&gt;
** Open &amp;quot;libogg-X.X.X\win32\ogg_static.dsp&amp;quot; in visual studio.&lt;br /&gt;
** Build both debug and release solutions.&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\include\ogg&amp;quot; into &amp;quot;libvorbis-X.X.X\include&amp;quot;&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\include\ogg\ogg.h&amp;quot; to &amp;quot;libraries\include\ogg&amp;quot;&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\include\ogg\os_types.h&amp;quot; to &amp;quot;libraries\include\ogg&amp;quot;&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\win32\Static_Release\ogg_static.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\win32\Static_Debug\ogg_static_d.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\ogg_static.lib&amp;quot;&lt;br /&gt;
* Build &amp;amp; copy libvorbis:&lt;br /&gt;
** Build release &amp;amp; debug &amp;quot;libvorbis-X.X.X\win32\vorbis_static.dsp&amp;quot;&lt;br /&gt;
** Build release &amp;amp; debug &amp;quot;libvorbis-X.X.X\win32\vorbisfile_static.dsp&amp;quot;&lt;br /&gt;
** Build release &amp;amp; debug &amp;quot;libvorbis-X.X.X\win32\vorbisenc_static.dsp&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-X.X.X\include\vorbis\codec.h&amp;quot; to &amp;quot;libraries\include\vorbis&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-X.X.X\include\vorbis\vorbisfile.h&amp;quot; to &amp;quot;libraries\include\vorbis&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-X.X.X\include\vorbis\vorbisenc.h&amp;quot; to &amp;quot;libraries\include\vorbis&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\Vorbis_Static_Release\vorbis_static.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\VorbisEnc_Static_Release\vorbisenc_static.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\VorbisFile_Static_Release\vorbisfile_static.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\Vorbis_Static_Debug\vorbis_static_d.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\vorbis_static.lib&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\VorbisEnc_Static_Debug\vorbisenc_static_d.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\vorbisenc_static.lib&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\VorbisFile_Static_Debug\vorbisfile_static_d.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\vorbisfile_static.lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= JPEGlib =&lt;br /&gt;
* Download &amp;amp; extract [http://www.ijg.org/ jpeglib] - download the file &#039;jpegsrc.v6b.tar.gz&#039;.&lt;br /&gt;
* Copy &amp;quot;jpegsr6\jpeg-6b\makefile.vc&amp;quot; to the file &amp;quot;jpegsr6\jpeg-6b\Makefile&amp;quot;&lt;br /&gt;
* Copy &amp;quot;jpegsr6\jpeg-6b\jconfig.vc&amp;quot; to &amp;quot;jpegsr6\jpeg-6b\jconfig.h&amp;quot;&lt;br /&gt;
* At the command prompt:&lt;br /&gt;
** &amp;quot;C:\Program Files\Microsoft Visual Studio .net 2003\Common7\Tools\vsvars32.bat&amp;quot;&lt;br /&gt;
** cd %ZLIB_FOLDER%&lt;br /&gt;
** nmake -f Makefile&lt;br /&gt;
* copy &amp;quot;jconfig.h&amp;quot;, &amp;quot;jerror.h&amp;quot;, &amp;quot;jmorecfg.h&amp;quot;, &amp;quot;jpeglib.h&amp;quot;, and &amp;quot;jinclude.h&amp;quot; from * to &amp;quot;libraries\include\jpeglib&amp;quot;&lt;br /&gt;
* copy &amp;quot;jpegsr6\jpeg-6b\libjpeg.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
* copy &amp;quot;jpegsr6\jpeg-6b\libjpeg.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* [[Patch jpeglib]]&lt;br /&gt;
&lt;br /&gt;
= OpenJPEG =&lt;br /&gt;
* Download and extract [http://www.openjpeg.org/index.php?menu=download openjpeg for win32].&lt;br /&gt;
* Copy &amp;quot;openjpeg10_win32\openjpeg.h&amp;quot; to &amp;quot;&amp;quot;\libraries\include\openjpeg&amp;quot;&lt;br /&gt;
* Copy &amp;quot;openjpeg10_win32\LibOpenJPEG.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;openjpeg10_win32\LibOpenJPEG.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= TUT =&lt;br /&gt;
* Download and extract [http://tut-framework.sourceforge.net/download/ tut]&lt;br /&gt;
* [[Patch TUT]] to add test skipping.&lt;br /&gt;
* Copy &amp;quot;tut.h&amp;quot;, &amp;quot;tut_reporter.h&amp;quot;, and &amp;quot;tut_restartable.h&amp;quot; to &amp;quot;libraries\include\tut&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= LLMozLib =&lt;br /&gt;
These instructions describe how to build the Windows version of LLMozLib for use within the Second Life client. They have been tested using Microsoft Visual Studio 7.1 - apparently, things do work with other versions of the Microsoft compiler but they have not been tried or tested.&lt;br /&gt;
&lt;br /&gt;
LLMozLib currently uses code from the 1.8.0 branch of the Mozilla codebase - similar to what is used in Firefox 1.5. At some point in the future we will switch to the 1.8.1 branch - the one used to build Firefox 2.0.&lt;br /&gt;
&lt;br /&gt;
Get our snapshot llmozlib from the [[source downloads]] page. &lt;br /&gt;
&lt;br /&gt;
The steps required to generate LLMozLib and associated run-time files are:&lt;br /&gt;
&lt;br /&gt;
* Set up your environment for building the Mozilla source code. (these instructions are specific to the Mozilla branch we are using - building the trunk is different)&lt;br /&gt;
&lt;br /&gt;
 http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites_on_the_1.7_and_1.8_Branches&lt;br /&gt;
&lt;br /&gt;
* Checkout the Mozilla source code from their CVS repository. Let&#039;s assume you are using the &amp;lt;code&amp;gt;c:\mozilla&amp;lt;/code&amp;gt; directory to build in.&lt;br /&gt;
  c:&lt;br /&gt;
  cd \&lt;br /&gt;
  export CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot&lt;br /&gt;
  cvs login (the password is &#039;anonymous&#039;)&lt;br /&gt;
  cvs checkout -r FIREFOX_1_5_0_9_RELEASE mozilla/client.mk&lt;br /&gt;
  cd c:\mozilla&lt;br /&gt;
  make -f client.mk checkout MOZ_CO_PROJECT=xulrunner&lt;br /&gt;
&lt;br /&gt;
:; Note : the CVS tag will change as Mozilla release updates. Version 1.5.0.9 is current as of writing.&lt;br /&gt;
&lt;br /&gt;
* Apply a patch which enables certain features that are required for the Second Life client.&lt;br /&gt;
&lt;br /&gt;
:The patch can be found in the llmozlib &amp;lt;code&amp;gt;build_mozilla&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
:Copy the patch into the directory where you are building Mozilla and apply the patch:&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt; linden_updates.patch&lt;br /&gt;
&lt;br /&gt;
* Build optimized (release) and debug versions of a XULRunner configuration of the Mozilla codebase.&lt;br /&gt;
&lt;br /&gt;
:The &amp;lt;code&amp;gt;build_mozilla&amp;lt;/code&amp;gt; directory contains 2 Mozilla configuration files - one for a debug build and one for an optimized build.&lt;br /&gt;
&lt;br /&gt;
:Copy both files into the directory where you are building Mozilla and then:&lt;br /&gt;
&lt;br /&gt;
 copy .mozconfig.debug .mozconfig&lt;br /&gt;
 make -f client.mk build&lt;br /&gt;
&lt;br /&gt;
 copy .mozconfig.optimized .mozconfig&lt;br /&gt;
 make -f client.mk build&lt;br /&gt;
&lt;br /&gt;
* Copy a subset of the header files and libraries you built into the LLMozLib tree&lt;br /&gt;
&lt;br /&gt;
:There is a batch file in the LLMozLib directory to help you.&lt;br /&gt;
&lt;br /&gt;
:You may need to edit the paths at the top if your Mozilla source directory is different.&lt;br /&gt;
&lt;br /&gt;
 copy_products_windows.bat&lt;br /&gt;
&lt;br /&gt;
* Build LLMozLib using Microsoft Visual Studio 7.1&lt;br /&gt;
&lt;br /&gt;
:Open the LLMozLib solution file &amp;lt;code&amp;gt;llmozlib.sln&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:Build the Debug and Release configurations in the normal fashion.&lt;br /&gt;
&lt;br /&gt;
* Copy the LLMozLib files to the Second Life client branch&lt;br /&gt;
&lt;br /&gt;
:There is a batch file in the LLMozLib directory to help you.&lt;br /&gt;
&lt;br /&gt;
:You may need to edit the paths at the top if your Second Life client directory is different.&lt;br /&gt;
&lt;br /&gt;
 copy_llmozlib_to_branch.bat&lt;br /&gt;
&lt;br /&gt;
* That completes the LLMozLib build - the files that are copied (relative to the Second Life client directory) are:&lt;br /&gt;
&lt;br /&gt;
 Header file (llmozlib.h) in libraries\include\&lt;br /&gt;
&lt;br /&gt;
 Static library (llmozlib.lib) (debug) in libraries\i686-win32\lib_debug\&lt;br /&gt;
 Static library (llmozlib.lib) (release) in libraries\i686-win32\lib_release\&lt;br /&gt;
&lt;br /&gt;
 Runtime DLLs (debug) in libraries\i686-win32\lib_debug\&lt;br /&gt;
 Runtime DLLs (release) in libraries\i686-win32\lib_release\&lt;br /&gt;
&lt;br /&gt;
 Runtime misc files (debug) in indra\newview\app_settings\mozilla_debug\&lt;br /&gt;
 Runtime misc files (release) in indra\newview\app_settings\mozilla_release\&lt;/div&gt;</summary>
		<author><name>Zoltan Freundlich</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_libraries_(MSVS_2003)&amp;diff=66016</id>
		<title>Compiling the viewer libraries (MSVS 2003)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_libraries_(MSVS_2003)&amp;diff=66016"/>
		<updated>2008-05-05T15:49:24Z</updated>

		<summary type="html">&lt;p&gt;Zoltan Freundlich: /* Boost */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
This page supplements [[Compiling the viewer (MSVS2003)]].&lt;br /&gt;
&lt;br /&gt;
In the source directory, there are several empty placeholder folders for libraries which the Second Life viewer relies upon. This section describes how to acquire the code, and how to install it. It is a good idea to install in order, as some libraries will rely on previous installs (ie, libcurl needs openssl and zlib).&lt;br /&gt;
&lt;br /&gt;
= Boost =&lt;br /&gt;
* Download &amp;amp; extract [http://sourceforge.net/project/showfiles.php?group_id=7586&amp;amp;package_id=8041 Boost] source for win32.&lt;br /&gt;
* Copy the &amp;quot;boost_X_XX_X\boost&amp;quot; folder to &amp;quot;libraries\include\&amp;quot;.&lt;br /&gt;
NOTE:  the Boost Wiki says to use the Visual Studio command prompt instead of the regular command prompt.&lt;br /&gt;
* Run &amp;quot;boost_X_XX_X\tools\jam\build_dist.bat&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;boost_X_XX_X\tools\jam\src\bin.ntx86\bjam.exe&amp;quot; to &amp;quot;boost_X_XX_X\&amp;quot;. [NOTE: found in stage directory, not src, in Boost 1.35.0]&lt;br /&gt;
* Using the command prompt, build the static libraries:&lt;br /&gt;
** cd boost_X_XX_X&lt;br /&gt;
** set PYTHON_ROOT=C:\Python23&lt;br /&gt;
** set PYTHON_VERSION=2.3&lt;br /&gt;
** bjam --toolset=msvc-7.1 stage&lt;br /&gt;
* copy &amp;quot;boost_X_XX_X\stage\lib\libboost_python-vc71-mt.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_release\&amp;quot;&lt;br /&gt;
* copy &amp;quot;boost_X_XX_X\stage\lib\libboost_python-vc71-mt-gd.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_debug\libboost_python-vc71-mt.lib&amp;quot;&lt;br /&gt;
* copy &amp;quot;boost_X_XX_X\stage\lib\libboost_regex-vc71-mt-s.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_release\&amp;quot;&lt;br /&gt;
* copy &amp;quot;boost_X_XX_X\stage\lib\libboost_regex-vc71-mt-sgd.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_debug\libboost_regex-vc71-mt-s.lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Expat =&lt;br /&gt;
* Download and run [http://sourceforge.net/project/showfiles.php?group_id=10127 Expat Win32 Binary]&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\Source\lib\expat.h&amp;quot; to &amp;quot;libraries\include\expat\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\Source\lib\expat_external.h&amp;quot; to &amp;quot;libraries\include\expat\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\StaticLibs\libexpatMT.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\StaticLibs\libexpatMT.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= ZLib =&lt;br /&gt;
* Download &amp;amp; extract [http://www.zlib.net/ Zlib]&lt;br /&gt;
* copy &amp;quot;zlibXXX\zlib.h&amp;quot; to &amp;quot;libraries\include\zlib\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;zlibXXX\zconf.h&amp;quot; to &amp;quot;libraries\include\zlib\&amp;quot;.&lt;br /&gt;
* Using the command prompt, build the static libraries:&lt;br /&gt;
** &amp;quot;C:\Program Files\Microsoft Visual Studio .net 2003\Common7\Tools\vsvars32.bat&amp;quot;&lt;br /&gt;
** cd %ZLIB_FOLDER%&lt;br /&gt;
** nmake -f win32/Makefile.msc&lt;br /&gt;
* copy &amp;quot;zlibXXX\zlib.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;zlibXXX\zlib.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Apache Portable Runtime =&lt;br /&gt;
* Take out XML dependancies, move expat headers!!!!&lt;br /&gt;
* Download &amp;amp; extract [http://apr.apache.org/download.cgi apr, apr-util, and apr-iconv].&lt;br /&gt;
* For simplicity  place all three in a parallel directory structure, and rename the directories:&lt;br /&gt;
** C:\work\apr\&lt;br /&gt;
** C:\work\apr-iconv\&lt;br /&gt;
** C:\work\apr-util\&lt;br /&gt;
* Open the &amp;quot;\apr-util\aprutil.dsw&amp;quot; project in VS2003.&lt;br /&gt;
* For the apr, apr-util &amp;amp; apr-iconv projects, change the Runtime Library from Multi-threaded DLL to Multi-threaded:&lt;br /&gt;
** Right click each project in the Solution Explorer, choose properties.&lt;br /&gt;
** In the C/C++ folder, choose Code Generation.&lt;br /&gt;
** Change the Runtime Library to Muli-threaded.&lt;br /&gt;
** Repeat for both debug and release.&lt;br /&gt;
* Remove the apr-util&#039;s dependency on xml:&lt;br /&gt;
** Right click the apr-util project, and choose dependencies.&lt;br /&gt;
** Uncheck xml.&lt;br /&gt;
** Right click the xml project in the Solution Explorer.&lt;br /&gt;
** Choose Remove.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\Source\lib\expat.h&amp;quot; to &amp;quot;apr\apr-util\xml&amp;quot;.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\Source\lib\expat_external.h&amp;quot; to &amp;quot;apr\apr-util\xml\&amp;quot;.&lt;br /&gt;
* Build Solution for Debug, and build solution for release.&lt;br /&gt;
* copy &amp;quot;\apr-util\LibR\aprutil-1.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr-util\LibR\aprutil_src.pdb&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr\LibR\apr-1.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr\LibR\apr_src.pdb&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr-util\LibD\aprutil-1.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr-util\LibD\aprutil_src.pdb&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr\LibD\apr-1.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr\LibD\apr_src.pdb&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy header files:&lt;br /&gt;
** copy the contents of &amp;quot;apr\include&amp;quot; to &amp;quot;libraries\i686-win32\include\apr-1&amp;quot;. &lt;br /&gt;
** in &amp;quot;libraries\i686-win32\include\apr-1\arch\&amp;quot; only the &amp;quot;win32&amp;quot; dir and &amp;quot;apr_private_common.h&amp;quot; are required.&lt;br /&gt;
** copy the contents of &amp;quot;apr-util\include&amp;quot; to &amp;quot;libraries\i686-win32\include\apr-1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Freetype =&lt;br /&gt;
* Download and run [http://gnuwin32.sourceforge.net/packages/freetype.htm FreeType for Windows].&lt;br /&gt;
* copy the contents of &amp;quot;GnuWin32\include\freetype2\freetype&amp;quot; into &amp;quot;\libraries\include\freetype&amp;quot;&lt;br /&gt;
* copy &amp;quot;GnuWin32\lib\freetype.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;. &lt;br /&gt;
* copy &amp;quot;GnuWin32\lib\freetype.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy &amp;quot;GnuWin32\include\ft2build.h&amp;quot; to &amp;quot;libraries\include&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
* Download and extract: http://www.openssl.org/source/&lt;br /&gt;
* Using the command prompt, build the static libraries:&lt;br /&gt;
** cd %PATH%&lt;br /&gt;
** perl Configure VC-WIN32&lt;br /&gt;
** ms\do_masm&lt;br /&gt;
* Edit openssl-X.X.Xy\ms\nt.mak&lt;br /&gt;
** Change /MD to /MT in CFLAGS&lt;br /&gt;
* back in the command prompt:&lt;br /&gt;
** &amp;quot;C:\Program Files\Microsoft Visual Studio .net 2003\Common7\Tools\vsvars32.bat&amp;quot;&lt;br /&gt;
** nmake -f ms\nt.mak&lt;br /&gt;
** copy all the &amp;quot;.lib&amp;quot; files from &amp;quot;openssl-X.X.Xy\out32&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= cURL =&lt;br /&gt;
* Download &amp;amp; extract the [http://curl.haxx.se/download.html curl source].&lt;br /&gt;
* Edit &amp;quot;curl-X.XX.X\lib\Makefile.vc6&amp;quot;&lt;br /&gt;
** Change OPENSSL_PATH to ../../../openssl-&amp;lt;version&amp;gt;&lt;br /&gt;
** Change the ZLIB_PATH to ../../../zlib-&amp;lt;version&amp;gt;/src&lt;br /&gt;
** Change RTLIB to /MT&lt;br /&gt;
** Change RTLIBD to /MTd &lt;br /&gt;
* Using the command prompt, build the static libraries:&lt;br /&gt;
** &amp;quot;C:\Program Files\Microsoft Visual Studio .net 2003\Common7\Tools\vsvars32.bat&amp;quot;&lt;br /&gt;
** cd %PATH%\lib\&lt;br /&gt;
** nmake /f Makefile.vc6 CFG=release-ssl-zlib&lt;br /&gt;
** Copy &amp;quot;curl-X.XX.X\lib\release-ssl-zlib\libcurl.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
** Copy &amp;quot;curl-X.XX.X\lib\release-ssl-zlib\libcurl.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** Copy all the header files in &amp;quot;curl-X.XX.X\include\curl&amp;quot; to &amp;quot;libraries\include\curl&amp;quot; &lt;br /&gt;
&lt;br /&gt;
= XMLRPC-epi =&lt;br /&gt;
&lt;br /&gt;
**Download and Extract [http://xmlrpc-epi.sourceforge.net/ xmlrpc-epi].&lt;br /&gt;
**Get the patch 1 &amp;amp; 3 from [[Patch_xmlrpc-epi]]&lt;br /&gt;
*Using cygwin:&lt;br /&gt;
 $ tar xvzf xmlrpc-epi-0.51&lt;br /&gt;
 $ cd xmlrpc-epi-0.51&lt;br /&gt;
 $ patch -p1 &amp;lt; ../remove_iconv.patch&lt;br /&gt;
 $ patch -p1 &amp;lt; ../excise_expat.patch&lt;br /&gt;
 $ rm -rf expat&lt;br /&gt;
 $ mkdir expat&lt;br /&gt;
 $ cp $FOO expat&lt;br /&gt;
     Where $FOO is either&lt;br /&gt;
         /tmp/expat/include/* -- if you built expat recently&lt;br /&gt;
     or  ../../expat-1.95.8/src/lib/expat*.h -- if you haven&#039;t&lt;br /&gt;
     in this later case you&#039;ll need to have CVS gotten the expat&lt;br /&gt;
     lib, and expanded it&#039;s src.tar.gz file there&lt;br /&gt;
*Copy over the Visual Studio files:&lt;br /&gt;
 $ cp ../src/xmlrpcepi.* .&lt;br /&gt;
*Open the xmlrpcepi.sln file and build&lt;br /&gt;
&lt;br /&gt;
= Vorbis &amp;amp; Ogg =&lt;br /&gt;
* Download &amp;amp; extract [http://www.xiph.org/downloads/ libvorbis].&lt;br /&gt;
* Download &amp;amp; extract [http://www.xiph.org/downloads/ libogg].&lt;br /&gt;
* Build &amp;amp; copy libogg first:&lt;br /&gt;
** Open &amp;quot;libogg-X.X.X\win32\ogg_static.dsp&amp;quot; in visual studio.&lt;br /&gt;
** Build both debug and release solutions.&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\include\ogg&amp;quot; into &amp;quot;libvorbis-X.X.X\include&amp;quot;&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\include\ogg\ogg.h&amp;quot; to &amp;quot;libraries\include\ogg&amp;quot;&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\include\ogg\os_types.h&amp;quot; to &amp;quot;libraries\include\ogg&amp;quot;&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\win32\Static_Release\ogg_static.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\win32\Static_Debug\ogg_static_d.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\ogg_static.lib&amp;quot;&lt;br /&gt;
* Build &amp;amp; copy libvorbis:&lt;br /&gt;
** Build release &amp;amp; debug &amp;quot;libvorbis-X.X.X\win32\vorbis_static.dsp&amp;quot;&lt;br /&gt;
** Build release &amp;amp; debug &amp;quot;libvorbis-X.X.X\win32\vorbisfile_static.dsp&amp;quot;&lt;br /&gt;
** Build release &amp;amp; debug &amp;quot;libvorbis-X.X.X\win32\vorbisenc_static.dsp&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-X.X.X\include\vorbis\codec.h&amp;quot; to &amp;quot;libraries\include\vorbis&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-X.X.X\include\vorbis\vorbisfile.h&amp;quot; to &amp;quot;libraries\include\vorbis&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-X.X.X\include\vorbis\vorbisenc.h&amp;quot; to &amp;quot;libraries\include\vorbis&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\Vorbis_Static_Release\vorbis_static.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\VorbisEnc_Static_Release\vorbisenc_static.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\VorbisFile_Static_Release\vorbisfile_static.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\Vorbis_Static_Debug\vorbis_static_d.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\vorbis_static.lib&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\VorbisEnc_Static_Debug\vorbisenc_static_d.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\vorbisenc_static.lib&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\VorbisFile_Static_Debug\vorbisfile_static_d.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\vorbisfile_static.lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= JPEGlib =&lt;br /&gt;
* Download &amp;amp; extract [http://www.ijg.org/ jpeglib] - download the file &#039;jpegsrc.v6b.tar.gz&#039;.&lt;br /&gt;
* Copy &amp;quot;jpegsr6\jpeg-6b\makefile.vc&amp;quot; to the file &amp;quot;jpegsr6\jpeg-6b\Makefile&amp;quot;&lt;br /&gt;
* Copy &amp;quot;jpegsr6\jpeg-6b\jconfig.vc&amp;quot; to &amp;quot;jpegsr6\jpeg-6b\jconfig.h&amp;quot;&lt;br /&gt;
* At the command prompt:&lt;br /&gt;
** &amp;quot;C:\Program Files\Microsoft Visual Studio .net 2003\Common7\Tools\vsvars32.bat&amp;quot;&lt;br /&gt;
** cd %ZLIB_FOLDER%&lt;br /&gt;
** nmake -f Makefile&lt;br /&gt;
* copy &amp;quot;jconfig.h&amp;quot;, &amp;quot;jerror.h&amp;quot;, &amp;quot;jmorecfg.h&amp;quot;, &amp;quot;jpeglib.h&amp;quot;, and &amp;quot;jinclude.h&amp;quot; from * to &amp;quot;libraries\include\jpeglib&amp;quot;&lt;br /&gt;
* copy &amp;quot;jpegsr6\jpeg-6b\libjpeg.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
* copy &amp;quot;jpegsr6\jpeg-6b\libjpeg.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* [[Patch jpeglib]]&lt;br /&gt;
&lt;br /&gt;
= OpenJPEG =&lt;br /&gt;
* Download and extract [http://www.openjpeg.org/index.php?menu=download openjpeg for win32].&lt;br /&gt;
* Copy &amp;quot;openjpeg10_win32\openjpeg.h&amp;quot; to &amp;quot;&amp;quot;\libraries\include\openjpeg&amp;quot;&lt;br /&gt;
* Copy &amp;quot;openjpeg10_win32\LibOpenJPEG.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;openjpeg10_win32\LibOpenJPEG.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= TUT =&lt;br /&gt;
* Download and extract [http://tut-framework.sourceforge.net/download/ tut]&lt;br /&gt;
* [[Patch TUT]] to add test skipping.&lt;br /&gt;
* Copy &amp;quot;tut.h&amp;quot;, &amp;quot;tut_reporter.h&amp;quot;, and &amp;quot;tut_restartable.h&amp;quot; to &amp;quot;libraries\include\tut&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= LLMozLib =&lt;br /&gt;
These instructions describe how to build the Windows version of LLMozLib for use within the Second Life client. They have been tested using Microsoft Visual Studio 7.1 - apparently, things do work with other versions of the Microsoft compiler but they have not been tried or tested.&lt;br /&gt;
&lt;br /&gt;
LLMozLib currently uses code from the 1.8.0 branch of the Mozilla codebase - similar to what is used in Firefox 1.5. At some point in the future we will switch to the 1.8.1 branch - the one used to build Firefox 2.0.&lt;br /&gt;
&lt;br /&gt;
Get our snapshot llmozlib from the [[source downloads]] page. &lt;br /&gt;
&lt;br /&gt;
The steps required to generate LLMozLib and associated run-time files are:&lt;br /&gt;
&lt;br /&gt;
* Set up your environment for building the Mozilla source code. (these instructions are specific to the Mozilla branch we are using - building the trunk is different)&lt;br /&gt;
&lt;br /&gt;
 http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites_on_the_1.7_and_1.8_Branches&lt;br /&gt;
&lt;br /&gt;
* Checkout the Mozilla source code from their CVS repository. Let&#039;s assume you are using the &amp;lt;code&amp;gt;c:\mozilla&amp;lt;/code&amp;gt; directory to build in.&lt;br /&gt;
  c:&lt;br /&gt;
  cd \&lt;br /&gt;
  export CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot&lt;br /&gt;
  cvs login (the password is &#039;anonymous&#039;)&lt;br /&gt;
  cvs checkout -r FIREFOX_1_5_0_9_RELEASE mozilla/client.mk&lt;br /&gt;
  cd c:\mozilla&lt;br /&gt;
  make -f client.mk checkout MOZ_CO_PROJECT=xulrunner&lt;br /&gt;
&lt;br /&gt;
:; Note : the CVS tag will change as Mozilla release updates. Version 1.5.0.9 is current as of writing.&lt;br /&gt;
&lt;br /&gt;
* Apply a patch which enables certain features that are required for the Second Life client.&lt;br /&gt;
&lt;br /&gt;
:The patch can be found in the llmozlib &amp;lt;code&amp;gt;build_mozilla&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
:Copy the patch into the directory where you are building Mozilla and apply the patch:&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt; linden_updates.patch&lt;br /&gt;
&lt;br /&gt;
* Build optimized (release) and debug versions of a XULRunner configuration of the Mozilla codebase.&lt;br /&gt;
&lt;br /&gt;
:The &amp;lt;code&amp;gt;build_mozilla&amp;lt;/code&amp;gt; directory contains 2 Mozilla configuration files - one for a debug build and one for an optimized build.&lt;br /&gt;
&lt;br /&gt;
:Copy both files into the directory where you are building Mozilla and then:&lt;br /&gt;
&lt;br /&gt;
 copy .mozconfig.debug .mozconfig&lt;br /&gt;
 make -f client.mk build&lt;br /&gt;
&lt;br /&gt;
 copy .mozconfig.optimized .mozconfig&lt;br /&gt;
 make -f client.mk build&lt;br /&gt;
&lt;br /&gt;
* Copy a subset of the header files and libraries you built into the LLMozLib tree&lt;br /&gt;
&lt;br /&gt;
:There is a batch file in the LLMozLib directory to help you.&lt;br /&gt;
&lt;br /&gt;
:You may need to edit the paths at the top if your Mozilla source directory is different.&lt;br /&gt;
&lt;br /&gt;
 copy_products_windows.bat&lt;br /&gt;
&lt;br /&gt;
* Build LLMozLib using Microsoft Visual Studio 7.1&lt;br /&gt;
&lt;br /&gt;
:Open the LLMozLib solution file &amp;lt;code&amp;gt;llmozlib.sln&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:Build the Debug and Release configurations in the normal fashion.&lt;br /&gt;
&lt;br /&gt;
* Copy the LLMozLib files to the Second Life client branch&lt;br /&gt;
&lt;br /&gt;
:There is a batch file in the LLMozLib directory to help you.&lt;br /&gt;
&lt;br /&gt;
:You may need to edit the paths at the top if your Second Life client directory is different.&lt;br /&gt;
&lt;br /&gt;
 copy_llmozlib_to_branch.bat&lt;br /&gt;
&lt;br /&gt;
* That completes the LLMozLib build - the files that are copied (relative to the Second Life client directory) are:&lt;br /&gt;
&lt;br /&gt;
 Header file (llmozlib.h) in libraries\include\&lt;br /&gt;
&lt;br /&gt;
 Static library (llmozlib.lib) (debug) in libraries\i686-win32\lib_debug\&lt;br /&gt;
 Static library (llmozlib.lib) (release) in libraries\i686-win32\lib_release\&lt;br /&gt;
&lt;br /&gt;
 Runtime DLLs (debug) in libraries\i686-win32\lib_debug\&lt;br /&gt;
 Runtime DLLs (release) in libraries\i686-win32\lib_release\&lt;br /&gt;
&lt;br /&gt;
 Runtime misc files (debug) in indra\newview\app_settings\mozilla_debug\&lt;br /&gt;
 Runtime misc files (release) in indra\newview\app_settings\mozilla_release\&lt;/div&gt;</summary>
		<author><name>Zoltan Freundlich</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_libraries_(MSVS_2003)&amp;diff=66012</id>
		<title>Compiling the viewer libraries (MSVS 2003)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_libraries_(MSVS_2003)&amp;diff=66012"/>
		<updated>2008-05-05T15:40:47Z</updated>

		<summary type="html">&lt;p&gt;Zoltan Freundlich: /* Boost */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
This page supplements [[Compiling the viewer (MSVS2003)]].&lt;br /&gt;
&lt;br /&gt;
In the source directory, there are several empty placeholder folders for libraries which the Second Life viewer relies upon. This section describes how to acquire the code, and how to install it. It is a good idea to install in order, as some libraries will rely on previous installs (ie, libcurl needs openssl and zlib).&lt;br /&gt;
&lt;br /&gt;
= Boost =&lt;br /&gt;
* Download &amp;amp; extract [http://sourceforge.net/project/showfiles.php?group_id=7586&amp;amp;package_id=8041 Boost] source for win32.&lt;br /&gt;
* Copy the &amp;quot;boost_X_XX_X\boost&amp;quot; folder to &amp;quot;libraries\include\&amp;quot;.&lt;br /&gt;
* Run &amp;quot;Run &amp;quot;boost_X_XX_X\tools\jam\build_dist.bat&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;boost_X_XX_X\tools\jam\src\bin.ntx86\bjam.exe&amp;quot; to &amp;quot;boost_X_XX_X\&amp;quot;. [NOTE: found in stage directory, not src, in Boost 1.35.0]&lt;br /&gt;
* Using the command prompt, build the static libraries:&lt;br /&gt;
** cd boost_X_XX_X&lt;br /&gt;
** set PYTHON_ROOT=C:\Python23&lt;br /&gt;
** set PYTHON_VERSION=2.3&lt;br /&gt;
** bjam --toolset=msvc-7.1 stage&lt;br /&gt;
* copy &amp;quot;boost_X_XX_X\stage\lib\libboost_python-vc71-mt.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_release\&amp;quot;&lt;br /&gt;
* copy &amp;quot;boost_X_XX_X\stage\lib\libboost_python-vc71-mt-gd.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_debug\libboost_python-vc71-mt.lib&amp;quot;&lt;br /&gt;
* copy &amp;quot;boost_X_XX_X\stage\lib\libboost_regex-vc71-mt-s.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_release\&amp;quot;&lt;br /&gt;
* copy &amp;quot;boost_X_XX_X\stage\lib\libboost_regex-vc71-mt-sgd.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_debug\libboost_regex-vc71-mt-s.lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Expat =&lt;br /&gt;
* Download and run [http://sourceforge.net/project/showfiles.php?group_id=10127 Expat Win32 Binary]&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\Source\lib\expat.h&amp;quot; to &amp;quot;libraries\include\expat\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\Source\lib\expat_external.h&amp;quot; to &amp;quot;libraries\include\expat\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\StaticLibs\libexpatMT.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\StaticLibs\libexpatMT.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= ZLib =&lt;br /&gt;
* Download &amp;amp; extract [http://www.zlib.net/ Zlib]&lt;br /&gt;
* copy &amp;quot;zlibXXX\zlib.h&amp;quot; to &amp;quot;libraries\include\zlib\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;zlibXXX\zconf.h&amp;quot; to &amp;quot;libraries\include\zlib\&amp;quot;.&lt;br /&gt;
* Using the command prompt, build the static libraries:&lt;br /&gt;
** &amp;quot;C:\Program Files\Microsoft Visual Studio .net 2003\Common7\Tools\vsvars32.bat&amp;quot;&lt;br /&gt;
** cd %ZLIB_FOLDER%&lt;br /&gt;
** nmake -f win32/Makefile.msc&lt;br /&gt;
* copy &amp;quot;zlibXXX\zlib.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release\&amp;quot;.&lt;br /&gt;
* copy &amp;quot;zlibXXX\zlib.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Apache Portable Runtime =&lt;br /&gt;
* Take out XML dependancies, move expat headers!!!!&lt;br /&gt;
* Download &amp;amp; extract [http://apr.apache.org/download.cgi apr, apr-util, and apr-iconv].&lt;br /&gt;
* For simplicity  place all three in a parallel directory structure, and rename the directories:&lt;br /&gt;
** C:\work\apr\&lt;br /&gt;
** C:\work\apr-iconv\&lt;br /&gt;
** C:\work\apr-util\&lt;br /&gt;
* Open the &amp;quot;\apr-util\aprutil.dsw&amp;quot; project in VS2003.&lt;br /&gt;
* For the apr, apr-util &amp;amp; apr-iconv projects, change the Runtime Library from Multi-threaded DLL to Multi-threaded:&lt;br /&gt;
** Right click each project in the Solution Explorer, choose properties.&lt;br /&gt;
** In the C/C++ folder, choose Code Generation.&lt;br /&gt;
** Change the Runtime Library to Muli-threaded.&lt;br /&gt;
** Repeat for both debug and release.&lt;br /&gt;
* Remove the apr-util&#039;s dependency on xml:&lt;br /&gt;
** Right click the apr-util project, and choose dependencies.&lt;br /&gt;
** Uncheck xml.&lt;br /&gt;
** Right click the xml project in the Solution Explorer.&lt;br /&gt;
** Choose Remove.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\Source\lib\expat.h&amp;quot; to &amp;quot;apr\apr-util\xml&amp;quot;.&lt;br /&gt;
* copy &amp;quot;Expat-X.X.X\Source\lib\expat_external.h&amp;quot; to &amp;quot;apr\apr-util\xml\&amp;quot;.&lt;br /&gt;
* Build Solution for Debug, and build solution for release.&lt;br /&gt;
* copy &amp;quot;\apr-util\LibR\aprutil-1.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr-util\LibR\aprutil_src.pdb&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr\LibR\apr-1.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr\LibR\apr_src.pdb&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr-util\LibD\aprutil-1.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr-util\LibD\aprutil_src.pdb&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr\LibD\apr-1.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy &amp;quot;\apr\LibD\apr_src.pdb&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy header files:&lt;br /&gt;
** copy the contents of &amp;quot;apr\include&amp;quot; to &amp;quot;libraries\i686-win32\include\apr-1&amp;quot;. &lt;br /&gt;
** in &amp;quot;libraries\i686-win32\include\apr-1\arch\&amp;quot; only the &amp;quot;win32&amp;quot; dir and &amp;quot;apr_private_common.h&amp;quot; are required.&lt;br /&gt;
** copy the contents of &amp;quot;apr-util\include&amp;quot; to &amp;quot;libraries\i686-win32\include\apr-1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Freetype =&lt;br /&gt;
* Download and run [http://gnuwin32.sourceforge.net/packages/freetype.htm FreeType for Windows].&lt;br /&gt;
* copy the contents of &amp;quot;GnuWin32\include\freetype2\freetype&amp;quot; into &amp;quot;\libraries\include\freetype&amp;quot;&lt;br /&gt;
* copy &amp;quot;GnuWin32\lib\freetype.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;. &lt;br /&gt;
* copy &amp;quot;GnuWin32\lib\freetype.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* copy &amp;quot;GnuWin32\include\ft2build.h&amp;quot; to &amp;quot;libraries\include&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
* Download and extract: http://www.openssl.org/source/&lt;br /&gt;
* Using the command prompt, build the static libraries:&lt;br /&gt;
** cd %PATH%&lt;br /&gt;
** perl Configure VC-WIN32&lt;br /&gt;
** ms\do_masm&lt;br /&gt;
* Edit openssl-X.X.Xy\ms\nt.mak&lt;br /&gt;
** Change /MD to /MT in CFLAGS&lt;br /&gt;
* back in the command prompt:&lt;br /&gt;
** &amp;quot;C:\Program Files\Microsoft Visual Studio .net 2003\Common7\Tools\vsvars32.bat&amp;quot;&lt;br /&gt;
** nmake -f ms\nt.mak&lt;br /&gt;
** copy all the &amp;quot;.lib&amp;quot; files from &amp;quot;openssl-X.X.Xy\out32&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= cURL =&lt;br /&gt;
* Download &amp;amp; extract the [http://curl.haxx.se/download.html curl source].&lt;br /&gt;
* Edit &amp;quot;curl-X.XX.X\lib\Makefile.vc6&amp;quot;&lt;br /&gt;
** Change OPENSSL_PATH to ../../../openssl-&amp;lt;version&amp;gt;&lt;br /&gt;
** Change the ZLIB_PATH to ../../../zlib-&amp;lt;version&amp;gt;/src&lt;br /&gt;
** Change RTLIB to /MT&lt;br /&gt;
** Change RTLIBD to /MTd &lt;br /&gt;
* Using the command prompt, build the static libraries:&lt;br /&gt;
** &amp;quot;C:\Program Files\Microsoft Visual Studio .net 2003\Common7\Tools\vsvars32.bat&amp;quot;&lt;br /&gt;
** cd %PATH%\lib\&lt;br /&gt;
** nmake /f Makefile.vc6 CFG=release-ssl-zlib&lt;br /&gt;
** Copy &amp;quot;curl-X.XX.X\lib\release-ssl-zlib\libcurl.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
** Copy &amp;quot;curl-X.XX.X\lib\release-ssl-zlib\libcurl.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** Copy all the header files in &amp;quot;curl-X.XX.X\include\curl&amp;quot; to &amp;quot;libraries\include\curl&amp;quot; &lt;br /&gt;
&lt;br /&gt;
= XMLRPC-epi =&lt;br /&gt;
&lt;br /&gt;
**Download and Extract [http://xmlrpc-epi.sourceforge.net/ xmlrpc-epi].&lt;br /&gt;
**Get the patch 1 &amp;amp; 3 from [[Patch_xmlrpc-epi]]&lt;br /&gt;
*Using cygwin:&lt;br /&gt;
 $ tar xvzf xmlrpc-epi-0.51&lt;br /&gt;
 $ cd xmlrpc-epi-0.51&lt;br /&gt;
 $ patch -p1 &amp;lt; ../remove_iconv.patch&lt;br /&gt;
 $ patch -p1 &amp;lt; ../excise_expat.patch&lt;br /&gt;
 $ rm -rf expat&lt;br /&gt;
 $ mkdir expat&lt;br /&gt;
 $ cp $FOO expat&lt;br /&gt;
     Where $FOO is either&lt;br /&gt;
         /tmp/expat/include/* -- if you built expat recently&lt;br /&gt;
     or  ../../expat-1.95.8/src/lib/expat*.h -- if you haven&#039;t&lt;br /&gt;
     in this later case you&#039;ll need to have CVS gotten the expat&lt;br /&gt;
     lib, and expanded it&#039;s src.tar.gz file there&lt;br /&gt;
*Copy over the Visual Studio files:&lt;br /&gt;
 $ cp ../src/xmlrpcepi.* .&lt;br /&gt;
*Open the xmlrpcepi.sln file and build&lt;br /&gt;
&lt;br /&gt;
= Vorbis &amp;amp; Ogg =&lt;br /&gt;
* Download &amp;amp; extract [http://www.xiph.org/downloads/ libvorbis].&lt;br /&gt;
* Download &amp;amp; extract [http://www.xiph.org/downloads/ libogg].&lt;br /&gt;
* Build &amp;amp; copy libogg first:&lt;br /&gt;
** Open &amp;quot;libogg-X.X.X\win32\ogg_static.dsp&amp;quot; in visual studio.&lt;br /&gt;
** Build both debug and release solutions.&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\include\ogg&amp;quot; into &amp;quot;libvorbis-X.X.X\include&amp;quot;&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\include\ogg\ogg.h&amp;quot; to &amp;quot;libraries\include\ogg&amp;quot;&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\include\ogg\os_types.h&amp;quot; to &amp;quot;libraries\include\ogg&amp;quot;&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\win32\Static_Release\ogg_static.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** Copy &amp;quot;libogg-X.X.X\win32\Static_Debug\ogg_static_d.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\ogg_static.lib&amp;quot;&lt;br /&gt;
* Build &amp;amp; copy libvorbis:&lt;br /&gt;
** Build release &amp;amp; debug &amp;quot;libvorbis-X.X.X\win32\vorbis_static.dsp&amp;quot;&lt;br /&gt;
** Build release &amp;amp; debug &amp;quot;libvorbis-X.X.X\win32\vorbisfile_static.dsp&amp;quot;&lt;br /&gt;
** Build release &amp;amp; debug &amp;quot;libvorbis-X.X.X\win32\vorbisenc_static.dsp&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-X.X.X\include\vorbis\codec.h&amp;quot; to &amp;quot;libraries\include\vorbis&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-X.X.X\include\vorbis\vorbisfile.h&amp;quot; to &amp;quot;libraries\include\vorbis&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-X.X.X\include\vorbis\vorbisenc.h&amp;quot; to &amp;quot;libraries\include\vorbis&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\Vorbis_Static_Release\vorbis_static.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\VorbisEnc_Static_Release\vorbisenc_static.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\VorbisFile_Static_Release\vorbisfile_static.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\Vorbis_Static_Debug\vorbis_static_d.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\vorbis_static.lib&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\VorbisEnc_Static_Debug\vorbisenc_static_d.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\vorbisenc_static.lib&amp;quot;&lt;br /&gt;
** copy &amp;quot;libvorbis-1.1.2\win32\VorbisFile_Static_Debug\vorbisfile_static_d.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug\vorbisfile_static.lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= JPEGlib =&lt;br /&gt;
* Download &amp;amp; extract [http://www.ijg.org/ jpeglib] - download the file &#039;jpegsrc.v6b.tar.gz&#039;.&lt;br /&gt;
* Copy &amp;quot;jpegsr6\jpeg-6b\makefile.vc&amp;quot; to the file &amp;quot;jpegsr6\jpeg-6b\Makefile&amp;quot;&lt;br /&gt;
* Copy &amp;quot;jpegsr6\jpeg-6b\jconfig.vc&amp;quot; to &amp;quot;jpegsr6\jpeg-6b\jconfig.h&amp;quot;&lt;br /&gt;
* At the command prompt:&lt;br /&gt;
** &amp;quot;C:\Program Files\Microsoft Visual Studio .net 2003\Common7\Tools\vsvars32.bat&amp;quot;&lt;br /&gt;
** cd %ZLIB_FOLDER%&lt;br /&gt;
** nmake -f Makefile&lt;br /&gt;
* copy &amp;quot;jconfig.h&amp;quot;, &amp;quot;jerror.h&amp;quot;, &amp;quot;jmorecfg.h&amp;quot;, &amp;quot;jpeglib.h&amp;quot;, and &amp;quot;jinclude.h&amp;quot; from * to &amp;quot;libraries\include\jpeglib&amp;quot;&lt;br /&gt;
* copy &amp;quot;jpegsr6\jpeg-6b\libjpeg.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
* copy &amp;quot;jpegsr6\jpeg-6b\libjpeg.lib&amp;quot; to &amp;quot;libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* [[Patch jpeglib]]&lt;br /&gt;
&lt;br /&gt;
= OpenJPEG =&lt;br /&gt;
* Download and extract [http://www.openjpeg.org/index.php?menu=download openjpeg for win32].&lt;br /&gt;
* Copy &amp;quot;openjpeg10_win32\openjpeg.h&amp;quot; to &amp;quot;&amp;quot;\libraries\include\openjpeg&amp;quot;&lt;br /&gt;
* Copy &amp;quot;openjpeg10_win32\LibOpenJPEG.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;openjpeg10_win32\LibOpenJPEG.lib&amp;quot; to &amp;quot;\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= TUT =&lt;br /&gt;
* Download and extract [http://tut-framework.sourceforge.net/download/ tut]&lt;br /&gt;
* [[Patch TUT]] to add test skipping.&lt;br /&gt;
* Copy &amp;quot;tut.h&amp;quot;, &amp;quot;tut_reporter.h&amp;quot;, and &amp;quot;tut_restartable.h&amp;quot; to &amp;quot;libraries\include\tut&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= LLMozLib =&lt;br /&gt;
These instructions describe how to build the Windows version of LLMozLib for use within the Second Life client. They have been tested using Microsoft Visual Studio 7.1 - apparently, things do work with other versions of the Microsoft compiler but they have not been tried or tested.&lt;br /&gt;
&lt;br /&gt;
LLMozLib currently uses code from the 1.8.0 branch of the Mozilla codebase - similar to what is used in Firefox 1.5. At some point in the future we will switch to the 1.8.1 branch - the one used to build Firefox 2.0.&lt;br /&gt;
&lt;br /&gt;
Get our snapshot llmozlib from the [[source downloads]] page. &lt;br /&gt;
&lt;br /&gt;
The steps required to generate LLMozLib and associated run-time files are:&lt;br /&gt;
&lt;br /&gt;
* Set up your environment for building the Mozilla source code. (these instructions are specific to the Mozilla branch we are using - building the trunk is different)&lt;br /&gt;
&lt;br /&gt;
 http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites_on_the_1.7_and_1.8_Branches&lt;br /&gt;
&lt;br /&gt;
* Checkout the Mozilla source code from their CVS repository. Let&#039;s assume you are using the &amp;lt;code&amp;gt;c:\mozilla&amp;lt;/code&amp;gt; directory to build in.&lt;br /&gt;
  c:&lt;br /&gt;
  cd \&lt;br /&gt;
  export CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot&lt;br /&gt;
  cvs login (the password is &#039;anonymous&#039;)&lt;br /&gt;
  cvs checkout -r FIREFOX_1_5_0_9_RELEASE mozilla/client.mk&lt;br /&gt;
  cd c:\mozilla&lt;br /&gt;
  make -f client.mk checkout MOZ_CO_PROJECT=xulrunner&lt;br /&gt;
&lt;br /&gt;
:; Note : the CVS tag will change as Mozilla release updates. Version 1.5.0.9 is current as of writing.&lt;br /&gt;
&lt;br /&gt;
* Apply a patch which enables certain features that are required for the Second Life client.&lt;br /&gt;
&lt;br /&gt;
:The patch can be found in the llmozlib &amp;lt;code&amp;gt;build_mozilla&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
:Copy the patch into the directory where you are building Mozilla and apply the patch:&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt; linden_updates.patch&lt;br /&gt;
&lt;br /&gt;
* Build optimized (release) and debug versions of a XULRunner configuration of the Mozilla codebase.&lt;br /&gt;
&lt;br /&gt;
:The &amp;lt;code&amp;gt;build_mozilla&amp;lt;/code&amp;gt; directory contains 2 Mozilla configuration files - one for a debug build and one for an optimized build.&lt;br /&gt;
&lt;br /&gt;
:Copy both files into the directory where you are building Mozilla and then:&lt;br /&gt;
&lt;br /&gt;
 copy .mozconfig.debug .mozconfig&lt;br /&gt;
 make -f client.mk build&lt;br /&gt;
&lt;br /&gt;
 copy .mozconfig.optimized .mozconfig&lt;br /&gt;
 make -f client.mk build&lt;br /&gt;
&lt;br /&gt;
* Copy a subset of the header files and libraries you built into the LLMozLib tree&lt;br /&gt;
&lt;br /&gt;
:There is a batch file in the LLMozLib directory to help you.&lt;br /&gt;
&lt;br /&gt;
:You may need to edit the paths at the top if your Mozilla source directory is different.&lt;br /&gt;
&lt;br /&gt;
 copy_products_windows.bat&lt;br /&gt;
&lt;br /&gt;
* Build LLMozLib using Microsoft Visual Studio 7.1&lt;br /&gt;
&lt;br /&gt;
:Open the LLMozLib solution file &amp;lt;code&amp;gt;llmozlib.sln&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:Build the Debug and Release configurations in the normal fashion.&lt;br /&gt;
&lt;br /&gt;
* Copy the LLMozLib files to the Second Life client branch&lt;br /&gt;
&lt;br /&gt;
:There is a batch file in the LLMozLib directory to help you.&lt;br /&gt;
&lt;br /&gt;
:You may need to edit the paths at the top if your Second Life client directory is different.&lt;br /&gt;
&lt;br /&gt;
 copy_llmozlib_to_branch.bat&lt;br /&gt;
&lt;br /&gt;
* That completes the LLMozLib build - the files that are copied (relative to the Second Life client directory) are:&lt;br /&gt;
&lt;br /&gt;
 Header file (llmozlib.h) in libraries\include\&lt;br /&gt;
&lt;br /&gt;
 Static library (llmozlib.lib) (debug) in libraries\i686-win32\lib_debug\&lt;br /&gt;
 Static library (llmozlib.lib) (release) in libraries\i686-win32\lib_release\&lt;br /&gt;
&lt;br /&gt;
 Runtime DLLs (debug) in libraries\i686-win32\lib_debug\&lt;br /&gt;
 Runtime DLLs (release) in libraries\i686-win32\lib_release\&lt;br /&gt;
&lt;br /&gt;
 Runtime misc files (debug) in indra\newview\app_settings\mozilla_debug\&lt;br /&gt;
 Runtime misc files (release) in indra\newview\app_settings\mozilla_release\&lt;/div&gt;</summary>
		<author><name>Zoltan Freundlich</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=65976</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=65976"/>
		<updated>2008-05-04T16:08:48Z</updated>

		<summary type="html">&lt;p&gt;Zoltan Freundlich: /* Cannot open include file: &amp;#039;windows.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;
== A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; ==&lt;br /&gt;
* &#039;&#039;lscript_compile_fb error PRJ0019: A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One possible reason for this is that Visual Studio does not know where cygwin/bin is, especially if this is accompanied by an error relating to bison.exe being an invalid command.  Even if the directory for cygwin is in the environment variable PATH, Visual Studio maintains its own separate copy which does not seem to be automatically synchronized after the initial installation.&lt;br /&gt;
&lt;br /&gt;
For Visual Studio .NET 2003, go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories.  In the &amp;quot;show directories for&amp;quot; dropdown, choose &amp;quot;Executable files&amp;quot;.  Make sure that your cygwin (default C:\cygwin\bin) and ActivePython (default C:\Python25) directories are listed.&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;
[[LearCale]] -- as of 1.19, these appear to need to be in linden/libraries/include/GL .&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;
You might need to edit the above path to refer to your particular platform SDK.  If you don&#039;t have the Microsoft Windows Platform SDK installed, then you can download it for free from Microsoft.  It is version specific and can be tricky to find on their website.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re having problems with windows.h in Visual Studio Express 2005, check out this forum post:&lt;br /&gt;
[http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1995837&amp;amp;SiteID=1 MSDN Forum Post]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&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;
* g++-3.4 -o linux_crash_logger/linux-crash-logger-i686-bin-globalsyms --no-keep-memory --reduce-memory-overheads /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/llcrashlogger/llcrashlogger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/linux_crash_logger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/llcrashloggerlinux.o -Llib_release_client/i686-linux -L/home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client -lllui -lllxml -lllmessage -lllvfs -lllmath -lllcommon -lcurl -lssl -lcrypto -laprutil-1 -lapr-1 -lcares -lexpat -ldb-4.2 -lgtk-x11-2.0&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcurl.a when searching for -lcurl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libssl.so when searching for -lssl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcrypto.so when searching for -lcrypto&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libaprutil-1.so when searching for -laprutil-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libapr-1.so when searching for -lapr-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcares.a when searching for -lcares&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libexpat.so when searching for -lexpat&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libdb-4.2.so when searching for -ldb-4.2&lt;br /&gt;
/usr/bin/ld: cannot find -ldb-4.2&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ pacman -Q db&lt;br /&gt;
db 4.6.21-2&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ uname -a&lt;br /&gt;
Linux myhost 2.6.23-ARCH #1 SMP PREEMPT Tue Jan 15 07:17:51 CET 2008 x86_64 Intel(R) Celeron(R) CPU 2.66GHz GenuineIntel GNU/Linux&lt;br /&gt;
&lt;br /&gt;
And using:&lt;br /&gt;
source=(&#039;secondlife.desktop&#039; &#039;secondlife.install&#039; &#039;secondlife.launcher&#039; \&lt;br /&gt;
&amp;quot;http://secondlife.com/developers/opensource/downloads/2008/01/slviewer-src-RC-${pkgver}.tar.gz&amp;quot; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-artwork-RC-1.18.6.2.zip&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-linux-libs-RC-1.18.6.2.tar.gz&#039; \&lt;br /&gt;
&#039;http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/llmozlib-src-20071221.tar.gz&#039;)&lt;br /&gt;
&lt;br /&gt;
Hum ok, I was trying to use:&lt;br /&gt;
scons DISTCC=no BTARGET=client BUILD=release MOZLIB=yes&lt;br /&gt;
&lt;br /&gt;
I&#039;ll retry with:&lt;br /&gt;
scons BUILD=release ARCH=x86_64 BTARGET=client DISTCC=no MOZLIB=yes FMOD=yes GSTREAMER=yes STANDALONE=yes&lt;br /&gt;
(Sconstruct says that with STANDALONE=yes -db-4.2 will not be used)&lt;br /&gt;
&lt;br /&gt;
But at the beginning I get:&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
Building client 1.18.6.2 on x86_64-linux (release)&lt;br /&gt;
No CCACHE_DIR set.&lt;br /&gt;
&lt;br /&gt;
scons: warning: Two different environments were specified for target /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llcrashlogger/llcrashlogger.o,&lt;br /&gt;
	but they appear to have the same action: $CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES&lt;br /&gt;
File &amp;quot;/home/paul/builds/secondlife/src/linden/indra/SConstruct&amp;quot;, line 568, in create_executable&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
scons: Building targets ...&lt;br /&gt;
&lt;br /&gt;
well, the new scons line give different problem:&lt;br /&gt;
g++ -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_STANDALONE -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/SDL -I/usr/include/apr-1 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp&lt;br /&gt;
cc1plus: warnings being treated as errors&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp: In function &#039;const char* OrderToString(LLQuaternion::Order)&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:701: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:704: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:707: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:710: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:713: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:716: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
scons: *** [/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o] Error 1&lt;br /&gt;
scons: building terminated because of errors.&lt;br /&gt;
&lt;br /&gt;
Well, STANDALONE=yes make it use g++ rather than g++-3.4, so I decided to remove it, keeping&lt;br /&gt;
ARCH=X86_64 and others, but I get:&lt;br /&gt;
ranlib lib_release_client/x86_64-linux/libllprimitive.a&lt;br /&gt;
g++-3.4 -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/ELFIO -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/atk-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gtk-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/llfreetype2 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/pango-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:41:44: llfreetype2/freetype/ft2build.h: No such file or directory&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:56: error: `FT_Render_Mode&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:60: error: `FT_Library&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp: In constructor `LLFontManager::LLFontManager()&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:78: error: `gFTLibrary&#039; was not declared in this scope&lt;br /&gt;
... [many more errors]&lt;br /&gt;
&lt;br /&gt;
oh well, SConstruct says I need: cairo glib-2.0 atk gmobile-2.0 gdk-2.0 gdk-pixbuf-2.0 pango pangoft2 pangox pangoxft gtk+-2.0 sdl vorbis vorbisenc vorbisfile&lt;br /&gt;
&lt;br /&gt;
Maybe this is pangoft2 that is missing.&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>Zoltan Freundlich</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=65925</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=65925"/>
		<updated>2008-05-03T17:58:22Z</updated>

		<summary type="html">&lt;p&gt;Zoltan Freundlich: /* Cannot open include file: &amp;#039;windows.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;
== A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; ==&lt;br /&gt;
* &#039;&#039;lscript_compile_fb error PRJ0019: A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One possible reason for this is that Visual Studio does not know where cygwin/bin is, especially if this is accompanied by an error relating to bison.exe being an invalid command.  Even if the directory for cygwin is in the environment variable PATH, Visual Studio maintains its own separate copy which does not seem to be automatically synchronized after the initial installation.&lt;br /&gt;
&lt;br /&gt;
For Visual Studio .NET 2003, go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories.  In the &amp;quot;show directories for&amp;quot; dropdown, choose &amp;quot;Executable files&amp;quot;.  Make sure that your cygwin (default C:\cygwin\bin) and ActivePython (default C:\Python25) directories are listed.&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;
[[LearCale]] -- as of 1.19, these appear to need to be in linden/libraries/include/GL .&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;
(You might need to edit the above path to refer to your particular platform SDK.  If you don&#039;t have the Microsoft Windows Platform SDK installed, then you can download it for free from Microsoft.  It is version specific and can be tricky to find on their website.)  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&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;
* g++-3.4 -o linux_crash_logger/linux-crash-logger-i686-bin-globalsyms --no-keep-memory --reduce-memory-overheads /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/llcrashlogger/llcrashlogger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/linux_crash_logger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/llcrashloggerlinux.o -Llib_release_client/i686-linux -L/home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client -lllui -lllxml -lllmessage -lllvfs -lllmath -lllcommon -lcurl -lssl -lcrypto -laprutil-1 -lapr-1 -lcares -lexpat -ldb-4.2 -lgtk-x11-2.0&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcurl.a when searching for -lcurl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libssl.so when searching for -lssl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcrypto.so when searching for -lcrypto&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libaprutil-1.so when searching for -laprutil-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libapr-1.so when searching for -lapr-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcares.a when searching for -lcares&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libexpat.so when searching for -lexpat&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libdb-4.2.so when searching for -ldb-4.2&lt;br /&gt;
/usr/bin/ld: cannot find -ldb-4.2&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ pacman -Q db&lt;br /&gt;
db 4.6.21-2&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ uname -a&lt;br /&gt;
Linux myhost 2.6.23-ARCH #1 SMP PREEMPT Tue Jan 15 07:17:51 CET 2008 x86_64 Intel(R) Celeron(R) CPU 2.66GHz GenuineIntel GNU/Linux&lt;br /&gt;
&lt;br /&gt;
And using:&lt;br /&gt;
source=(&#039;secondlife.desktop&#039; &#039;secondlife.install&#039; &#039;secondlife.launcher&#039; \&lt;br /&gt;
&amp;quot;http://secondlife.com/developers/opensource/downloads/2008/01/slviewer-src-RC-${pkgver}.tar.gz&amp;quot; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-artwork-RC-1.18.6.2.zip&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-linux-libs-RC-1.18.6.2.tar.gz&#039; \&lt;br /&gt;
&#039;http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/llmozlib-src-20071221.tar.gz&#039;)&lt;br /&gt;
&lt;br /&gt;
Hum ok, I was trying to use:&lt;br /&gt;
scons DISTCC=no BTARGET=client BUILD=release MOZLIB=yes&lt;br /&gt;
&lt;br /&gt;
I&#039;ll retry with:&lt;br /&gt;
scons BUILD=release ARCH=x86_64 BTARGET=client DISTCC=no MOZLIB=yes FMOD=yes GSTREAMER=yes STANDALONE=yes&lt;br /&gt;
(Sconstruct says that with STANDALONE=yes -db-4.2 will not be used)&lt;br /&gt;
&lt;br /&gt;
But at the beginning I get:&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
Building client 1.18.6.2 on x86_64-linux (release)&lt;br /&gt;
No CCACHE_DIR set.&lt;br /&gt;
&lt;br /&gt;
scons: warning: Two different environments were specified for target /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llcrashlogger/llcrashlogger.o,&lt;br /&gt;
	but they appear to have the same action: $CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES&lt;br /&gt;
File &amp;quot;/home/paul/builds/secondlife/src/linden/indra/SConstruct&amp;quot;, line 568, in create_executable&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
scons: Building targets ...&lt;br /&gt;
&lt;br /&gt;
well, the new scons line give different problem:&lt;br /&gt;
g++ -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_STANDALONE -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/SDL -I/usr/include/apr-1 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp&lt;br /&gt;
cc1plus: warnings being treated as errors&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp: In function &#039;const char* OrderToString(LLQuaternion::Order)&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:701: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:704: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:707: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:710: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:713: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:716: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
scons: *** [/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o] Error 1&lt;br /&gt;
scons: building terminated because of errors.&lt;br /&gt;
&lt;br /&gt;
Well, STANDALONE=yes make it use g++ rather than g++-3.4, so I decided to remove it, keeping&lt;br /&gt;
ARCH=X86_64 and others, but I get:&lt;br /&gt;
ranlib lib_release_client/x86_64-linux/libllprimitive.a&lt;br /&gt;
g++-3.4 -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/ELFIO -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/atk-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gtk-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/llfreetype2 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/pango-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:41:44: llfreetype2/freetype/ft2build.h: No such file or directory&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:56: error: `FT_Render_Mode&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:60: error: `FT_Library&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp: In constructor `LLFontManager::LLFontManager()&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:78: error: `gFTLibrary&#039; was not declared in this scope&lt;br /&gt;
... [many more errors]&lt;br /&gt;
&lt;br /&gt;
oh well, SConstruct says I need: cairo glib-2.0 atk gmobile-2.0 gdk-2.0 gdk-pixbuf-2.0 pango pangoft2 pangox pangoxft gtk+-2.0 sdl vorbis vorbisenc vorbisfile&lt;br /&gt;
&lt;br /&gt;
Maybe this is pangoft2 that is missing.&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>Zoltan Freundlich</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2005)&amp;diff=65916</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=65916"/>
		<updated>2008-05-03T15:33:23Z</updated>

		<summary type="html">&lt;p&gt;Zoltan Freundlich: /* Getting other Development Tools */&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;
&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>Zoltan Freundlich</name></author>
	</entry>
</feed>