Building MAME

From Ninerpedia
Revision as of 19:50, 24 October 2014 by Mizapf (talk | contribs) (Linux and other Unix variants)
Jump to navigation Jump to search

Here are some instructions for building MESS from source.





Linux and other Unix variants

Version 0.144 - Version 0.154

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

You need

  • gcc / gcc-c++
  • subversion
  • make
  • Development package of gconf2
  • Development package of gtk2
  • Development package of the SDL library
  • Development package of the SDL_ttf library
  • Development package of the Qt4 library

The Subversion repository is at svn:// MAME and MESS repositories were united on August 20, 2012.

Version 0.155 and higher

Instead of SDL1, the SDL2 libraries are now required:

  • Development package of the SDL2 library
  • Development package of the SDL2_ttf library

The repository was moved to GitHub. You can use git but also continue with the Subversion client.

The Subversion repository is at


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 subversion 
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 subversion
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