Recommended Packages (Building Wine on 32bit)

To build Wine (this page is for wine 32bit version - Wine on 64bit has its own page) properly, you may need to install a bunch of libraries.

generally speaking:


  • Use "./configure --verbose" to get Hints for some Packages


For Ubuntu, Fedora, SuSE, OpenSolaris, and CentOS 5.8 64 bit, the easiest way to do this is to download and run http://winezeug.googlecode.com/svn/trunk/install-wine-deps.sh as root (e.g. with sudo). Try running that before reading the rest of this page.

Right-click on the link and [save link as]. To run it use:

sudo sh ./install-wine-deps.sh

Note for valgrind users

If Valgrind is installed on the build machine, the wine you build will have valgrind annotations, and valgrind can be used to find accesses to freed heap blocks in Windows apps running on Wine. But even if valgrind.h wasn't found at build time, you can still use valgrind to find other memory errors, like accesses to uninitialized memory.

Ubuntu

On an Ubuntu system you can install the same dev packages that the packaged Wine uses from built-in package manager:

sudo apt-get build-dep wine1.3

If the build dependencies have changed recently, you may need to enable the Wine PPA to get an updated build-dep. Developers may want to enable the Wine PPA anyway, as it provides an updated wine-gecko package and sometimes newer versions of packages needed by Wine on older Ubuntus.


Linux Mint

Adapted from this Linux Mint forum post.

What you should be able to do is just go over to the Other Software tab to where the Ubuntu repos are configured and check a Source Code box for the Ubuntu repos, but for some reason it's not there.
So, to add the repo manually run

sudo gedit /etc/apt/sources.list

Make a duplicate of this line noting that "packagebase" should match the version of Linux Mint you are using:

deb http://archive.ubuntu.com/ubuntu/ packagebase main restricted universe multiverse

and then change the deb at the beginning to deb-src

deb http://archive.ubuntu.com/ubuntu/ packagebase main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ packagebase main restricted universe multiverse

Save the file then run

sudo apt-get update
sudo apt-get build-dep wine1.5

Mint Release

Package Base

Linux Mint 13 Maya

precise

Linux Mint 12 Lisa

oneiric

Linux Mint 11 Katya

natty

Linux Mint 10 Julia

maverick

Linux Mint 9 Isadora

lucid

Linux Mint 8 Helena

karmic


Fedora

  • alsa-lib-devel
  • cups-devel
  • dbus-devel
  • fontconfig-devel
  • freetype-devel
  • giflib-devel
  • gnutls-devel
  • gsm-devel
  • hal-devel
  • isdn4k-utils-devel
  • lcms-devel
  • libGLU-devel
  • libICE-devel
  • libjpeg-devel
  • libpng-devel
  • libSM-devel
  • libusb-devel
  • libv4l-devel
  • libX11-devel
  • libXau-devel
  • libXcomposite-devel
  • libXcursor-devel
  • libXext-devel
  • libXi-devel
  • libXinerama-devel
  • libxml2-devel
  • libXrandr-devel
  • libXrender-devel
  • libxslt-devel
  • libXt-devel
  • libXv-devel
  • libXxf86vm-devel
  • mesa-libGL-devel
  • ncurses-devel
  • openal-devel
  • openldap-devel
  • openssl-devel
  • pkgconfig
  • sane-backends-devel
  • xorg-x11-proto-devel

Fedora Core 5 Note: I've seem some trouble with the SELinux enabled FC5 libGL.so* giving the following error during the ./configure script:

libGL.so.1: cannot enable executable stack as shared object...

To fix it, type:

chcon -t textrel_shlib_t /usr/lib/libGL.so.*
execstack -c /usr/lib/libGL.so.*

Programs :

  • bison
  • flex
  • prelink

Note that, unless you are tracking Git and know what you are doing, you SHOULDN'T have valgrind. Also, unless you plan to work on the TrueType fonts you don't need FontForge.

The script http://kegel.com/wine/fc5.sh, adapted from Lei's wbel3 script below, should install all the needed packages for Fedora Core 5 systems. Please read the comments in the script before running it.

Fedora Core 9 Note: Run ulimit -s unlimited before compiling.


RHEL / WBEL

  • cups-devel
  • fontconfig-devel
  • freetype-devel
  • gphoto2-devel
  • isdn4k-utils-devel
  • libjpeg-devel
  • libpng-devel
  • libxml2-devel
  • libxslt-devel
  • ncurses-devel
  • openldap-devel
  • openssl-devel
  • sane-backends-devel
  • XFree86-devel
  • zlib-devel

Programs :

  • bison
  • flex
  • gcc
  • prelink
  • pkgconfig

Unless you plan to work on the TrueType fonts you don't need FontForge.

Lei Zhang wrote a script to install the required packages for WBEL 3 and RHEL 3 (untested): linux.ucla.edu/~leiz/software/wine/wbel3.sh.txt as well as a script to automatically build Wine RPMs for those platforms: linux.ucla.edu/~leiz/software/wine/wine_rpmbuild.sh.txt


Debian

The simplest way to get the required packages is using apt-get build-dep wine respectively aptitude build-dep wine.

Using build-dep will select libgl1-mesa-dev to provide libgl-dev; if you are an Nvidia user you may prefer to replace it with nvidia-glx-dev afterwards.

If you prefer to install them manually, the required packages are as follows:

  • Audio:
    • winealsa.drv: libasound-dev (libasound2-dev)
    • Optionally: oss4-dev
  • Multimedia:
    • libgstreamer-plugins-base0.10-dev
    • libv4l-dev
  • Capi Isdn support:
    • libcapi20-dev
  • Color management:
    • liblcms-dev (liblcms1-dev)
  • Printing with CUPS:
    • libcupsys-dev (libcupsys2-dev)
  • Scanner:
    • libsane-dev
  • Drive autodetection:
    • libhal-dev
    • libdbus-1-dev
  • To get more information when valgrind-ing Wine:
    • valgrind
  • The following, but only if you plan to work on the TrueType fonts, and can install them from testing - do not install these from Sarge:

    • fontforge/testing
  • If you are using Debian Etch with Nvidia:
    • nvidia-glx-dev
  • And all of the following packages (when two package names are specified, the first one is the virtual package name and the one in parentheses is the one providing that package):
    • bison
    • flex
    • gcc
    • libc6-dev
    • libfontconfig-dev (libfontconfig1-dev)
    • libfreetype6-dev
    • libgl-dev (libgl1-mesa-dev or xlibmesa-gl-dev)
    • libglu-dev (libglu1-mesa-dev or xlibmesa-glu-dev)
    • libgphoto2-dev (libgphoto2-2-dev)
    • libgsm1-dev
    • libice-dev
    • libjpeg-dev (libjpeg62-dev)
    • libldap-dev (libldap2-dev)
    • libmpg123-dev
    • libncurses5-dev
    • libopenal-dev
    • libpng-dev (libpng12-dev)
    • libsm-dev
    • libssl-dev
    • libtiff4-dev
    • libusb-dev
    • libx11-dev
    • libxcomposite-dev
    • libxcursor-dev
    • libxext-dev
    • libxi-dev
    • libxinerama-dev
    • libxml2-dev
    • libxrandr-dev
    • libxrender-dev
    • libxslt-dev (libxslt1-dev)
    • libxt-dev
    • libxxf86vm-dev
    • make
    • prelink


FreeBSD 6.3

You will need the Ports system. Then install the following packages using the Ports system:

  • cd /usr/ports/devel/bison && make install

  • cd /usr/ports/graphics/libgphoto2 && make install

  • cd /usr/ports/graphics/sane-frontends && make install

  • cd /usr/ports/security/ca_root_nss && make install

The other packages that Wine depends on seem to be installed by default so they are not listed here.

NOTE: To get Wine to properly find all the dependencies, you should run configure with: CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure


PC-BSD 1.5

You will need the Ports system. Then install the following packages using the Ports system:

  • cd /usr/ports/graphics/libgphoto2 && make install

  • cd /usr/ports/security/ca_root_nss && make install

Most of the other packages that Wine depends on seem to be installed by default so they are not listed here.

NOTE: To get Wine to properly find all the dependencies, you should run configure with: CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure

Otherwise, you'll get some strange errors, since configure won't find the headers.


Mac OS X

You will find the following packages on your Mac OS X installation DVD (at least on Leopard). Most if not all are installed when you install the Xcode IDE.

  • CoreAudioSDK for CoreAudio.h

  • OpenGLSDK
  • X11SDK for /usr/X11/include and libs (see notes below)
  • DevSDK for /usr/include/*.h /usr/lib/*.{a,la,dylib}
  • DeveloperToolsCLI for /usr/bin/make, autoconf, /usr/share/man/ etc.
  • gcc4.2ADC to use gcc-4.2 instead of gcc-4.0

Other key libraries

  • Fontforge: http://fontforge.sourceforge.net/ - Not required to compile, but most text will not be readable without it (not required for all/newer versions of OS X)

  • FreeType: http://freetype.org/

    • FreeType will have to be configured with ./configure CFLAGS="-arch i386"  to avoid the following errors because a 64 bit version of FreeType is built: checking for -lfreetype... not found configure: error: FreeType 32-bit development files not found. Fonts will not be built.

  • LibJPEG: http://www.ijg.org/

  • LibTIFF: http://www.libtiff.org/ - Not required to compile, but required by some applications (does not compile correctly on OS X 10.8 as of Nov 2012)

  • LibXML2: http://xmlsoft.org/ (not required for all/newer versions of OS X)

  • LibXSLT: http://xmlsoft.org/xslt/ (not required for all/newer versions of OS X)

Add --enable-maintainer-mode or --verbose to your ./configure line to see a full list of packages that Mac OS X does not provide but Wine may possibly need.

  • X11/XQuartz - If you are running Mac OS X 10.5 (Leopard) through 10.7 (Lion), you can install X11 from your Mac OS X installation DVD by running the optional installs package. If you are running other versions, you will need to download and install XQuartz.

  • Xcode - Xcode is included on your Mac OS X installation DVD in the 'Optional Installs' folder. Either install the version that shipped with your operating system's DVD, or download the latest version from the Apple macosforge web site. If you do not wish to install the full Xcode suite, locate and install at least the GCC, CoreAudioSDK and X11SDK packages... (Notes for building with GCC 4.5 on Mac can be found Building GCC 4.5)

/!\ Note that since Xcode 3.x (as distributed with Leopard), a bug in the MacOS linker causes all 16 bit applications (incl. installers) to crash. If you have a Tiger system, use Xcode 2.x from your DVD. If you are a developer, you can obtain Xcode 2.x from Apple's Developer Connection (ADC). Or you may patch the Xcode 3.x linker source code per the instructions given in bug #14920. Otherwise use ./configure --disable-win16

/!\ As of Mac OS X 10.6 (Snow Leopard) the compiler compiles to 64-bit by default. This caused problems when attempting to compile the stable 1.0.1 release of Wine, but the newer builds deal with this issue.


Checking for additional libraries - include/config.h

After running configure while things are compiling, you can check if you're missing some build dependencies by looking at include/config.h


CategoryDevelopment

Recommended Packages (last edited 2013-03-05 13:09:28 by FrancoisGouget)