PLIB Logo

STEVE'S PORTABLE GAME LIBRARY PAGE.

    And Lo, the Lion and the Sheep shall lie down together - but the Sheep won't get much Sleep.
    -- Woody Allen
Sourceforge Logo

Portable Software using Portable Libraries.

I have been using my spare time to build a set of OpenSource (LGPL) libraries that will permit programmers to write games and other realtime interactive applications that are 100% portable across a wide range of hardware and operating systems. Here is what you need - it's all free and available with LGPL'ed source code on the web. All of it works well together.

PLIB is also used by many projects, here are some of the more prominent ones:

Tux_AQFH Logo
Tux the Penguin -
A Quest for herring.
TuxKart
TuxKart Logo
FlightGear Logo
FlightGear
Majik3D
Majik3D Logo
PrettyPoly Logo
PrettyPoly Editor
TuxFleet
TuxFleet Logo
TORCS
TORCS Logo
Spacething
Spacething Logo
Minigolf Maniacs Logo
Minigolf Maniacs
MOTE Logo
MOTE

If you are reading this document from the source distribution on your local disk, you can find the most up to date version of PLIB here:

PLIB's web presence is currently hosted on SourceForge, and the project summary page is here:

What's In PLIB?

The contents of PLIB are:

Documentation.

All documentation is available online (click on the package name in the section above) and distributed with PLIB in HTML.

Licensing.

PLIB is OpenSource software, issued under the terms of the Library varient GNU Public License (LGPL).

Download

You can get PLIB in various versions here: PLIB documentation, example programs, fonts, etc are now separated from PLIB itself to cut your download times.

The online documentation is always for the latest version of PLIB, which is usually the current experimental release. If you are using the older stable release, you may want to download the documentation appropriate to that release.

Dump this into a separate directory from PLIB itself - or else all the configuration and makefiles will clash. PLIB 1.0.xx has all these examples and documents rolled into the main tarball.

I'm now using the even-version-stable/odd-version-experimental version numbering scheme made popular by the Linux Kernel and others. This means that PLIB 1.2.* will be stable versions of PLIB that will only be changed to fix bugs. PLIB 1.3.* will be experimental versions that may or may not work with your applications.

PLIB 1.0.* used to install itself into /usr/local/plib, but from version 1.1.0 onwards, the default location moved to /usr/include/plib (for header files) and /usr/lib (for libraries). The library names also change to libplib*.a instead of lib*.a as before.

This change was necessary in order that PLIB could be shipped with Linux distributions - which do not generally install anything in /usr/local.

Mailing Lists

There are three PLIB mailing lists: In order to keep the spam off the lists, it's set up so you have to subscribe in order to send mail. To do that, visit:

Please do not send me personal mail in situations when one of the public mailing lists would be an appropriate forum - I hate it when people do that.

Requirements for PLIB

To do good 3D graphics, you'll need an OpenGL-compatible 3D graphics accellerator - and if you want to hear sounds, you'll obviously need a sound card.

In addition, you'll need the following other libraries:

Portability.

Installation.

On most Linux and other UNIX-like OS's, it's simply a matter of unpacking the tar-ball, changing directory into the plib_x.y.z directory and typing:

   ./configure
   make
   make install

Depending on the file permissions in /usr/local, you may need to be 'root' to perform the last step. At the end of that process, you should have a set of header files in /usr/local/plib/include and a set of corresponding libraries in /usr/local/plib/lib. There are some example programs in the 'plib-x.y.z/examples' subdirectory.

WARNING: If you are using 'Mesa' instead of an 'Official' OpenGL, please make sure you followed the instructions in the Mesa installation notes that tell you to symbolically link /usr/lib/libGL.so and /usr/lib/libGLU.so to their Mesa equivelents. More modern versions of Mesa may install directly into that location - but make sure that one way or another, /usr/lib/libGL.so points to your current OpenGL/Mesa library.

Some Linux distro's install OpenGL/Mesa in /usr/X11R6/lib - that is now officially deprecated - if your OpenGL/Mesa is installed there then I suggest you add symbolic links to make the files appear to be in /usr/lib.

If you are running some non-UNIX OS, (eg MS-Windows) there may be instructions on how to build PLIB in README.{OS name}. If you have problems - or can offer to streamline the process, then please pass on your knowledge via the mailing list. In general, it isn't complicated to install - you usually just have to compile all of the source files in each directory and link each subdirectory into a separate library. Don't try to make PLIB into a M$ '.DLL' - it's not worth the effort!

If you have the Microsoft Visual C++ suite, you'll find a set of project files - one in each source directory - plus a master workspace at the top of the tree.

If you have all the Cygnus (CygWin) compiler/tools, then use the UNIX build instructions.

There is now a README.mac for Macintosh users.


Steve J. Baker. <sjbaker1@airmail.net>