Building MAME

From Ninerpedia
Revision as of 18:39, 12 December 2014 by Mizapf (talk | contribs)
Jump to navigation Jump to search

Here are some instructions for building MESS from source.





Linux and other Unix variants

If you decide to build MESS from source code in Linux, you should probably directly use the git repository on Github since bugs are corrected very quickly (and new ones are as quickly introduced ...).

Version 0.155 and higher

You need

  • gcc / gcc-c++
  • git
  • make
  • Development package of gconf2
  • Development package of gtk2
  • Development package of the SDL2 library
  • Development package of the SDL2_ttf library
  • Development package of the Qt4 library

Use git to clone the repository to your local drive:

git clone


Ubuntu users need to make use of the apt-get command or check the software repository tools. For Ubuntu 11.10 and newer, the following packages are required:

sudo apt-get install git
sudo apt-get install libsdl1.2-dev 
sudo apt-get install libgtk2.0-dev 
sudo apt-get install libgconf2-dev 
sudo apt-get install libsdl-ttf2.0-dev 

This set of package installations also imports gcc/gcc-c++ and make.


For an openSUSE installation, either use YaST or (if not already installed) follow this path:

zypper install git-core
zypper install make
zypper install gcc
zypper install gcc-c++
zypper install gconf2-devel
zypper install gtk2-devel
zypper install libSDL2-devel
zypper install libSDL2_ttf-devel
zypper install libqt4-devel


mkdir src
cd src
mkdir mame
cd mame
svn checkout .

make TARGET=mess

If you know earlier MESS versions you will notice that there is no separate makefile.sdl anymore. Do not forget to add the TARGET, or you will compile MAME (which is not that bad either, but then you'll have arcade machines and no TI systems).

For a 64-bit environment you may add PTR64=1, but it should be automatically set when you compile it on such a machine. For a quad-core machine, you can greatly speed up the compile process with -j4 (start 4 jobs).

make TARGET=mess -j4

When you want to get a current version, use the update command. Cleaning the build environment is optional, but if you experience problems when compiling, try to clean first.

svn update
make clean TARGET=mess 
make TARGET=mess -j4

Now you should have a freshly built mess executable file. Unlike previous versions, the tools like imgtool or chdman are not included. If your want to get the tools (chdman, imgtool), just specify "tools" to make:

 make tools TARGET=mess -j4