Linux library requirements

From OHRRPGCE-Wiki
Jump to navigationJump to search

To compile the OHRRPGCE from Source on GNU/Linux, you need the following (development) libraries: glibc, libtermcap, libX11, XPM, Xrandr, Xrender, SDL, SDL_mixer. libxml2 is also needed to compile the optional and unimportant xml2reload utility.

By default on GNU/Linux the OHRRPGCE uses SDL 1.2 and SDL_mixer 1.2, but can also be experimentally compiled with SDL 2 (with scons gfx=sdl2+fb). See backends.

You may also want timidity for its instruments, usually freepats (see Linux Notes). Note: SDL_mixer does not support all timidity patchset file formats.

Currently, the official x86 builds require glibc 2.7+ (2008 and later), x86_64 builds require glibc 2.14+ (2011 and later).

Debian GNU/Linux[edit]

Also applies to: Ubuntu

glibc and termcap should be installed by default (your mileage may vary). To get other libraries, use apt

apt-get install --no-install-recommends libx11-dev libxpm-dev libxrandr-dev libxrender-dev libsdl-mixer1.2-dev libncurses5-dev timidity

32 bit builds on a 64 bit Debian/Ubuntu[edit]

You can compile 64 bit builds of the OHRRPGCE with scons arch=64 (the default arch is whatever FB has been compiled as). But if you really want to compile 32 bit binaries on a 64 bit distro, continue reading...

Unfortunately the Debian multiarch implementation still seems to have some problems (as of Ubuntu 12). Various development packages are not co-installable, meaning that installing the 32 bit development libraries will uninstall the native 64 bit versions [1] [2]. To install anyway, do

apt-get install --no-install-recommends libx11-dev:i386 libxpm-dev:i386 libxrandr-dev:i386 libxrender-dev:i386 libsdl1.2-dev:i386 libsdl-mixer1.2-dev:i386 libncurses5-dev:i386

Make sure to specify --no-install-recommends otherwise apt-get will ask to uninstall mountains of critical packages such as python! It should only tell you that it needs to uninstall around 30 lib*-dev packages! You will also need to install g++-multilib. You don't need to install a 32-bit timidity package, but you will want a patch set for timidity.

The more complicated alternative is to instead install the 32 bit packages in a chroot.

You might also need to install:

sudo apt-get install gcc-4.8-multilib g++-4.8-multilib

With the version number adjusted to match your system's currently installed version of gcc and g++.

Fedora Core 5[edit]

Also applies to: Redhat, XO

On fedora, use yum

yum install glibc-devel libtermcap-devel libX11-devel libXpm-devel libXrandr-devel libXrender-devel SDL_mixer-devel

See Also[edit]