This is the text from the MS Word doc of similar name

This commit is contained in:
Dave Schuyler 2004-02-05 00:47:34 +00:00
parent f0964553f5
commit 880f2e74d5

View File

@ -0,0 +1,490 @@
WARNING: This document is an internal VR Studio document describing
how to set up Panda on a new PC using our internal development
environment. It is not useful for programmers who are not within the
VR Studio firewall.
If you are looking for documentation on installing Panda in the rest
of the world, see INSTALL.txt in this directory.
To install Panda3D on WinXP/Win2000
-------------------------------------
Notes:
Lines preceeded by ">" are instructions to be typed on the command line.
Make sure your system clock is not set to GMT (only worry about
this if your makedepend seems out of sync, i.e. you constantly reinstall
old files over more current ones).
"Touch" doesn't quite work properly currently (is this still true?).
Make sure your machine has enough disk space - I'd start with the largest
open space on any of your partitions.
You will have the fewest headaches if you choose C:\ for everything.
Also make sure that youre logged into your computer with the same
username as your unix account because Cygwin will get its USER variable
from the windows username.
Ensure your computers date is set correctly, or else the compilation
scripts may have problems later.
Step 0: Map network drive to build tools drive
- Right click on Network Places, choose Map Network Drive
- Map Network Drive P: to \\dimbo\panda (blank, your password, or “changeme”)
You also can do this from cmd.exe using
'net use p: \\dimbo\panda /persistent:yes'
- Select Reconnect drive at startup
- If this doesnt work, you can install the build tools from CD
- Run 'regedit P:\tabs.reg' to enable cmd.exe tab-filename-completion.
You must exit and restart the cmd.exe shell to enable this, since the
registry is only read at cmd.exe startup.
Step 1: Update OS software
On Win2000, install ServicePack 3 and DX 8.1 by running
> P:\win2k-servicepack3.exe
> P:\dx8.1\DX81NTeng.exe
or download them from http://windowsupdate.microsoft.com/ (this will be MUCH slower).
On both WinXP and Win2000, I recommend you go to
http://windowsupdate.microsoft.com/, click on 'Product Updates'
(installing the Product Update ActiveX control), and install any
patches labeled 'Critical Updates' as well as any updated sound,
network, and motherboard drivers. Video card manufacturers will
usually have newer drivers than the WindowsUpdate site, however, so
go to the manufacturers website to check for win2000/winXP
drivers, especially on win2000, since the original win2k CD drivers
are most likely obsolete.
Step 2:
Choose whether to use Visual C++ v7.0 or v6.0
As of 5/19/03, its better to use Visual C++ v7.0
(which is a synonym for Visual C++ .NET)
To Install VC++ 7.0
Run P:\msvc7\vc_setup\setup.exe, or install from the MSDN
'Visual Studio.NET' CD. Click on 'Windows Component Update'
(if it is highlighted, else click '2'). Click 'Continue'
(Selecting 'Do not use this machine to host web projects').
You will install IE6, which will requires a reboot. Give your
cvspassword if you want it to happen automatically.
After rebooting, setup should start again. If it does not, go
back and rerun it, it should remember where it left off. After
installing components, you are ready to install VC7 in .NET
setup Step 2. Enter this step and enter the product-key,
which is stored in P:\msvc7\vc7_prodkey.txt. On the 'Select
items to install page', you need uncheck things to avoid
wasting gigs of extra space and install time.
Uncheck everything except for
- Language Tools->Visual C++
- Server Components->Remote Debugger->Native Remote Debugger
and if you want,
- Documentation (this takes a gig, and is only a slight
update if you already have MSDN installed locally.
You will want to uninstall any separately-installed
MSDN docs if you get this.)
Unlike VC 6.0, there is no option to add the required compiler
bin\ directories to the environment path automatically. If you
are building using tcsh.exe under cygwin, wait until step 4.5
to setup the environment after your shell environment is running
properly. If you are running from the NT command line, run
> ”C:\Program Files\Microsoft Visual Studio .NET\Vc7\bin\vcvars32.bat"
Note there is (currently) no need to install the MS Platform SDK,
since VC7 comes with an updated version of it.
To Install Visual C++ (v6.0)
- Run P:\msvc-6.0\setup.exe, or install from CD. For a faster
install, select custom install and uncheck everything but
Visual C++, Data Access, ActiveX, and Tools
- On WinNT/XP/2000, you will be prompted to register environment
variables for running the compiler from the command line - do it.
- Install MSVC Service Pack 5 by running P:\msvc-sp5\setupsp5.exe,
or from CD. You may need to run P:\msvc-sp5\mdac_typ.exe first
(setup will tell you if so)
- Install the MSDN Library documentation if this is a primary dev
machine. Install from the MSDN CD, or by running P:\msdn-apr01\setup.exe.
To save time and disk space, choose custom install and uncheck
everything but Text-Search, Index, VC++, Platform SDK, Knowledge
Base, and All Other Files.
- Install MS Platform SDK to get updated VC libs and headers
- Run P:\platform-sdk\setup.exe to install the Feb 2001 Platform SDK and
choose 'Install MS Platform SDK in default location.' (there may be
problems with other newer versions of the Platform SDK). This should
prepend the Platform SDK paths to your PATH,INCLUDE, and LIB dirs.
Building libpandadx requires this step (needs DX7 headers/libs)
Step 3: Install Cygwin (v1.3.5 or above should work)
- As of 1.3.11, cygwin seems stable enough to install from the internet,
go to http://cygwin.com and click on the install cygwin now link.
The most reliable download server is http://mirrors.rcn.net. Make
sure that the following packages are selected for installation:
- Devel packages such as : CVS, make, flex
- under Interpreters : gawk, perl (see note below)
- under Shells : ash, bash, sh-utils, tcsh
- under Text : more
- under Archive : zip, unzip
- You can also install other programs (like vi for instance) if you want.
To rotate through the possible installation options, left-click on
the programs of your choice.
- Keep in mind the following exceptions:
- Do NOT install the Interpreter->python package (change the Setting to SKIP)
- Do NOT install the Devel->bison package if the version is 1.30-1.34,
they are known to be buggy. Version 1.28 is safe, as is version 1.35+.
If 1.35+ is not available, you can install 1.28 manually, after you
have a shell running (see step 4.5)
- There are many subpackages that are obviously not needed (e.g. Mail,
Doc, Text, Games) that you can skip if you like.
- Create a desktop shortcut or Start Menu item for c:\cygwin\bin\tcsh.exe
and use it in the future.
Known Problems with tcsh:
tcsh v6.09.00: (cygwin 1.0)
- long paths result in 'Word too long' errors, especially during panda
attach scripts
tcsh v.6.11 - 6.12.00
- TAB filename completion sometimes fails on second+ arguments in
cmdline (e.g. cp file.cxx file2[TAB] fails to complete file2.cxx)
To fix this, go to /etc/profile.d/complete.tcsh and comment out the
lines associated with complete mv and complete cp
v6.09 and v6.11 should be stored on P:\cygwin-1.3.5, you can copy them
to c:\cygwin\bin if you want to use them
Known Problems with perl version 5.8.0-2 installed by default w/ Cygwin 5.2.0-2:
Is not compatible with the current $DTOOL startup script
$DTOOL/etc/dtool.cshrc install: specifically the “source $SETUP_SCRIPT”
because cygwin Perl 5.8.0 leaves a ^M newline in the variable, screwing
up the later source $SETUP_SCRIPT resulting in startup errors. Stay
with earlier versions of Perl (5.6.x) or later versions of Perl,
starting with version 5.8.0-3
Next, you can run a bash shell by going to the "Start"
button at the bottom left of your screen, selecting "Programs",
"Cygwin" and "bash". You can then run "tcsh" at the bash prompt to make
things easier.
Step 3.5: Set up the Cygwin environment:
- All of the commands below have been collected in
P:\win\install\wintools\etc\setup_env.csh. To do all the Cygwin
steps below automatically, from the tcsh prompt do:
> cd P:/win/install/wintools/etc
> source setup_env.csh
These are the steps setup_env.csh performs (so you dont have to):
- Make the following directories (dont worry if they already exist)
> mkdir /bin /etc/ /tmp /usr
> mkdir /c /f /g /h /i /j /p
> mkdir /usr/local /usr/local/bin /usr/local/etc
- Rename any cygwin-installed python.exe (if it exists) to avoid
conflicts with required VRSTUDIO-compiled python, which is custom-built
to load sitecustomize.py which sets up the PYTHONPATH env-var
for our panda environment:
> mv /bin/python.exe /bin/python-cygwin.exe
- Create some links expected by the attach scripts, which look in std unix places:
> ln -s /bin/tcsh /bin/csh
> ln -s /bin/perl /usr/local/bin/perl
> ln -s /bin/bash /usr/local/bin/bash
- Connect the network drives:
Note that any of your drive letters are already in use (by a CD drive,
or by some I.S. login-script-created drive), you simply do a 'net use'
to a different drive letter, then change the 'mount' command to point
the official '/[drivelet]' dir at the real drive letter it's mounted
to.
It is not necessary for cygwins /p to point to the P: drive in Windows.
> net use f: "\\nufat\fat" /persistent:yes
> net use g: "\\nufat\bit" /persistent:yes
> net use h: "\\dimbo\usr2" /persistent:yes
> net use i: "\\nufat\big" /persistent:yes
> net use j: "\\nufat\for" /persistent:yes
> net use P: "\\dimbo\panda" /persistent:yes
The net use commands may require you to enter a password if access is
denied, in which case you can add the /USER:[username] argument to net
use and it will ask for a password. See net use /help for more info.
The Map Networked Drive GUI option can be used instead of net use.
- Create cygwin mount directories. The purpose of this is to shorten
and simplify paths. Note the use of -b for the mounts to mapped
network drivers on remote machines. The /ms* mounts assume things
were installed in C:\Program Files:
> mount -s c:/ /c
> mount -s -b f:/ /f
> mount -s -b g:/ /g
> mount -s -b h:/ /h
> mount -s -b i:/ /i
> mount -s -b j:/ /j
> mount -s -b P:/ /p
If VC7 is installed:
> mkdir /msvc7
> mount -s C:/Program\ Files/Microsoft\ Visual\ Studio .NET/Vc7 /msvc7
If VC6 is installed:
> mkdir /msvc98 /mscommon /mspsdk
> mount -s C:/Program\ Files/Microsoft\ Visual\ Studio/VC98 /msvc98
> mount -s C:/Program\ Files/Microsoft\ Visual\ Studio/Common /mscommon
> mount -s C:/Program\ Files/Microsoft\ Platform\ Sdk /mspsdk
If Intel C++ is installed:
> mkdir /intel /ia32
> mount -s C:/Program\ Files/Intel /intel
> mount -s C:/Program\ Files/Intel/Compiler60/IA32 /ia32
These are optional, but handy aliases for our common unix locations:
> mkdir /fat /for /bit /ful /alpha /beta /gamma
> mount -s -b F:/ /fat
> mount -s -b G: /bit
> mount -s -b H:/fit/ /fit
> mount -s -b H:/ful/ /ful
> mount -s -b I:/alpha/ /alpha
> mount -s -b I:/beta /beta
> mount -s -b I:/gamma /gamma
> mount -s -b J:/ /for
Note that these mount points may hide any local directories with
the same path from cygwin apps (e.g. C:\Cygwin\beta will be not
be accessible via /beta)
Step 4: Create your home directory
- Create a HOME directory:
> mkdir /usr/<yourname>
or
> mkdir /home/<yourname>
- Set the $HOME environment variable in the Registry:
- You must be logged into your computer on an account with Administrator access
- Select "Start Menu->Control Panel”
- Select "System" icon.
- Select “Advanced->Environment” button.
- Create the variable "HOME" with the value "/usr/<yourname>".
- click ok - ok - ok to exit (you must exit for the change to take effect)
- Now open a new shell so the registry is read by the shell to get the changes.
Note: We've seen a problem where we can't source ~/.cshrc if the home
directory /usr/<yourname> does not match the user name %USERNAME%
windows env var. To be safe, be sure and name your home directory
to be /usr/<yourname>.
- Add C:\Cygwin\bin to the $path environment variable in the registry
to avoid errors (sed: Command not found) when executing the file
complete.tcsh (in C:\Cygwin\etc\profile.d) on startup
Copy important startup files into your home directory:
> cd /p/win/install/wintools/panda
> cp .cshrc .emacs Configrc Config.pp.sample /usr/<yourname>
> mv /usr/<yourname>/Config.pp.sample /usr/<yourname>/Config.pp
Make sure the contents of .cshrc are correct for your setup. In
particular, make sure the definition for PANDA_ROOT matches the
directory you have installed Cygwin to (normally C:\Cygwin),
and that CVSROOT is correct for your CVS login (if $USERNAME
is not the same as your CVS/Unix account name, edit the
variable as necessary).
INSTALL BISON: Skip this is you have bison 1.35+ installed.
Versions of bison between 1.30-1.34 seem to have a bug, to
avoid this you can install bison manually:
> cd /
> tar zxvf /p/Cygwin-1.3.5/bison-1.28-1.tar.gz
Step 4.5: Setup VC7 environment in shell (skip if you have VC6)
(NOTE: This step is already done if you ran setup_env.csh)
Use your favorite text editor to open /p/win/install/wintools/bin/setup_msvc7.csh.
Copy the top portion of setup_msvc7.csh (it sets PATH and other
environment variables) to your .cshrc, and put 'set_msvc7' cmd
from the script at the end of your .cshrc to set up the PATH
properly as well as do the important 'setenv USE_COMPILER MSVC7'
to tell ppremake to use VC7. The USE_COMPILER variable can
alternatively be added to your local Config.pp.
After finishing this process, make sure you are using VC7 in your
shell by typing 'cl' at the prompt. If you have VC7 you will see:
Microsoft (R)32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86
Copyright (C) Microsoft Corporation 1984-2001.
If you still have VC6, you will see something like
Microsoft (R)32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998.
If you try to build with this broken setup, the build process will get
confused and compile with VC6 but try to link with the VC7 libraries
and you will get link errors.
To correct this problem, check your tcsh path to make sure it has the
.NET dirs in it, and make sure the cygwin softlink mount point /msvc7
exists, and is not empty but points to the proper VC7 directory. Doing
'ls /msvc7' should give you something like
Common7/ Visual Studio .NET Enterprise Architect - English/
Crystal Reports/ Visual Studio SDKs/
EnterpriseFrameworks/ contents.htm
FrameworkSDK/ readme.htm
Msdn/ redist.txt
Setup/ sqlserver/
Vb7/ toc.htm
Vc7/ vdt70vcs.dll*
If it does not, try running
> source ~/player/wintools/etc/setup_env.csh
again to get it to do the cmd (ignore file-exists errors)
> mount -s C:/Program\ Files/Microsoft\ Visual\ Studio\ .NET /msvc7
This should create the softlink mount, or you can just run the cmd manually yourself.
Step 5: Copy files needed by attach scripts
- Run script to copy vspec files from $WINTOOLS to /usr/local/etc
> cd /p/win/install/wintools
> ./cp_vspec
To setup a new user in panda environment files:
- If you are setting up a new user, edit the *.vspec files in
/usr/local/etc to add the new username and path to the player
tree (starting with dtool.vspec, panda.vspec, direct.vspec, toontown.vspec).
- (Optional) Update default values in vspec files. Edit appropriate *.vspec
files to specify which trees you wish to use as a default (e.g. install,
personal, or release)
Step 6: Grab the cvs trees
Open a new shell
Create personal trees:
> mkdir ~/player
> cd ~/player
Grab from local repository
# Just hit return or type your unix password when prompted for a password
> cvs login
> cvs co toontown (only if local toontown will be built)
Now choose either A (commit) or B (anonymous) access:
A. SourceForge developer (with commit) access
1. setup an account with SourceForge at http://sourceforge.net/account/register.php
try to use the same username used your cygwin setup
tell somebody like Daniel or Dave Schuyler to add your new sourceforge
username to the list of Panda3D developers
2. setup ssh and access through the corporate firewall to cvs.panda3d.sourceforge.net
- copy the setup from /p/win/install/wintools/etc/ssh_config to your ~/.ssh/config
- You may also need to copy the config file to /etc/ssh_config
- If you have not generated a key before on another machine, generate a dsa key now with:
> ssh-keygen -t dsa
(If you have generated this key before, copy the id_dsa and id_dsa.pub
from ~/.ssh/config on your other machine.)
If the above does not put a file in ~/.ssh/config, check that your
/etc/passwd file has an entry for your username and that it points
to the correct home directory for you.
register your generated ssh public key (id_dsa.pub) at
https://sourceforge.net/account/editsshkeys.php
3. type this at the shell or/and put it into your .cshrc
> setenv CVS_RSH /bin/ssh
4. check out these trees in ~/player (only if a local version will be built) with:
> setenv SFROOT :ext:<your-sourceforge-username>@cvs.panda3d.sourceforge.net:/cvsroot/panda3d
B. anonymous CVS (read-only access) from SourceForge
> setenv SFROOT :pserver:anonymous@nit:/cvsroot/panda3d
now check out these trees
> cvs -d $SFROOT co dtool (only if local dtool will be built)
> cvs -d $SFROOT co panda (only if local panda will be built)
> cvs -d $SFROOT co direct (only if local direct will be built)
- Choose which optimize level you want. This is set in Config.pp in
your $HOME directory. Look for #define OPTIMIZE and follow
instructions above that. You can only choose an arbitrary
optimize level if you are building your own DTOOL and PANDA;
otherwise, you must set it to the optimize level corresponding to
the version of DTOOL/PANDA you intend to attach to (install is
built OPTIMIZE 2, release is built OPTIMIZE 3). A good choice is OPTIMIZE 3.
Your normal, non-SourceForge CVSROOT should be set to the default:
> setenv CVSROOT :pserver:<your-unix-username>@dimbo:/fit/cvs
Step 7: (Optional) Build $DTOOL
- When you opened a new shell in step 6, it should have attached to
DTOOL:install automatically, but you will need to attach to your
own DTOOL if you want to build your own.
**Note all the cta attach commands can be placed in your .cshrc **
> cta dtool personal
> cd $DTOOL
> ppremake
> make install
After the make is done, kill your current tcsh window and open another
using your shortcut from before.
Step 8: (Optional) Build $PANDA
- Build panda
> cta dtool personal
> cta panda personal
> cd $PANDA
> ppremake
> make install
Again, after every make, kill and reopen the tcsh window.
- You can now run "pview" to test the install and build - you should
see a window pop up with a triangle in it. To see the triangle with
a texture on it, you'll need to be in $PANDA/src/testbed/ when
you run "pview".
Step 9: Build $DIRECT
> cta dtool personal
> cta panda personal
> cta direct personal
> cd $DIRECT
> ppremake
> make install
Step 10: Install Emacs
We use GNU emacs (21.2 currently) by default, other versions of emacs
may also work. Note: unlike xemacs.exe compiled for cygwin, this
emacs does not use Cygwin paths, so "/" represents the real root
(C:\, not "C:\Cygwin")).
Copy the tarball to your local machine
> cp /p/emacs-21.2-fullbin-i386.tar /c
Untar and install (This will install emacs into C:/emacs-21.2, do
not attempt to install it under a directory containing a space,
like "Program Files".)
> cd /c
> tar xvf emacs-21.2-fullbin-i386.tar
Copy lisp/script files
> cp $DIRECT/src/directscripts/python-mode.el /c/emacs-21.2/lisp/progmodes
> cp $DIRECT/src/directscripts/runPythonEmacs /usr/local/bin
Update environment variables (win2000/XP). Note: You should only need to
do this if you intend to invoke Emacs from a non-Cygwin prompt. If you
will always be using Cygwin, simply edit your .cshrc file to add /c/emacs-21.2/bin)
- Select "Start Menu->Control Panel”
- Select "System" icon.
- Select "Advanced->Environment" button.
- double click on the "Path" variable in the bottom pane (system variables)
- add "C:\emacs-21.2\bin" to the end of the path (semicolon separated)
- click ok - ok - ok to exit (you must exit for the change to take effect)
Step 11: Build $TOONTOWN
> cta dtool personal
> cta panda personal
> cta direct personal
> cta toontown personal
> cd $TOONTOWN
> ppremake
> make install
Exit the shell and create a new one
Step 12: Generate Python Code
> cd $DIRECT/bin
> genPyCode win-debug (if you have built using OPTIMIZE = 1 or 2)
> genPyCode win-release (if you have built using OPTIMIZE = 3 or 4)
> genPyCode win-publish (for publishes)
Step 13: set up a local server (optional)
- mkdir /c/toonsrv
- unzip /p/toontown_server/dev_NOTAG_*.zip to /c/toonsrv
- run /c/toonsrv/INSTALLALL.BAT to install toon servers as local NT-type services
- /c/toonsrv/STARTALL.BAT to start the servers and /c/toonsrv/STOPALL.BAT to stop them
When you get here, rejoice!