1
0
Fork 0

Moved to Docs-mini

This commit is contained in:
curt 2000-11-03 20:14:52 +00:00
parent ca3dbd252e
commit 823667997d
8 changed files with 0 additions and 797 deletions

View file

@ -1,233 +0,0 @@
I. GENERAL LINUX INSTRUCTIONS
==============================
This is a short description of the things that need to be done to get
FlightGear up and running under Linux.
1. Prerequisites:
You need to understand the concepts of 3D acceleration under Linux and
the needed libraries. An excellent source of information is the "Linux
Quake-HOWTO" which can be found at
http://www.linuxquake.com
If anything seem to be wrong with your 3D setup, check there first!
You need Linux of course (any flavour) and a 3DFX-card (Voodoo1 in my
case). 3D rendering without hardware support can force even the
fastest PII to its knees. To make use of the accelerator board you
need"
- the GLIDE library installed. Grab it at:
http://www.3dfx.com/software/download_glidel.html
and install. There is even an install script contained that will do
things for you. The canonical place for GLIDE is /usr/local/glide,
if you prefer another location, you'll have to edit the Makefile for
FlightGear by hand. Be sure to read and understand the file
/usr/local/glide/README.
- the MESA library version 3.0 (or greater) installed.
Grab it at:
http://www.mesa3d.org/
unpack it and run "make linux-glide" in the Mesa directory. Follow
the instructions in the README file, take a close look at
README.3DFX and play with the demo programs. Relax, rejoice :-)
- the GLUT library version 3.7 (or greater, aka GameGLUT) installed.
Grab it at:
http://reality.sgi.com/opengl/glut3/glut3.html
Note: glut-3.7 is included with Mesa 3.0 so if you've already
grabbed the latest version of mesa, you should have everything you
need.
Alternatively, you can use the 3D-stuff that came along with your
Linux distribution. At least RedHat (5.3 and later) and S.u.S.E. 6.0
(or later) contain all the things you need.
- (optional) the 3DFX kernel module.
Without this thingy installed, access to your accelerator board
needs to be SUID root, which bad practice (and a _huge_ security
hole). Get the 3DFX module from
http://www.xs4all.nl/~carlo17/3dfx/index.html
and install it:
mkdir 3dfx
cd 3dfx
tar xvfz ../Dev3Dfx-2.7.tar.gz
make
cp 3dfx.o /lib/modules/`uname -r`/misc
mknod /dev/3dfx c 107 0
insmod 3dfx
alternatively, you can get the RPM from there ind use rpm for
installation.
- Steve Baker's plib library.
get it from
http://www.woodsoup.org/projs/plib/
and follow the instructions in README.plib.
- (optional) the gpc and gfc libraries.
Read the README.g[fp]c files to understand what they are good for
and decide whether you need to download them. If you don't want to
build your own sceneries, you might not need them.
2. Build FlightGear:
You will need the following files:
FlightGear-x.xx.tar.gz (source code)
which can be found under
ftp://ftp.flightgear.org/pub/fgfs/Source/
and the support files located at
ftp://ftp.flightgear.org/pub/fgfs/Binaries/
the file is called
fgfs-base-x.xx.tar.gz (data files)
Ok, now that you got all the stuff, let's proceed towards installation.
Unpack FlightGear-x.xx.tar.gz using :
tar xvfz FlightGear-x.xx.tar.gz
and cd info FlightGear-x.xx. Run:
./configure
and wait a few minutes. configure knows about a lot of options. Have a
look at the file INSTALL in the FlightGear source directory to learn
about them. If run without options, configure assumes that you will
install the data files under /usr/local/lib/FlightGear. Assuming
configure finished successfully, simply run
make
and wait for the make process to finish. Now become root (for example
by using the su command) and type
make install
This will install the binaries in /usr/local/bin. Notice that the name
of the FlightGear binary is "fgfs".
Another problem with Linux/Glide is permission-related. All programs
accessing the Accelerator board need root permissions (or the kernel
module mentioned above installed). I _strongly_ recommend the latter.
3. Install the data files
Change to /usr/local/lib/FlightGear and unpack the data files:
tar xvfz WHERE_YOU DOWNLOADED_THE_FILES/fgfs-base-x.xx.tar.gz
That's it...
4. Fly!
If everything went ok, simply type
runfgfs
at the prompt. You should see the FlightGear splash-screen and a few
seconds later you'll find youself somewhere in the desert, ready for
take-off.
5. Strange things happen...
A note on the behaviour of Voodoo boards:
Your card comes packaged with a loop-through-cable. If you have only
one monitor, then the Voodoo will take it over when used. This means
that all the applications on your desktop will continue running but
you'll only see the FlightGear screen. If your window manager uses a
focus-follows-mouse policy, don't move the mouse. If you lose the
focus, there's no way to shut down FlightGear graciously! Better
solution: Use two monitors, one for your desktop, connect the other
one to your accelerator. You'll then get a window on your desktop
which manages all keyboard events and you're still able to see your
desktop.
A final note: There are several types of VooDoo cards out there, so be
sure to get the correct version of Glide!
Enjoy!
6. Conclusion
I hope this document provides some help. If it does, send virtual/real
beer to me, if not flame me!
Bernhard H. Buckel
<buckel@wmad95.mathematik.uni-wuerzburg.de>
II. RedHat Linux Notes
=======================
Summary: There are known problems with the versions of libstdc++ that
ships with both RedHat-5.1 and RedHat-5.2. You need to upgrade your
libstdc++ before attempting to build flight gear on a RedHat system.
Raymond de Vries <vries@per.nl> writes: I ran into [this] problem on
my RedHat 5.2 system (brand new). After some searching I found out
that it's got to do with a 'bug' in the stdlibc++ libraries. I picked
up libstdc++-2.9.0-2.i386.rpm, installed it and FGFS compiled just
fine. However, some other packages must have the libstdc++-2.8
libraries....
BTW I also solved it with the 2.8 libraries by including
/usr/include/g++/std/bastring.cc into the example programs. I believe
this can be done since it's a template, correct me if I'm wrong.
III. Linux/AXP Notes
====================
As of 2/19/99 I'm not aware of any glide port to Linux/AXP so it's
software rendering only for now. :-(
This following information is contributed by "Daniel J. Frasnelli"
<dfrasnel@csee.wvu.edu>
1) Mesa was not built correctly by default. I had to add the "-mieee"
flag to the Make-config for Mesa-3.1beta1 to fix the problem. After
building and installation, all of the problems I had previously with
GL programs under AlphaLinux disappeared.
2) I also had to set the '-mieee' flag in $CFLAGS before configuring
and building FGFS. The -mieee switch fixes floating point exception
handling.
I heavily optimized both Mesa and FGFS, using the libffm "fast math
library for Alpha" in preference over the default libm, sticking all
sorts of strange flags in $CFLAGS, etc. These flags should be
adjusted for your specific architecture:
export CFLAGS="-mieee -mcpu=ev56 -Wa,-m21164a -pipe -g"
export CXXFLAGS="-mieee -mcpu=ev56 -Wa,-m21164a -pipe -g"
./configure

View file

@ -1,24 +0,0 @@
README.MacOS
Jan 12, 1999.
Here is a quick outline of *one* way you can build FG for MacOS:
1. Install Metrowerks CodeWarrior Pro 3
2. Install the 'Mesa 3D Graphics Library' *** URL
3. Fetch the Flight Gear code. *** URL
4. Fetch the 'MWCWP3 Support' *** URL
5. Open 'MWCWP3 Support:Simulator:Simulator.mcp' and you are ready to compile.
6. I appreciate feedback. Tell me if this works for you ! If it doesn't, tell me
what went wrong. My email is *** who want do to the first-level support ?

View file

@ -1,184 +0,0 @@
If you are reading this in hopes that you will find the answer to a
specific question, please send the question to curt@flightgear.org and
suggest that I include the answer here.
I. Compilers and Portability
============================
Flight Gear is known to build with egcs-1.1 and higher, as well as
gcc-2.8 and higher. Your mileage may vary with earlier versions of
these compilers although support for gcc-2.7.x is mostly there.
For other platforms where you may have access to native compilers,
again your mileage may vary. We would like to support as many
different compilers and platforms as possible. Please relay any
changes you make (or problems you encounter) back to
curt@flightgear.org, so that in the future we can better support your
platform and your compiler. I have access to a few different
platforms, but I must depend on others to make sure their favorite
platform and compiler is well supported.
II. GLUT
========
Flight Gear requires GLUT version 3.7 or later (aka GameGLUT._ GLUT
needs to be installed on your system before you can build Flight Gear.
GLUT can be found at:
http://reality.sgi.com/opengl/glut3/glut3.html
GLUT (pronounced like the glut in gluttony) is the OpenGL Utility
Toolkit, a window system independent toolkit for writing OpenGL
programs. It implements a simple windowing application programming
interface (API) for OpenGL. GLUT makes it considerably easier to learn
about and explore OpenGL programming. GLUT provides a portable API so
you can write a single OpenGL program that works on both Win32 PCs and
X11 workstations.
III. Joystick Support
=====================
GLUT only has win32 joystick support but even at that, it is not well
implimented. So we use Steve Backer's joystick library when possible,
and fall back to GLUT for win32 until Steve's library adds win32
support.
To make sure joystick support is included when building under Linux:
- make sure you have the proper joystick module installed.
- make sure the proper devices are created in /dev.
- /usr/include/linux/joystick.h must exist on your system.
IV. Procedure to build FGFS with Native SGI Irix Compilers from CVS Sources
===========================================================================
(Contributed by Todd Smith <msmith@sikorsky.com>)
Download the latest version of plib (1.0.3) from:
http://www.woodsoup.org/~sbaker/plib/
Install it both in /usr/local/plib and /usr/local/include/plib. I
think that I am using it from /usr/local/include.
Download the FlightGear-0.6 via anonymous cvs as usual, then do:
> aclocal # normal
> automake -a -i # added '-i' flag to avoid dependency calc
# that only sgi cc/CC doesn't support
> autoconf # normal
Note the change in automake's command argument.
Now set env variables to use native compilers (csh syntax).
> setenv CC cc
> setenv CXX CC
> setenv CFLAGS '-Xcpluscomm -DEBUG:suppress=1001,1012,1014,
1116,1172,1174,1401,1460,1551,1552'
> setenv CXXFLAGS '-DEBUG:suppress=1001,1012,1014,1116,1172,
1174,1401,1460,1551,1552,3303,3322'
The '-DEBUG:suppress=' stuff just suppresses anonying warnings during
compile. The meaning of each one is shown later in this file.
You can use all or none of these here.
> setenv CPPFLAGS '-woff 1014'
This is required so that configure will really believe that plib
is installed. ( Otherwise a compiler warning makes configure
that plib/pu.h couldn't be found. )
> ./configure
> find . -name Makefile -exec irix-hack.pl {} \; # normal irix hack
> gmake
Runs great.
Todd
msmith@sikorsky.com
-------------------------------------------
Warnings that I get. Ignore at your lesiure.
C and C++:
warning(1001): last line of file ends without a newline
warning(1012): parsing restarts here after previous syntax error
warning(1014): extra text after expected end of preprocessing directive (breaks configure)
warning(1116): non-void function "poly_index_init" should return a value
warning(1172): subscript out of range
warning(1174): variable "j" was declared but never referenced
warning(1401): qualified name is not allowed in member declaration
warning(1460): function "..." redeclared "inline" after being called
warning(1551): variable "Altitude" is used before its value is set
warning(1552): variable "last" was set but never used
C++ only:
warning(3303): type qualifier on return type is meaningless
warning(3322): omission of explicit type is nonstandard ("int" assumed)
V. Additional Native SGI Irix Compilers Notes
=============================================
If you are building with native SGI compilers try running configure like the
following (assuming sh syntax):
CC=cc CXX=CC CFLAGS="-Xcpluscomm -woff 1014" ./configure
Then (and this step is *VERY* important for your success) run the following
command:
find . -name Makefile -exec irix-hack.pl {} \;
This touches up the Makefiles to build libfoo.a with
CC -ar -o libfoo.a file1.o file2.o ...
The traditional method is to run:
ar cru libfoo.a file1.o file2.o
I wonder if this means that the native SGI "ar" is somewhat broke?
Note, you should make sure you have perl installed on your system. The
"irix-hack.pl" script assumes that perl is located in /usr/bin/perl so
if this isn't the proper location on your system, change it in the first
line of "irix-hack.pl" before running the above command. One way to see
if perl is on your system (and determine where) is to run:
which perl
Perl can be installed from "eoe.sw.gifts_perl" or can be fetched and
built from the net.
Finally you should run Gnu make. The native Irix make utility just
can't handle the makefiles generated by the automake program. Thus
you will need to use Gnu make. It's called "gmake" on my system so I
just run:
gmake
Don't worry about the make failing in the Tools directory. That's all
under construction stuff right now (3/9/99) and if you get that far,
rejoice because it means the simulator was successfully built in the
Simulator/Main subdirectory.
Special note for those Irix users using the native compilers *AND* checking
out the current source tree via CVS:
You will need to run "aclocal ; automake -a ; autoconf" as per
README.autoconf, but you need an additional flag for automake to disable
automatic dependency building (which breaks the native Irix compilers.)
You should instead run:
aclocal ; automake -a --include-deps; autoconf
Then, proceed on to the configure step.
Questions? I realize this section is a big heap of random information so
if something isn't quite working for you, please ask.

View file

@ -1,171 +0,0 @@
May 10, 1999
=============
Here is a quick outline of *one* way you can build FG for Win32 using
a completely free development environment.
1. Install cygwin (latest is version 20.1)
http://sourceware.cygnus.com/cygwin/
Now called "full.exe"
(I believe "user.exe" is included in full.exe so you don't need to
install those separately)
2. This step may now be optional. I haven't tried without, but
cygwin is now egcs-1.1 (which should work I think.) This step
just upgrades to the latest greatest version of egcs.
Install egcs binary release for cygwin-20.x (latest egcs is version 1.1.2)
http://www.xraylith.wisc.edu/~khan/software/gnu-win32/egcs.html
For instance, if you've downloaded egcs to /tmp:
cd //c/cygnus/cygwin-b20
tar xzvf //c/tmp/egcs-1.1.2-cygb20.tar.gz
3. Install the free win32 api library (latest version is 0.1.5) from:
http://www.acc.umu.se/~anorland/gnu-win32/w32api.html
(Recommend you install in /usr/local)
Run "make; make install"
4. Also download glut import libraries from extra section at:
http://www.acc.umu.se/~anorland/gnu-win32/w32api.html
copy these libs to /usr/local/lib/lib*.a
5. Install the Mesa-3.0 includes:
Feel free to download mesa from www.mesa3d.org and grab them from
there. Line #453 of glut.h needs to be edited to look like the
following:
GLUTAPI int APIENTRY glutCreateMenu(void (GLUTCALLBACK * func)(int));
Or you can grab just these headers from the fgfs ftp site.
ftp:://ftp.flightgear.org/pub/fgfs/Win32/Mesa-3.0-includes.zip
Copy these includes to /usr/local/include/gl/*.h
6. Install the glut dll's somewhere in your path:
You can fetch these from the fgfs site:
ftp:://ftp.flightgear.org/pub/fgfs/Win32/glut-dll-3.7.zip
7. Build and install plib (latest version is 1.0.5/6?) from:
http://www.woodsoup.org/~sjbaker/plib (check url)
Recommend you run configure as follows:
CFLAGS="-O2 -Wall" CXXFLAGS="-O2 -Wall" CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure --prefix=/usr/local --includedir=/usr/local/include/plib
make; make install
8. Fetch the Flight Gear code which can be found at:
ftp://ftp.flightgear.org/pub/fgfs/Downloads/Source/
Grab the latest "FlightGear-X.XX.zip" or if you want to live on the
edge you can try one of the nightly snapshots in:
ftp://ftp.flightgear.org/pub/fgfs/Downloads/Source/Snapshots
9. Unpack the FG source code. Run:
pkunzip -d FlightGear-X.XX.zip
Be sure to use the -d option. This will create all the needed
subdirectories. Otherwise you will have one big mess! Trust me!
Side Note: we need to make a distinction between the "build tree" and
the "install tree." The "build tree" is what we've been talking
about up until this point. This is where the source code lives
and all the compiling takes place. Once the executables are
built, they need to be installed someplace. We shall call this
install location the "install tree". This is where the
executables, the scenery, the textures, and any other run-time
files will be located.
Open the Cygnus bash via its entry in the Start menu.
Mount the drive as follows (assuming you unpacked the code on d:):
mkdir /mnt
mount d: /mnt
You only have to do this once. The drive stays mounted (until you
umount it) even through reboots and switching off the machine.
10. Configure the make system for your environment and your "install
tree". Tell the configure script where you would like to install
the exectuables and all the scenery and textures by using the
"--prefix" option. In the following example the base of the
"install tree" is "\FlightGear". Stay within the bash shell. Run:
./configure --prefix=/mnt/FlightGear
Side Note: the make procedure is designed to link against opengl.dll,
glu.dll, and glut.dll. However, some accelerated video cards
require you to link against opengl32.exe, glu32.exe, and
glut32.exe. If this is the case for your video card, you can edit
.../Simulator/Main/Makefile and rename these three libraries to
their version "32" counterparts. There is only one place in this
make file where these files are listed.
11. Build the executable. Run:
make
12. Assuming you have installed the updated version of install.exe (see
earlier instructions) you can now create and populate the install
tree. Run:
make install
You can save a significant amount of space by stripping all the
debuging symbols off of the executables. To do this run:
strip file.exe
Important Note: so far you've built and installed the simulator and
related tools. Before you can actually try it out, you need to
make sure you have the appropriate scenery and texture downloaded
and unzip'ed in your "install tree".
13. Download and install the (most recent!) scenery and texture files.
14. In Windows explorer, change to /FlightGear/bin within your install tree.
Call runfg.bat which will set the environment variable FG_ROOT and
call the executable.
15. Try it out! There are several ways to run flight gear once it has
been installed. The simplest is as follows. Run:
\FlightGear\bin\runfg.bat (command shell)
16. I appreciate feedback. Tell me if it works! If it doesn't, tell me
what went wrong. My email is curt@me.umn.edu

View file

@ -1,10 +0,0 @@
Flight Gear now has an anonymous CVS repository. Currently, it is read
only, but it will allow you to maintain your own absolutely up to date
source tree. You will also be able to do diffs, extract older versions
of files, and all the other fancy CVS stuff.
Instructions for accessing the FG cvs repository can be found by
following the "CVS Resources" link from the main FG web page:
http://www.menet.umn.edu/~curt/fgfs/

View file

@ -1,43 +0,0 @@
Flight Gear uses the Gnu autoconf and automake tools for managing
Makefiles. It also uses libtool to manage building shared and static
libraries. Key input files for this system are:
configure.in - Top level directory
Makefile.am - One in each subdirectory
Include/config.in - input file for building config.h
If you need to modify any of these files, you will need to build and
install the following packages:
- GNU autoconf 2.12 (available from ftp://prep.ai.mit.edu/pub/gnu)
- GNU automake 1.2h (available from ftp://ftp.cygnus.com/pub/tromey)
Libtool is not currently used:
- GNU libtool 1.2 (available from ftp://prep.ai.mit.edu/pub/gnu)
(or maybe ftp://alpha.gnu.org/gnu)
- After upgrading libtool, if we were using it, you would want to run:
libtoolize --force
When making a change to any of these files you will need to run:
aclocal ; automake -a ; autoconf
Then follow the regular build procedure:
./configure; make; make install
For debuging purposes you might want to try something like:
CFLAGS=-Wall CXXFLAGS=-Wall ./configure; make; make install
For full optimization using the EGCS compiler on an Intel processor you
could try something like:
MACH="-mpentium" # -m486 -mpentiumpro etc.
export CC=egcc # for Linux
export CFLAGS="-Wall -O5 -fomit-frame-pointer -ffast-math -funroll-loops $MACH"
export CXXFLAGS="-Wall -O5 -fomit-frame-pointer -ffast-math -funroll-loops $MACH"
./configure

View file

@ -1,75 +0,0 @@
You need to have the GPC library installed on your system to build
some of the scenery generation tools, otherwise you won't be able to
create scenery.
You can get the library from:
http://www.cs.man.ac.uk/aig/staff/alan/software/
Unfortunately, because of some of the wording in the GPC licensing
terms we are unable to include the GPC library with the Flight Gear
distribution.
This library comes as a single source file and header with no build
directions. So, here are some directions contributed by Riley Rainey
<riley.rainey@websimulations.com> with additional notes by Curt Olson:
1. Download the GPC library source code from URL:
http://www.cs.man.ac.uk/aig/staff/alan/software
2. Unpack it; the current version seems to be 2.30:
$ zcat gpc231.tar.Z | tar xvf -
3. ***IMPORTANT STEP*** ***DO NOT SKIP***
This is important step if you want to use gpc to generate quality
scenery!
Before building the library, edit the gpc.h file and change
GPC_EPSILON to something bigger. You may experiment with this
value, but the following seems to work well for me:
#define GPC_EPSILON (0.000001)
4. Copy in the Makefile attached to this message:
$ cp Makefile ./gpc231
5. Check install paths. Edit the Makefile and make sure the install
paths are satisfactory. Also make sure that all the make commands
have leading tabs (i.e. that the tabs aren't expanded out into 8
spaces) otherwise the make will fail.
6. Build and install it:
$ cd ./gpc231
$ make
$ su
Password:
# make install
-------------------------- snip ------------------------------
# Unix/Linux makefile for GPC 2.31
#
# Riley Rainey (riley.rainey@websimulations.com)
CFLAGS = -O -g
libgpc.a: gpc.o
rm -f $@
ar cr $@ $<
ranlib $@
clean:
rm -f libgpc.a *.o core *~
install: libgpc.a
-mkdir -p /usr/local/lib
-mkdir -p /usr/local/include
install libgpc.a /usr/local/lib/libgpc.a
install gpc.h /usr/local/include/gpc.h

View file

@ -1,57 +0,0 @@
Starting the executable
=======================
Unix: runfgfs
Windows: runfgfs.bat
"runfgfs" is a script which runs the Flight Gear executable with
(hopefully) the correct $FG_ROOT directory specified.
Keyboard controls
=================
Flying is mainly done via the numeric keypad. There is some
unresolved wierdness with the GLUT libraries and keyboard input, so
for now, the state of the "Num Lock" key is important.
Num Lock Active
---------------
Pg Up/Pg Dn Throttle
Left Arrow/Right Arrow Aileron
Up Arrow/Down Arrow Elevator
Ins/Enter Rudder
"5" Center aileron/elevator/rudder
Home/End Elevator Trim
Num Lock Inactive
-----------------
Shift + <Numeric Keypad Key> Change view
where key is one of:
8 = forward
7 = left/forward
4 = left
1 = left/back
2 = back
3 = right/back
6 = right
9 = right/forward
Brakes
------
Press the "b" key to toggle
Autopilot
---------
Shift + A Enable autopilot (defaults to heading of 000)
Shift + S Disable autopilot
Shift + D Lock autopilot heading to current heading
Other
-----
F8 = Toggle fog modes
F9 = Toggle textures on/off
F10 = Toggle menu