The
CuteMupen GUI for the
Mupen64plus N64 Emulator has stopped working on Wheezy so I decided to build the
wxMupen64plus GUI which requires building
wxwidgets 2.9 (the current default is 2.8 on Wheezy). I successfully backported
wxwidgets using
GCC-4.5 (&
not the current default 4.6) - but in the end used my own deb package built to install under
/opt which I also detail further below.
If you would just like the debs:
Backported wxwidgets 2.9.2 for Wheezywxwidgets 2.9.3 (which installs to /opt) - see notes below to manually add wxwidgets to the Library Path with ldconfig.
wxmuppen64plus 0.30 GUIFirst the Backporting (a variation of these instructions):Download the
debianised source code from the
Ubuntu PPA (the last 3
wxwidgets files
.diff.gz /
.dsc /
.orig.tar.gz). Make sure your build folder has
no spaces in the folder name.
Install the build tools:
Code:
apt-get install debhelper dpkg-dev devscripts fakeroot build-essential pbuilder
Open a Terminal in your build folder & patch the source code:
Code:
dpkg-source -x wxwidgets2.9_2.9.2-2.dsc
Edit the changelog:
Code:
cd wxwidgets2.9-2.9.2/debian
dch -i
Edit the first few lines of the changelog, such as adding ~wheezy after the version number & adding "repackaged for Debian Wheezy" after the * on the line below & then:
<Ctl><O> (the letter 'O')
<Bkspace> four times
<Enter>
Y, to overwrite
<Ctl><X> to exit nano.
The
debian/control &
control.in files contain the build dependencies which need one amendment to build
wxwidgets on Wheezy. Change
libjpeg62-dev to
libjpeg8-dev & save the files.
You can go through the
control files manually to get a list of the build dependencies - or the
easier way (which may also require aptitude to be installed):
Code:
su -c /usr/lib/pbuilder/pbuilder-satisfydepends
Install the dependencies shown & re-run the above command until there is nothing left to install. You may find synaptic moans of a broken dependency for "pbuilder-dummy" - this is safe to uninstall from synaptic.
For some reason trying to compile
wxwidgets with
GCC-4.6 gave me seg faults. The easiest way to change the compiler version used when working with
debianised sources is to change the symbolic link pointing to
GCC. In this case to
GCC-4.5:
Code:
mv /usr/bin/gcc /usr/bin/gcc.bak-4.6
ln -s /usr/bin/gcc-4.5 /usr/bin/gcc
To build deb packages
without rebuilding the source packages or signing them:
Alternatively - if you do want to build the deb packages
AND rebuild the sources, execute:
The debs will be built one level above the source folder (where your original downloaded source files are) & can be installed with:
& change the symlink back for GCC:
Code:
mv /usr/bin/gcc /usr/bin/gcc.bak-4.5
mv /usr/bin/gcc.bak-4.6 /usr/bin/gcc
This will give you a bunch of deb packages:
Code:
libwxbase2.9-0_2.9.2-2.1~wheezy_i386.deb
libwxbase2.9-dbg_2.9.2-2.1~wheezy_i386.deb
libwxbase2.9-dev_2.9.2-2.1~wheezy_i386.deb
libwxgtk2.9-0_2.9.2-2.1~wheezy_i386.deb
libwxgtk2.9-dbg_2.9.2-2.1~wheezy_i386.deb
libwxgtk2.9-dev_2.9.2-2.1~wheezy_i386.deb
wx2.9-headers_2.9.2-2.1~wheezy_i386.deb
wx2.9-i18n_2.9.2-2.1~wheezy_all.deb
wx-common_2.9.2-2.1~wheezy_i386.deb
But it's generally
not a good idea to install the development version of anything on your system under
/usr if you also run the stable libraries. A better option is to build a package that installs under
/opt to avoid any version conflicts (the above files are 2.8 compatible however & could become the
only wx libraries on your system).
The
Backported wxwidgets-2.9.2 deb packages (minus the debug packages) can be found here (8.6meg)
The safer option (building your own deb package to install under /opt):Download & unpack the wxwidgets development version & open a Terminal in the source folder.
This build
has OpenGL / SDL & Webkit support so I also installed:
Code:
apt-get install freeglut3-dev libsdl1.2-dev libwebkitgtk-dev
& ran
configure in the source tree to use
GCC-4.5 (& not 4.6). I also configured
wxwidgets to use it's built in libraries to reduce any future conflicts with 3rd party libraries:
Code:
CC=gcc-4.5 ./configure --prefix=/opt/wx/2.9.3 \
--with-gtk \
--with-gnomeprint \
--with-opengl \
--enable-debug \
--enable-debug_gdb \
--enable-geometry \
--enable-graphics_ctx \
--enable-sound --with-sdl \
--enable-mediactrl \
--enable-display \
--enable-unicode \
--with-libjpeg=builtin \
--with-libpng=builtin \
--with-libtiff=builtin \
--with-zlib=builtin \
--with-regex=builtin \
--with-expat=builtin \
--enable-optimise \
--disable-compat26 \
--enable-webview \
--enable-webview-webkit \
Finally compile the source code with
one of the following:
Code:
make
make -j2 # for Dual Core processors
make -j4 # for Quad Core processors
& build a deb package with
checkinstall:
& the deb package will install itself (& can be found in the source code folder)
The
Wheezy wxwidgets-2.9.3 deb package can be found here (9.2 meg)
You also need to add the new
wxwidget library to the Library & Binary PATH's:
Code:
nano /etc/ld.so.conf
### & add the following on the first line:
/opt/wx/2.9.3/lib
& add the new Binary PATH to
/root/.bashrc Code:
export PATH=$PATH:/opt/wx/2.9.3/bin
Finally as root run:
Code:
ldconfig
### & check the wxwidgets version:
wx-config --version
Finally build wxMupen64plusCode:
apt-get install mercurial
hg clone https://bitbucket.org/auria/wxmupen64plus
cd wxmupen64plus
### download mupen64plus API (not wx)
hg clone https://bitbucket.org/richard42/mupen64plus-core
The
configure command must include the
absolute path to the API or it will fail - it should be something like:
Code:
./waf configure --mupenapi=/home/user/build/wxmupen64plus/mupen64plus-core/src/api --wxconfig=/opt/wx/2.9.3/bin/wx-config
Finally compile & build a deb package:
Code:
./waf
sudo checkinstall --fstrans=no --nodoc ./waf install
The
wxmupen64plus 0.30 deb package can be found here (305k). A desktop dot file & script to register the mime type are included in the archive.
Games can be played inside the application or externally:

