Difference between revisions of "User talk:Bubblesort Triskaidekaphobia"
Line 17: | Line 17: | ||
had with it. | had with it. | ||
Download Express | I'm running Windows Vista Ultimate x86 on a dual proc 5200+ 64 bit AMD, 3 GB of RAM and an NVIDIA GEFORCE 6150SE nForce 430 video card. | ||
Download Express: | |||
The link to download Visual C++ Express was good, but the install failed multiple times when I tried to install | The link to download Visual C++ Express was good, but the install failed multiple times when I tried to install |
Revision as of 23:02, 5 November 2009
I build and script and run my university's sim. Recently I compiled a viewer, but I barely know enough to code a hello, world program in C++. Compiling is not simple or easy for a beginner. I took a lot of notes on my experience and I'm pasting them here. I'll work on the document and clean it up until it's readable and then I plan to go and edit the appropriate wiki pages so that they are more helpful. I'm posting and editing this publicly for the world to see because it might help somebody, even if it isn't polished. Bubblesort Triskaidekaphobia 06:41, 6 November 2009 (UTC)
Raw Log of my Compiling Experience:
I started out by going to the official secondlife wiki and following the directions to download and install
Visual Studio 2005 Express. Here is the link to the instructions I'm following:
http://wiki.secondlife.com/wiki/Microsoft_Visual_Studio
Here is how it went. I list the heading the instructions in quesiton are under and then write about problems I
had with it.
I'm running Windows Vista Ultimate x86 on a dual proc 5200+ 64 bit AMD, 3 GB of RAM and an NVIDIA GEFORCE 6150SE nForce 430 video card.
Download Express:
The link to download Visual C++ Express was good, but the install failed multiple times when I tried to install
SQL server. I've had problems with SQL installs before when working on other projects, and I decided that SQL
is probably not important to the task at hand, so I just ran the install without the SQL and it installed fine.
The service pack links on the wiki page were not good. They downloaded the service packs ok, but when I ran
them they could not detect Visual C++.
I got the service packs by running windows update about 3 or 4 times, rebooting each time.
Install Microsoft Platform & Direct X SDKs:
These downloaded and installed fine.
Setup the project globals:
The site does not specify where the globals are located, so I did my best with what I had. I needed to set up
includes and libraries paths to include the following things in the following order:
1. Platform SDK paths $(VCInstallDir)PlatformSDK\include was already listed, but just to make sure I added C:\Program
Files\Microsoft SDKs\Windows\v6.1\Lib to the line right after it.
2. DirectX SDK paths I added C:\Program Files\Microsoft DirectX SDK (August 2008)\Lib\x86
3. Visual C++ Paths I added C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Lib and C:\Program Files\Microsoft Visual
Studio 8\VC\lib
Also, C:\cygwin\bin and c:\python26 directories are under executable files and moved to the bottom of the list.
Note: The instructions on this page say to use ActivePython, but the rest of the instructions say that regular
python will work also. I decided to stick with ActivePython because it will be required when I go to reinstall
Blender (I haven't re-installed Blender yet since my last backup and format, but I know in the future I will
need it). Also, the web page says to put C:\python25 but I only have C:\python26, so I used that.
Note: I forgot to add to the libraries globals the firs time around. I'm fixing that now though.
From here I went to the Microsoft Windows Builds page on the wiki.
http://wiki.secondlife.com/wiki/Microsoft_Windows_Builds
Getting other Development Tools:
Cmake, Cygwin, Python, the Windows Platform SDK and DirectX 9.0 all installed fine. I was careful to follow all
instructions, but some instructions were outdated.
Cmake: I am using CMake 2.6.4, but when the page was written the latest version was 2.6.2.
Cygwin: The install went smooth. I made sure to install patchutils, flex and bison during the install.
Python: It says that if I am using a python version newer than 2.5 I might have to change the python.cmake
file. I haven't done that yet. That might be a problem.
Windows Platform SDK: Installed smooth.
DirectX 9.0: Installed smooth.
What the heck is a PATH?
The instructions say to make sure that Cygwin, CMake and Python are in the windows "PATH". I had no idea what
this means, but the friendly nerds in my SL groups helped me find it when I got to the "Building with CMake"
section and the build started failing.
PATH is a variable in the system variables section of the Environment Variables window. You can find Enviroment
Variables in Control Panel > System > Advanced System Settings > Advanced Tab > Environment Variables button.
I scrolled down the bottom list of variables until I got to the path variable. I selected path, hit edit and
added the following string to the end of what was already in there:
- C
- \Python26;C:\cygwin\bin;C:\Program Files\CMake 2.6\bin
This made the full path variable look like this:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0
\;C:\Program Files\QuickTime\QTSystem\;C:\Python26;C:\cygwin\bin;C:\Program Files\CMake 2.6\bin
Downloading Source Code:
I downloaded the source code and extracted it all on the C drive with a path C:\Source, so each source code file
has it's own folder within Source. I have the following paths now: C:\Source\slviewer-1.23.5 C:\Source\slviewer-art-1.23.5 C:\Source\slviewer-libs-1.23.5
Proprietary Libraries:
Fmod downloaded and installed fine. I put it in the C:\Source directory, so now I have C:\Source\Fmod
Quicktime installed fine. I have it in it's default install directory, at c:\Program Files\QuickTime SDK
I also made a Library file in C:\Source, at C:\Source\Proprietary This is where I made the tree of files I will
then move to the c:\Source\slviewer-1.23.5 tree.
The first time I did this I put fmodvx.lib in lib_release and lib_debug rather than lib\release and lib\debug by
mistake. I also put QTMLClient.lib in lib_release and lib_debug instead of lib\release and lib\debug by
mistake.
I know, maybe I should have read more carefully, but I think the web page documentation would be easier to
follow if the parenthetical section had a seperate heading for "Using CMake" and for "not using CMake". To be
honest, I don't know why they include options for not using CMake, because if somebody is using this web page
they are probably, like me, a noob and don't know how to build without CMake anyway.
Building with CMake:
This is where I'm stuck now.
At first I made the mistake of going to start > run and typed "command" to get to a command prompt. This was a
mistake because "command" can not work with long file names, and I need to work with long file names to navigate
to where I need to be. I ran "cmd" instead and then everything started working right.
Then I could not figure out how to get this to work because my PATH variables were not set. "python" returned
an invalid command error. It took me all day to try to troubleshoot it on my own but and finally I found a
group that helped me out (thanks, AW Groupies!). Now python runs from a command prompt but I get errors when I try to build.
The wiki documentation says to use quotes on the build command but when I do that I get the error that what I
typed is not recognized as an internal or external command, operable progam or batch file. It tries to run when
I do it without the quotes though.
Here is the output I get now:
C:\Source\slviewer-1.23.5\linden\indra>python develop.py -G VC80 Running 'cmake -G "Visual Studio 8 2005" -DSTANDALONE:BOOL=OFF -DUNATTENDED:BOOL =OFF -DROOT_PROJECT_NAME:STRING=SecondLife "" "C:\\Source\\slviewer-1.23.5\\lind en\\indra"' in 'build-VC80' -- Check for working C compiler: cl -- Check for working C compiler: cl -- broken CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeTestCComp iler.cmake:32 (MESSAGE):
The C compiler "cl" is not able to compile a simple test program.
It fails with the following output:
Change Dir: C:/Source/slviewer-1.23.5/linden/indra/build-VC80/CMakeFiles/CMak
eTmp
Run Build Command:C:\PROGRA~1\MICROS~4\Common7\IDE\VCExpress.exe CMAKE_TRY_COMPILE.sln /build Debug /project cmTryCompileExec
Microsoft (R) Visual C++ Express Edition Version 8.0.50727.867.
Copyright (C) Microsoft Corp 1984-2005. All rights reserved.
1>------ Build started: Project: cmTryCompileExec, Configuration: Debug Win32 ------
1>Compiling...
1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>cl /Od /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "CMAKE_INTDIR=\"Debug\"" /D "_MBCS" /FD /RTC1 /MDd /Fo"cmTryCompileExec.dir\Debug\\" /Fd"C:/Source/slviewer-1.23.5/linden/indra/build-VC80/CMakeFiles/CMakeTmp/Debu
g/cmTryCompileExec.pdb"
/W3 /c /Zi /TC /Zm1000
1> ".\testCCompiler.c"
1>testCCompiler.c
1>Compiling manifest to resources...
1>Linking...
1>LINK : fatal error LNK1104: cannot open file 'user32.lib'
1>Build log was saved at "file://c:\Source\slviewer-1.23.5\linden\indra\build-VC80\CMakeFiles\CMakeTmp\
cmTryCompileExec.dir\Debug\BuildLog.htm"
1>cmTryCompileExec - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:17 (project)
-- Configuring incomplete, errors occurred!
Cleaning 'build-VC80'
Error: the command 'cmake' exited with status 1
So, I see two errors in this output that bother me.
1. -- Check for working C compiler: cl -- broken CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeTestCComp iler.cmake:32 (MESSAGE):
The C compiler "cl" is not able to compile a simple test program.
2. 1>LINK : fatal error LNK1104: cannot open file 'user32.lib'
I checked my CMake to make sure it was configured to find Visual C++. I opened the CMake GUI and went to Tools
> Configure. I selected Visual Studio 8 2005 from the drop down and left it set to use default native compilers
and clicked Finish and got a window with the following error message: "Error in configuration process, project
files may be invalid". I clicked OK to close the error, closed the GUI and re-installed CMake from the file I
installed it from earlier. I'm still getting the same problem.
The first error above might give me a clue as to what needs to be done. After the error it says:
It fails with the following output:
Change Dir: C:/Source/slviewer-1.23.5/linden/indra/build-VC80/CMakeFiles/CMak
eTmp
Run Build Command:C:\PROGRA~1\MICROS~4\Common7\IDE\VCExpress.exe CMAKE_TRY_COMPILE.sln /build Debug /project cmTryCompileExec
Now I need to figure out how to run build commands.
My first guess is to cd C:/Source/slviewer-1.23.5/linden/indra/build-VC80/CMakeFiles/CMakeTmp and then type
build C:\PROGRA~1\MICROS~4\Common7\IDE\VCExpress.exe and then type CMAKE_TRY_COMPILE.sln /build Debug /project
cmTryCompileExec
Lets see how this works:
C:\Source\slviewer-1.23.5\linden\indra>cd C:/Source/slviewer-1.23.5/linden/indra /build-VC80/CMakeFiles/CMakeTmp The system cannot find the path specified.
The file can not be found because at the end of the failed build CMake deleted the VC80 file, as can be seen
here:
Cleaning 'build-VC80'
So I tried just running the build command from where I am:
C:\Source\slviewer-1.23.5\linden\indra>build C:\PROGRA~1\MICROS~4\Common7\IDE\VCExpress.exe 'build' is not recognized as an internal or external command, operable program or batch file.
That didn't go so well.
Lets just run the executable and see what happens. It will probably just open up Visual C++ for me.
I was right, it just opened up Visual C++. Maybe the build will work when I try to build with Visual C++
running in the background.
It almost worked! I have python and Visual C++ running in the background ATM, and when I tried to build I got
the following output:
C:\Source\slviewer-1.23.5\linden\indra>python develop.py -G VC80 Running 'cmake -G "Visual Studio 8 2005" -DSTANDALONE:BOOL=OFF -DUNATTENDED:BOOL =OFF -DROOT_PROJECT_NAME:STRING=SecondLife "" "C:\\Source\\slviewer-1.23.5\\lind en\\indra"' in 'build-VC80' -- Check for working C compiler: cl -- Check for working C compiler: cl -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: cl -- Check for working CXX compiler: cl -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ogg-vor bis-1.1.3-1.2.0-windows-20080723.tar.bz2 to local file c:\users\bubble~1\appdata \local\temp\install.cache.bubblesort\ogg-vorbis-1.1.3-1.2.0-windows-20080723.tar .bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\ogg-vor bis-1.1.3-1.2.0-windows-20080723.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml -- Building with FMOD audio support install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/apr_sui te-1.2.12-windows-20080806.tar.bz2 to local file c:\users\bubble~1\appdata\local \temp\install.cache.bubblesort\apr_suite-1.2.12-windows-20080806.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\apr_sui te-1.2.12-windows-20080806.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1 .34.1-windows-20080723.tar.bz2 to local file c:\users\bubble~1\appdata\local\tem p\install.cache.bubblesort\boost-1.34.1-windows-20080723.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\boost-1 .34.1-windows-20080723.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/expat-1 .95.8-windows-20080715.tar.bz2 to local file c:\users\bubble~1\appdata\local\tem p\install.cache.bubblesort\expat-1.95.8-windows-20080715.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\expat-1 .95.8-windows-20080715.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/zlib-1. 2.3-windows-20080723.tar.bz2 to local file c:\users\bubble~1\appdata\local\temp\ install.cache.bubblesort\zlib-1.2.3-windows-20080723.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\zlib-1. 2.3-windows-20080723.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ares-1. 4.0-windows-20080723.tar.bz2 to local file c:\users\bubble~1\appdata\local\temp\ install.cache.bubblesort\ares-1.4.0-windows-20080723.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\ares-1. 4.0-windows-20080723.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/curl-7. 18.1-windows-20080723.tar.bz2 to local file c:\users\bubble~1\appdata\local\temp \install.cache.bubblesort\curl-7.18.1-windows-20080723.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\curl-7. 18.1-windows-20080723.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openSSL -0.9.8j-windows-20090129.tar.bz2 to local file c:\users\bubble~1\appdata\local\t emp\install.cache.bubblesort\openSSL-0.9.8j-windows-20090129.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\openSSL -0.9.8j-windows-20090129.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/xmlrpc- epi-0.51-windows-20080723.tar.bz2 to local file c:\users\bubble~1\appdata\local\ temp\install.cache.bubblesort\xmlrpc-epi-0.51-windows-20080723.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\xmlrpc- epi-0.51-windows-20080723.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/jpeglib -6b-windows-20080723.tar.bz2 to local file c:\users\bubble~1\appdata\local\temp\ install.cache.bubblesort\jpeglib-6b-windows-20080723.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\jpeglib -6b-windows-20080723.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libpng- 1.2.35-windows-20090306.tar.bz2 to local file c:\users\bubble~1\appdata\local\te mp\install.cache.bubblesort\libpng-1.2.35-windows-20090306.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\libpng- 1.2.35-windows-20090306.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openjpe g-1.3-windows-20090407.tar.bz2 to local file c:\users\bubble~1\appdata\local\tem p\install.cache.bubblesort\openjpeg-1.3-windows-20090407.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\openjpe g-1.3-windows-20090407.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/GL-wind ows-20080613.tar.bz2 to local file c:\users\bubble~1\appdata\local\temp\install. cache.bubblesort\GL-windows-20080613.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\GL-wind ows-20080613.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glh_lin ear-windows-20080613.tar.bz2 to local file c:\users\bubble~1\appdata\local\temp\ install.cache.bubblesort\glh_linear-windows-20080613.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\glh_lin ear-windows-20080613.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/SDL-1.2 .5-windows-20080613.tar.bz2 to local file c:\users\bubble~1\appdata\local\temp\i nstall.cache.bubblesort\SDL-1.2.5-windows-20080613.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\SDL-1.2 .5-windows-20080613.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/mesa-7. 0-windows-20080613.tar.bz2 to local file c:\users\bubble~1\appdata\local\temp\in stall.cache.bubblesort\mesa-7.0-windows-20080613.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\mesa-7. 0-windows-20080613.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llmozli b-windows-20090306.tar.bz2 to local file c:\users\bubble~1\appdata\local\temp\in stall.cache.bubblesort\llmozlib-windows-20090306.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\llmozli b-windows-20090306.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/tut-200 8-11-30-common-20081208.tar.bz2 to local file c:\users\bubble~1\appdata\local\te mp\install.cache.bubblesort\tut-2008-11-30-common-20081208.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\tut-200 8-11-30-common-20081208.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/freetyp e-2.1.5-windows-20080822.tar.bz2 to local file c:\users\bubble~1\appdata\local\t emp\install.cache.bubblesort\freetype-2.1.5-windows-20080822.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\freetyp e-2.1.5-windows-20080822.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/gtk-atk -pango-glib-windows-20080613.tar.bz2 to local file c:\users\bubble~1\appdata\loc al\temp\install.cache.bubblesort\gtk-atk-pango-glib-windows-20080613.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\gtk-atk -pango-glib-windows-20080613.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml -- Building with FMOD audio support install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ndofdev -windows-20080723.tar.bz2 to local file c:\users\bubble~1\appdata\local\temp\ins tall.cache.bubblesort\ndofdev-windows-20080723.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\ndofdev -windows-20080723.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
Downloading http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/vivox-2 .1.3010.6270-windows-20090309.tar.bz2 to local file c:\users\bubble~1\appdata\lo cal\temp\install.cache.bubblesort\vivox-2.1.3010.6270-windows-20090309.tar.bz2 Extracting c:\users\bubble~1\appdata\local\temp\install.cache.bubblesort\vivox-2 .1.3010.6270-windows-20090309.tar.bz2 to C:\Source\slviewer-1.23.5\linden Writing state to C:\Source\slviewer-1.23.5\linden\installed.xml install.py:67: DeprecationWarning: the md5 module is deprecated; use hashlib ins tead
import md5
install.py:78: DeprecationWarning: the sets module is deprecated
from sets import Set as set, ImmutableSet as frozenset
-- Version of viewer is 1.23.5.136262 -- Configuring done CMake Error in newview/CMakeLists.txt:
Cannot find source file "arrow.cur". Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx
-- Build files have been written to: C:/Source/slviewer-1.23.5/linden/indra/buil
d-VC80
Cleaning 'build-VC80'
Error: the command 'cmake' exited with status 1
C:\Source\slviewer-1.23.5\linden\indra>
I'm not sure what this all means. I'm going to guess the depreciation warnings are not important, so I'll focus
on this part:
CMake Error in newview/CMakeLists.txt:
Cannot find source file "arrow.cur". Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx
Earlier I noticed in the wiki page that I need to edit my python.cmake file, but I have not done that yet. Lets
go to the CMake discussion page and see what needs to be done:
http://wiki.secondlife.com/wiki/Talk:CMake#CMake_and_Python_2.6
The page says to add the line [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.6\\InstallPath] to the list
of paths near the top of the script. It is already added, though. The wiki should be changed to remove this
instruction, from the main page, since the script is now fixed and does not need to be altered. The talk page
even reflects this change:
"...saw your Python 2.6 tweak, and nudged the dev team to pick up the change, so that it should work in the
future without needing that edit (it'll be in the next trunk rev, and will show up in roughly the 1.23
timeframe)."-- Rob Linden 16:23, 29 October 2008 (UTC)
This still leaves us with a failed build... so where is arrow.cur hiding?
I ran a search on my computer for "arrow" and found an arrow.bmp in C:\Source\slviewer-1.23.5
\linden\indra\newview, and I have a couple of arrow.gif files in \indra\newview\app_settings\mozilla_debug and
\indra\newview\app_settings\mozilla
I also noticed I have an empty file (not folder, but a file that is 0kb in size) called build in my indra
folder. I don't think that was there before.
Maybe my wi-fil failed for a minute during the build. The build was downloading a lot of files. Lets try it
again.
No luck. I got the exact same error, but it came up faster this time because it did not download anything.
I went back and verified that I had moved the Fmod and Quicktime files correctly. They are all OK.
I ran a google search for "Cannot find source file "arrow.cur" and came up with a message on the sldev list at
https://lists.secondlife.com/pipermail/sldev/2009-March/013024.html
It says I need to go to doc/asset_urls.txt and add urls to the artwork and lib files.
That should have been in the wiki page documentation.
Hmmm... there is no asset_urls.txt file in linden/doc. I searched my drive for asset_urls.txt and came up with
nothing.
The most recent time this issue was brought up on sldev eas April 20, 2009, which is about 6 months ago. Back
then this was referred to as an experimental thing. One LL employee dev named Brad King wrote:
> The artwork-common change was made after the easybuild branch spawned > from trunk and it has not been merged. Automatic artwork and libs > downloading is a work-in-progress.
That gives some background on the issue, but not a solution.
I think I have to merge the artwork and library downloads with the source code download. There has to be an
automatic way to do this. Manual merging would be a PITA.
I ran it again and noticed the error is in newview\CMakeLists.txt
Checking CMakeLists.txt now...
In this file, near the middle I found this section of interesting text:
# Add resource files to the project. # viewerRes.rc is the only buildable file, but # the rest are all dependencies of it. set(viewer_RESOURCE_FILES res/arrow.cur res/arrowcop.cur res/arrowcopmulti.cur
A quick text search in notepad shows that this is the only place arrow.cur appears in the document.
I think I need to set viewer_RESOURCE_FILES to something.
OK, I fixed this by asking LordGregGreg Back and he told me to merge the artwork and library files together. I
did this by dragging the contents of the linden folder in the art and the libraries folders to the linden folder
of the source file with the right mouse button and selecting copy. When it asked if I wanted to merge I said
yes and when it asked if I want to replace files I just always said yes, replace the file.
Nowhere on the Wiki does it tell you to merge the files. The wiki just says extract them all to the same
directory. That needs to be fixed.
Trying it again...
It worked! I mean, it gave an error, but LordGregGreg said that is normal because I'm using VS 2005.
The error was:
Editing solution: build-VC80\SecondLife.sln Looking for existing VisualStudio instance...
Didn't find open solution, starting new background VisualStudio instance... Reading .sln file version... Using version: VC80...
Value cannot be null. Parameter name: type Quitting do to error opening: C:\Source\slviewer-1.23.5\linden\indra\build-VC80\ SecondLife.sln
Compiling!
I typed python develop.py build and it can't find VC++. Here is the output:
C:\Source\slviewer-1.23.5\linden\indra>python develop.py build Reading VS environment from HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8 .0\Setup\VS\EnvironmentDirectory SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS Didn't find Visual Studio 8 2005 Reading VS environment from HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9 .0\Setup\VS\EnvironmentDirectory SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS Didn't find Visual Studio 9 2008 Reading VS environment from HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7 .1\Setup\VS\EnvironmentDirectory SOFTWARE\Microsoft\VisualStudio\7.1\Setup\VS Didn't find Visual Studio 7 .NET 2003 Cannot find a Visual Studio installation! Traceback (most recent call last):
File "develop.py", line 751, in <module> main(sys.argv[1:]) File "develop.py", line 730, in main for d in setup.build_dirs(): File "develop.py", line 498, in build_dirs return ['build-' + self.generator] File "develop.py", line 486, in _get_generator eys.exit(1)
NameError: global name 'eys' is not defined
So I closed VC++ and restarted it by running it from the command prompt and got the exact same error.
The other option is to compile it from VC++ directly, so I'm doing that.
I did a file > open > project/solution and opened linden/indra/build-VC80/viewer.vcproj
From the drop down at the top of VC++ I selected RelWithDebInfo, made sure ALL_BUILD is in bold text on the left
(showing it's my startup project), I right clicked ALL_BUILD, went to properties, Configuration Properties,
Debugging and found the Working Directory and navigated to linden\indra\newview and clicked Apply and OK.
I went to build > build solution.
As it builds I notice a lot of fatal errors scroll up :/
It ends with this:
==== Build: 5 succeeded, 19 failed, 1 up-to-date, 2 skipped ====
Not sure if that is good or bad.
I went to Debug > Start Debugging. It said this list of projects are out of date and asked if I want to build
them. I clicked Yes.
llmessage - RelWithDebInfo Win32 llaudio - RelWithDebInfo Win32 llxml - RelWithDebInfo Win32 llwindow - RelWithDebInfo Win32 llvfs - RelWithDebInfo Win32 llui - RelWithDebInfo Win32 llrender - RelWithDebInfo Win32 llprimitive - RelWithDebInfo Win32 llcharacter - RelWithDebInfo Win32 llmedia - RelWithDebInfo Win32 llmath - RelWithDebInfo Win32 llinventory - RelWithDebInfo Win32 llimagej2coj - RelWithDebInfo Win32 llimage - RelWithDebInfo Win32 llcrashlogger - RelWithDebInfo Win32 llcommon - RelWithDebInfo Win32 windows-crash-logger - RelWithDebInfo Win32 secondlife-bin - RelWithDebInfo Win32 windows-updater - RelWithDebInfo Win32
It gave me build errors and a window asking if I want to continue and run the latest good build... I said yes.
Then I need to specify the name of the executable file to be used for the debug session. In the wiki it says
that it can be found in linden\indra\build-VC80\newview\relwithdebinfo\secondlife-bin.exe but the only
executable there is slvoice.exe
fmod.dll wasn't in the relwithdebinfo file so I copied it there from C:\Source\Fmod\fmodapi375win\api
llkdu.dll was not there so I copied it from C:\Program Files\SecondLife
Ok, compiling again...
Build > Build Solution, it runs, giving a bunch of fatal errors, all saying it can not open winsock2.h or
windows.h
it ended with this:
==== Build: 0 succeeded, 19 failed, 6 up-to-date, 2 skipped ====
I'm going to try to debug anyway
Debug > start debugging
Same list of out of date projects. I told them to build them now...
Again, I got the error window. The exact error message reads "There were build errors. Would you like to
continue and run the last successful build?" I click yes and... new dialog: "Please specify the name of the
executable file to be used for the debug session." From the dropdown I hit browse and tried to open secondlife
-bin.exe but it is not in linden\indra\build-VC80\newview\relwithdebinfo
Something is wrong with the build.
I found C:\Source\slviewer-1.23.5\linden\indra\build-VC80\newview\debug\windbgdlg.exe
I'm going to run that and see what it does.
It gave me an error window with the title "windbgdlg.exe - Unable To Locate Component" with the text "This
application has failed to start because MSVCR80D.dll was not found. Re-intalling the application may fix this
problem." I clicked OK.
I closed VC++ and reopened it.
Restarted from scratch, opened the file, checked everything, it looks ready for build so I built and got Build:
0 succeeded again, so I did a Build > Rebuild Solution and am still getting winsock2.h not found and windows.h
not found fatal errors.
Now I got this:
==== Rebuild All: 6 succeeded, 19 failed, 2 skipped ====
That's one more success than I've had before. Maybe it built the .exe
Debug > Start Debugging... got a list of out of date projects, I click yes to build them... the output window
says 0 succeeded, 19 failed, 6 up to date and 1 skipped. The dialog asks if I want to run the latest build
again, I say yes and... I get a dialog:
The title of the dialog is "windbgdlg.exe - Unable to locate Component" and it says "This application has failed
to start because MSVCR80D.dll was not found. Reinstalling the application may fix this problem." I click ok.
It's the same dialog I got before when I tried to run windbgdlg.exe instead of secondlife-bin.exe
secondlife-bin.exe is not in the relwithdebinfo folder.
I check the directions for setting up VC++ again...
This time I look at the screen shots for VS2009 and notice I don't have my dependencies set up right:
http://wiki.secondlife.com/wiki/Compiling_the_Viewer_(MSVS2008)
I removed C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Lib and Visual Studio8\VC\Lib from library and
includes files.
Still getting errors on the build
So I look up windows.h and winsock2.h
windows.h indicates a problem with my incluede and so does winsock2.h
I clean the build and start over
After build I get
==== Build: 6 succeeded, 19 failed, 0 up-to-date, 2 skipped ====
on debug I get more build errors... same problems... and it is still trying to run windbgdlg.exe for some reason
- /
I re-download the Microsoft Platform SDK from http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35
-C656-4969-ACE8-E4C0C0716ADB&displaylang=en#filelist because I found the link on a forum off a link in the
common problems page on the wiki.
Here is a web page on how to include the Microsoft Platform SDK in VC++ 2005:
I added the paths in the web page, closed VC++, updated the corewin_express.vsprops file. When I updated the
file it would not save at first, so I had to go into the security settings of the file and give myself full
control on the file, since I did not have write perms at first.
Restared VC++, opened the viewer project and cleaned the build, got this:
==== Clean: 25 succeeded, 0 failed, 2 skipped ====
Building...
NO ERRORS YET! Still building... building... this is gonna take a while. This was faster when it failed.
Still building... damnit, it's like waiting for porn on a 28.8 connection.
WOOT!
==== Build: 25 succeeded, 0 failed, 0 up-to-date, 2 skipped ====
I debug, and...
IT RUNS! IT'S ALIVE!!!!
Ok, I made a folder in C:\\Program Files\My SecondLife and copied the right files into it, as described here:
http://wiki.secondlife.com/wiki/Talk:Microsoft_Windows_Builds#Running_viewer_outside_of_MS_VC
Copy the contents of your build-vc90/release/* (or debug, or relwithdeb) folder into that one. The only
exceptions are the secondlife-bin.* files aside of the .exe, you don't necessarily need those. Also copy the following files from indra/newview/ there: app_settings character fonts skins all .txt files that include 'feature'
llkdu.dll needs to be grabbed from a plain LL viewer. If you use OpenAL, you might have to rename openal.dll to
openal32.dll, and you might have to manually copy fmod.dll from your /libraries/ folder into the new one.
It opens up and gives me a warning window that says:
"Your system contains a graphics card that is unknown to us at this time. This is often the case with new
hardware we haven't had a chance to test. SecondLife will most likely run properly, but you may need to adjust
your graphics settings to something more appropriate. (Edit menu> Preferences > Graphics)" with a check box for
"Don't show me this again" and a close button.
I hit close and logged in.
==========================================================================================
==========================================================================================
Where I downloaded from:
Visual C++ 2005 Express with SP2: http://download.microsoft.com/download/8/3/a/83aad8f9-38ba-4503-b3cd-ba28c360c27b/ENU/vcsetup.exe
Service Packs for Visual C++ 2005 Express: I ran Windows Update.
Windows SDK for Windows Server 2008 http://www.microsoft.com/downloads/details.aspx?FamilyID=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en
DirectX 9.0 SDK http://www.microsoft.com/downloads/details.aspx?FamilyID=ea4894b5-e98d-44f6-842d-e32147237638&DisplayLang=en
CMake 2.6 patch 4 http://www.cmake.org/files/v2.6/cmake-2.6.4-win32-x86.exe
Cygwin 1.5.25-15 (at least that is what the web site says is the latest version, but I can't find the version
info on the program anywhere) http://www.cygwin.com/setup.exe
Python 2.6.4 http://www.python.org/ftp/python/2.6.4/python-2.6.4.msi
Windows Platform SDK http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en
DirectX 9.0 http://www.microsoft.com/downloads/details.aspx?FamilyID=ea4894b5-e98d-44f6-842d-e32147237638&DisplayLang=en
Source Code: I decided to go with the regular Linden Labs Release 1.23.5 source Code for this, which I got off of the Source
Downloads page at http://wiki.secondlife.com/wiki/Source_downloads
1.23.5.136262.zip
1.23.5.136262.zip
1.23.5.136262.zip
Fmod: http://www.fmod.org/index.php/download
QuickTime: http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/203/wa/getSoftware?
fileID=20525&code=y&source=x&wosid=4h16WcyMtVfd2P1EffGafkoxFcr
Personal note: I hate apple. They require registration to get their stupid API.