Compiling Pygame from source: (Whenever there's a failure in configuring, make sure the newly installed packages are registered in PATH, LD_LIBRARY_PATH and CPATH ... environment variables.) 1. extract *.tar.gz 2. switch to directory smpeg-0.4.4, make it: 2.1 $ ./configure (if want to install to another directory: $ ./configure --prefix=PREFIX1) 2.2 edit Makefile, change the line "CC = gcc" to "CC = g++", save, exit 2.3 $ make 2.4 $ su if necessary, then $ make install, $ exit if sued 3. switch to directory Numeric-23.0, make it: simply run setup.py with parameter "install" on the python on which you want to install Numeric by default: $ python setup.py install ($ su first if necessary and $ exit after done) 4. switch to directory freetype-2.1.4, make it: 4.1 $ ./configure (if want to install to another directory: $ ./configure --prefix=PREFIX2) 4.2 make 4.3 $ su if necessary, then $ make install, $ exit if sued 5. switch to directory SDL_ttf-2.0.6, make it: 5.1 $ ./configure (if want to install to another directory: $ ./configure --prefix=PREFIX3) 5.2 edit SDL_ttf.c, add this new line to the head: #define ft_open_stream FT_OPEN_STREAM save, exit 5.3 make 5.4 $ su if necessary, then $ make install, $ exit if sued 6. switch to directory pygame-1.5.6, make it: 6.1 if you did not specify --prefix when configuring SDL_ttf-2.0.6, insert this line: incdirs.append('/usr/local/include/SDL') before line 158 (a for loop) of config_unix.py if you did specify PREFIX3, insert the following 2 lines: incdirs.append('PREFIX3/include/SDL') libdirs.append('PREFIX3/lib') before line 158 (a for loop) of config_unix.py, where PREFIX3 should be the full path of the PREFIX3 you have specified save, exit 6.2 $ python setup.py (setup.py configures the making for the first time; later on, you must run config.py before running it) (the python you run should be the one on which you want to install pygame, $ su first if necessary and $ exit after done) Congratulations! Making RPM package: switch to directory pygame-1.5.6, make rpm: $ python setup.py bdist_rpm you'll get an AssertionError and stop, look at the last file in the trace, edit it (you may need to $ su first), and remove the 2 offending lines $ python setup.py bdist_rpm the RPM files are in the dist directory Good luck to everyone!