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
Gentoo has its own page.
Exherbo has its own page.
OpenSolaris has its own page.
Contents
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.3
Mint Release |
Package Base |
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)
- 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
- 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
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 OSX
You will find the following packages on your Mac OSX 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
- 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
FreeType: http://freetype.org/ - Not required to compile, but most text will not be readable without it
LibTIFF: http://www.libtiff.org/ - Not required to compile, but required by some applications
Fontforge: http://fontforge.sourceforge.net/
LibJPEG: http://www.ijg.org/
LibXML2: http://xmlsoft.org/
LibXSLT: http://xmlsoft.org/xslt/
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.
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
