WineOn64bit


Installing 32-bit Wine on a 64-bit system

If you just want to use Wine, there is no need to compile it using the instructions here. Just go to the downloads page and click the link for your distribution:

http://www.winehq.org/site/download

Building Wine on a 32-bit system

Has its own page Recommended Packages.

Building 64-bit Wine on a 64-bit system

Has its own page Wine64.

Building 32-bit Wine on a 64-bit (x86-64) system

To successfully build 32-bit Wine on 64-bit system your system needs 32-bit compatibility packages. These include: a compiler that can create 32-bit binaries, 32-bit development and runtime libraries, and development headers. To install them all, you can do it the easy way or the hard way:

(Note: Since the Linux world as well as Wine change daily, what works today might not work tomorrow. "Easy scripts" might not install everything that the latest Wine requires.)

The hard way

First start with installing all the packages from the Recommended Packages list with their -32bit counterparts.

Next get all the missing bits. The simple way to check what's missing is:

./configure 

At the very end, the above command will print the list of missing requirements (as warnings). Most are libraries but some could be programs like fontforge, rsvg, icotool, etc. Keep installing packages containing missing pieces until the list of missing pieces doesn't shrink anymore.

Most 64-bit Linux distributions do not handle 32-bit compatibility in the same way. Distributions like Fedora and SuSE chose to extend their 32-bit distribution to 64-bit by installing 64-bit libraries into /usr/lib64 and installing 32-bit libraries in /usr/lib. While distributions like Debian chose to install only 64-bit libraries. The 64-bit libraries are installed in /usr/lib and /usr/lib64 is a symlink to /usr/lib.

What this means is 64-bit and 32-bit applications can seamlessly coexist and properly function on Fedora and SuSE while Debian users will have to jump through some hoops. (Note: Things change daily so above statements may not be true anymore.)

The most common for Debian-like distros is to set up a 32-bit chroot environment. In order to run 32-bit programs, 32-bit libraries and programs need to be installed in /emul/ia32-linux. The emulation directories then need to be used in combination with chroot. Another alternative is to have the 32-bit libraries installed alongside the 64-bit ones, such as in Ubuntu's /usr/lib32.

Debian is more problematic as the Wine configure script can't properly detect the 32-bit libraries when installed, and will sometimes point to the 64-bit libraries and throw linking errors, however this can be worked around (see below). If you just want the latest version of Wine in Debian, you should be able to build the etch package in 64-bit as well.

In some 64/32 bit environments the configure script will fail to find some of the 32 bit libraries. If this is caused by pkg-config listing the 64 bit development packages (from /usr/lib64/pkgconfig) you can try to run:

PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig ./configure 

The easier way

On supported distributions (currently, just Ubuntu 8.10), you can just do

wget http://winezeug.googlecode.com/svn/trunk/install-wine-deps.sh
sudo sh install-wine-deps.sh 

to install all the needed packages and fix the missing symlinks in /usr/lib32, and

./configure
make 

as normal to build 32 bit wine.

The Ubuntu way

Add the Ubuntu Wine PPA as though you were just downloading the package like a normal user. This may give you some packages at newer versions than exist in stock Ubuntu needed for Wine, even if you don't install the Wine package. Then you can get every build dependency that the source package uses (which should be complete)

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get build-dep wine1.3 

To compile and build is straightforward, with no extra switches required:

./configure
make 

On 12.04, which now has multiarch support, things are trickier:

sudo apt-get build-dep wine1.4:i386

Doing this may very well remove your ability to build 64-bit programs.

Building Wine on 64-bit Debian Testing

  1. apt-get the following packages:
    • ia32-libs (you need version 1.18 at least)
    • libc6-dev-i386
    • lib32z1-dev
    • ia32-libs-dev (it has the /usr/lib32/libpng.so, which seems to be required when installing TTF fonts)
    • optionally, a bunch of other libraries: libxcursor-dev libfontconfig1-dev libldap2-dev libxslt-dev libgl1-mesa-dev libglu1-xorg-dev libgnutls-dev libxi-dev lib32ncurses5-dev libxrandr-dev libxxf86vm-dev
  2. Make symlinks (see below, in the Debian SID section, for the full list of symlinks):
    cd /usr/lib32 ln -s libdbus-1.so.3 libdbus-1.so  

This is required as of 2008/05/20 to prevent Wine warning that HAL cannot be found. See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=473586

  1. Download the wine source and assuming gcc and all needed development packages are installed (as per http://wiki.winehq.org/Recommended_Packages) you can compile wine using (you shouldn't need --prefix=... or --x-libraries=... with the latest Debian Unstable AMD64):

    ./configure
    make
    make install 
  2. If the configure command fails with "configure: error: C compiler cannot create executables" and you use gcc-4.1, install "gcc-4.1-multilib" to solve it.
  3. Run wine by executing /emul/ia32-linux/usr/bin/wine (you can add the directory to the path or make a script). If wine complains that it can't find libwine.so.1 make sure /emul/ia32-linux/usr/lib is part of the LD_LIBRARY_PATH or run ldconfig -v.

Building Wine on 64-bit Debian Unstable (Sid)

The build dependencies in the released Wine have most of what you need:

sudo apt-get build-dep wine 

On Debian you may need to add some more, or run the build-dep command after adding the APT Repository.

To get Direct X working with nvidia, install the 32-bit drivers:

sudo apt-get install nvidia-glx-ia32

To add pulseaudio support, install the package lib32asound2-plugins:

sudo aptitude install lib32asound2-plugins 

Run configure with:

CC="gcc-4.4 -m32" LDFLAGS="-m32 -L/lib32 -L/usr/lib32 -Wl,-rpath,/lib32 -Wl,-rpath,/usr/lib32" ./configure -v

It's likely that you will get some missing library warnings. To fix this, you need to hunt down the 32-bit development files for each missing library. It is not crucial to get rid of all the missing library warnings, but you should try to minimize them.

For example,

configure: libv4l 32-bit development files not found.

is fixed by:

sudo aptitude install lib32v4l-dev

If all needed libraries are present there will be no missing-library warnings or errors anywhere. If you find that this process misses a library, then it means we are either missing a link or the ia32-libs package is missing the 32-bit version of the library. In either case, contact the Ubuntu package maintainer, Scott Ritchie, so things can be fixed.

We explicitly set CC="gcc-4.4 -m32", as the 32-bit libraries are no longer provided for gcc-4.2 or earlier. Newer version of gcc also work. Update version of gcc as needed. Also, the LDFLAGS explicitly set 32-bit mode.

Now build and install with:

make
sudo make install

Troubleshooting

If you have problems with libjpeg, there is a confirmed bug. The work around is:

You need to remove the version 0.62 and create a symbolic link to the version 0.8, probably both are installed into /usr/lib, in my case (i'm using debian amd64) are installed in /usr/lib32, i just type: $ ls | grep libjpeg, i've located the both libjpeg, deleted the 62 typing: # rm -f ./libjpeg.so.62 ./libjpeg.so.62.0.0 and create the two symlinks from version 0.8 typing: # ln -s ./libjpeg.so.8 ./libjpeg.so.62 and # ln -s ./libjpeg.so.8 ./libjpeg.so.62.0.0 and just compiled the wine again and problem solved, to assure that is the correct version of libjpeg just type: ./configure | grep jpeg before the make.

I found that ./configure still gave me a libjpeg error, but programs that used libjpeg worked well.


Building Wine on 64-bit Gentoo

Please read first:

32bit Chroot

NOTE: This will compile wine and install it into your system. It is a really bad idea to install stuff manually into your gentoo system. If you want to be on the safe side, omit the "make install" command. You can still run wine from the source directory using the wine wrapper found at the root of the directory.

  1. Emerge wine and wine should install fine, if on the other hand you want to compile wine by hand follow the steps below.
  2. Install the x86 compatibility libraries (emul-linux-x86-xlibs, emul-linux-x86-soundlibs, ..)
  3. Download the wine source and assuming gcc and all needed development packages are installed you can compile wine using: configure --prefix=/emul/linux/x86/usr --x-libraries=/emul/linux/x86/usr/lib/X11 (in case of xorg 7.0, else */usr/X11R6/lib), make depend && make, make install

  4. Run wine by executing /emul/linux/usr/bin/wine (you can also make a symlink /usr/bin/wine -> /emul/linux/usr/bin/wine and the same for wineserver, then you can just type wine). If wine complains that it can't find libwine.so.1 make sure /emul/linux/usr/lib is part of the LD_LIBRARY_PATH or run ldconfig -v.

If nothing seems to work try using ebuild to compile it once and copy the source from /var/tmp/portage/wine-9999/work/wine somewhere. Ebuild /usr/portage/app-emulation/wine/wine-9999.ebuild fetch unpack compile. To update CVS add clean to the beginning.

64bit System (with emulation libraries)

Here is a short version of the script which I use to compile wine checked out from CVS: works with 0.9.24

#!/bin/bash ./configure --x-libraries=/emul/linux/x86/usr/lib/ LDFLAGS="-L/emul/linux/x86/usr/lib -L/emul/linux/x86/lib" make && ./wine --version; 

You can use the following to save some space after compilation:

find . -name '*.o' -exec rm \"{}\" \; 

or if your find supports:

find . -name '*.o' -delete 

I have the following emul packages emerged:

  • app-emulation/emul-linux-x86-gtklibs
  • app-emulation/emul-linux-x86-compat
  • app-emulation/emul-linux-x86-baselibs
  • app-emulation/emul-linux-x86-sdl
  • app-emulation/emul-linux-x86-soundlibs
  • app-emulation/emul-linux-x86-medialibs
  • app-emulation/emul-linux-x86-xlibs
  • app-emulation/emul-linux-x86-qtlibs
  • app-emulation/emul-linux-x86-java

Building Wine on 64 bit openSUSE

Make sure you have the following 32 bit development packages installed in addition to Recommended Packages

  • capi4linux-32bit
  • cups-libs-32bit
  • fontconfig-devel-32bit
  • freeglut-devel-32bit
  • freetype2-devel-32bit
  • gcc-32bit
  • giflib-devel-32bit
  • glibc-devel-32bit
  • hal-32bit
  • libjpeg-devel-32bit
  • liblcms-devel-32bit
  • libpng-devel-32bit
  • libxml2-devel-32bit
  • libxslt-devel-32bit
  • Mesa-devel-32bit
  • ncurses-devel-32bit
  • openldap2-devel-32bit
  • openssl-devel-32bit
  • sane-32bit
  • unixODBC-devel-32bit
  • xorg-x11-devel-32bit
  • xorg-x11-libICE-32bit
  • xorg-x11-libICE-devel-32bit
  • xorg-x11-libSM-devel-32bit
  • xorg-x11-libX11-devel-32bit
  • xorg-x11-libXext-32bit
  • xorg-x11-libXext-devel-32bit
  • xorg-x11-libXp-32bit
  • xorg-x11-libXrender-devel-32bit
  • xorg-x11-libXt-32bit
  • zlib-devel-32bit Additional for SuSE 11.x:
  • libasound2-32bit
  • libcom_err-devel-32bit
  • libgnutls26-32bit
  • libgphoto2-32bit
  • libopenssl0_9_8-32bit

For openSUSE 11.x you will need to create these symlinks:

cd /usr/lib
sudo ln -s libasound.so.2.0.0 libasound.so
sudo ln -s libfreetype.so.6 libfreetype.so
sudo ln -s libgphoto2.so.2.4.0 libgphoto2.so
sudo ln -s libcups.so.2 libcups.so
sudo ln -s libssl.so.0.9.8 libssl.so
sudo ln -s libcrypto.so.0.9.8 libcrypto.so
sudo ln -s libhal.so.1.0.0 libhal.so
sudo ln -s libgphoto2_port.so.0.8.0 libgphoto2_port.so
sudo ln -s libgnutls.so.26 libgnutls.so
sudo ln -s libgstreamer-0.10.so.0.29.0 libgstreamer-0.10.so
sudo ln -s libgstapp-0.10.so.0.24.0 libgstapp-0.10.so
sudo ln -s libgstbase-0.10.so.0.29.0 libgstbase-0.10.so
cd /lib
sudo ln -s libdbus-1.so.3.4.0 libdbus-1.so
sudo ln -s libkeyutils.so.1 /usr/lib/libkeyutils.so
sudo ln -s libgobject-2.0.so.0.2800.0 /usr/lib/libgobject-2.0.so
sudo ln -s libgmodule-2.0.so.0.2800.0 /usr/lib/libgmodule-2.0.so
sudo ln -s libgthread-2.0.so.0.2800.0 /usr/lib/libgthread-2.0.so
sudo ln -s libglib-2.0.so.0.2800.0 /usr/lib/libglib-2.0.so 

Note: the targets of the above symlinks may need to be adjusted depending on what versions of the libraries you have installed on your system.

Run configure with:

./configure --x-libraries=/usr/X11R6/lib 

The --x-libraries switch is important, otherwise it will pick up the 64bit X libraries and just not work.


Building Wine on Fedora Core 5 x86_64

Run the following commands as root:

cd /usr/lib
ln -s libfreetype.so.6 libfreetype.so
ln -s libXext.so.6 libXext.so
ln -s libX11.so.6 libX11.so
ln -s libGLU.so.1 libGLU.so 

All the required development packages are available in the core and extras repositories.

Run configure with:

./configure --x-libraries=/usr/X11R6/lib --x-includes=/usr/X11R6/include --with-x
make depend
make 

Building Wine on Fedora Core 6 x86_64

First, remove any wine rpms.

rpm -qa|grep wine|xargs rpm -e 

Install these Recommended Packages.

Wine compiles on gcc 4.1.1 but the resulting builds generate an error. This also happens on some other distros. The temporary workarounds involve using -fno-stack-protector or an earlier version of gcc.

export CFLAGS="-fno-stack-protector" ./configure #--prefix=/usr/lib
#see note below
make depend && make
su -c "make install" 

Note: This writeup works for nVidia. If you are using older drivers or drivers for other cards you may also have to run as root the first set of commands recommended for Fedora Core 5 and also you may need the same or similar ./configure options as Fedora Core 5 for those drivers.

You may encounter errors with SELinux, but it is recommended that you install setroubleshoot rather than disabling SELinux completely.

Building Wine on Fedora 7 x86_64

First, remove any wine rpms.

rpm -qa|grep wine|xargs rpm -e 

Run the following command. This will install all necessary packages.

yum install alsa-lib-devel audiofile-devel glib2-devel libogg-devel libvorbis-devel pkgconfig qt-devel fontconfig-devel freetype-devel libICE-devel libSM-devel libX11-devel libXau-devel libXcursor-devel libXdmcp-devel libXext-devel libXft-devel libXinerama-devel libXrandr-devel libXrender-devel libXt-devel libjpeg-devel libmng-devel libpng-devel mesa-libGL-devel xorg-x11-proto-devel libXi-devel sane-backends-devel libieee1284-devel libusb-devel libXmu-devel ncurses-devel gnutls-devel libgcrypt-devel libgpg-error-devel libXv-devel opencdk-devel expat-devel cups-devel e2fsprogs-devel krb5-devel openssl-devel giflib-devel openldap-devel lcms-devel cyrus-sasl-devel libxml-devel libxml2-devel libxslt-devel libxml libXxf86dga-devel libXxf86vm-devel isdn4k-utils-devel libao-devel hal-devel dbus-devel glibc-devel.i386 mesa-libGLU-devel.i386 flex bison fontforge prelink 

Now you can build it.

./configure
make depend && make
make install 


Building Wine on Fedora 8 x86_64

First, remove any wine rpms.

rpm -qa|grep wine|xargs rpm -e 

Run the following command. This will install all necessary packages.

yum install audiofile-devel glib2-devel libogg-devel libvorbis-devel pkgconfig qt-devel freetype-devel libICE-devel libSM-devel libX11-devel libXau-devel libXcursor-devel libXdmcp-devel libXext-devel libXft-devel libXinerama-devel libXrandr-devel libXrender-devel libXt-devel libjpeg-devel libmng-devel libpng-devel mesa-libGL-devel xorg-x11-proto-devel libXi-devel sane-backends-devel libieee1284-devel libusb-devel libXmu-devel ncurses-devel gnutls-devel libgcrypt-devel libgpg-error-devel libXv-devel opencdk-devel expat-devel cups-devel e2fsprogs-devel krb5-devel openssl-devel giflib-devel openldap-devel lcms-devel cyrus-sasl-devel libxml-devel libxml2-devel libxml libXxf86dga-devel libXxf86vm-devel isdn4k-utils-devel libao-devel hal-devel dbus-devel glibc-devel.i386 mesa-libGLU-devel.i386 flex bison fontforge prelink 

Now you can build it.

./configure
make depend && make
make install 

Building Wine on Fedora 9 x86_64

Install the following development packages: It is imparitive that the i386 packages are specified as well.

yum install alsa-lib-devel.i386 alsa-lib-devel audiofile-devel.i386 audiofile-devel cups-devel.i386 cups-devel dbus-devel.i386 dbus-devel fontconfig-devel.i386 fontconfig-devel freetype-devel.i386 freetype-devel giflib-devel.i386 giflib-devel hal-devel.i386 hal-devel lcms-devel.i386 lcms-devel libICE-devel.i386 libICE-devel libjpeg-devel.i386 libjpeg-devel libpng-devel.i386 libpng-devel libSM-devel.i386 libSM-devel libusb-devel.i386 libusb-devel libX11-devel.i386 libX11-devel libXau-devel.i386 libXau-devel libXcomposite-devel.i386 libXcomposite-devel libXcursor-devel.i386 libXcursor-devel libXext-devel.i386 libXext-devel libXi-devel.i386 libXi-devel libXinerama-devel.i386 libXinerama-devel libxml2-devel.i386 libxml2-devel libXrandr-devel.i386 libXrandr-devel libXrender-devel.i386 libXrender-devel libxslt-devel.i386 libxslt-devel libXt-devel.i386 libXt-devel libXv-devel.i386 libXv-devel libXxf86vm-devel.i386 libXxf86vm-devel mesa-libGL-devel.i386 mesa-libGL-devel mesa-libGLU-devel.i386 mesa-libGLU-devel ncurses-devel.i386 ncurses-devel openldap-devel.i386 openldap-devel openssl-devel.i386 openssl-devel zlib-devel.i386 pkgconfig sane-backends-devel.i386 sane-backends-devel xorg-x11-proto-devel.i386 xorg-x11-proto-devel glibc-devel.i386 prelink fontforge flex bison 

Run the configure:

./configure 

If you have errors regarding libfreetype, libGL, libGLU, libXext, libX11, libaudiofile not being found, run the appropriate commands:

libfreetype

su -  cd /usr/lib
ln -s libfreetype.so.6 libfreetype.so 

libGL/libGLU

su -  cd /usr/lib
ln -s libGL.so.1 libGL.so
ln -s libGLU.so.1 libGLU.so 

libXext

su -  cd /usr/lib
ln -s libXext.so.6 libXext.so 

libX11

su -  cd /usr/lib
ln -s libX11.so.6 libX11.so 

libaudiofile

su -  cd /usr/lib
ln -s libaudiofile.so.0 libaudiofile.so 

If you need ISDN support, run these commands:

yum remove isdn4k-utils-devel isdn4k-utils
yum install isdn4k-utils-devel.i386 isdn4k-utils.i386 

Now configure should run fine:

ulimit -s unlimited
./configure
make depend && make
sudo make install 

Building Wine on Fedora 11 x86_64

Install the following development packages: It is imperative that the i586 packages are specified as well.

yum install alsa-lib-devel.i586 alsa-lib-devel audiofile-devel.i586 audiofile-devel cups-devel.i586 cups-devel dbus-devel.i586 dbus-devel fontconfig-devel.i586 fontconfig-devel freetype-devel.i586 freetype-devel giflib-devel.i586 giflib-devel hal-devel.i586 hal-devel lcms-devel.i586 lcms-devel libICE-devel.i586 libICE-devel libjpeg-devel.i586 libjpeg-devel libpng-devel.i586 libpng-devel libSM-devel.i586 libSM-devel libusb-devel.i586 libusb-devel libX11-devel.i586 libX11-devel libXau-devel.i586 libXau-devel libXcomposite-devel.i586 libXcomposite-devel libXcursor-devel.i586 libXcursor-devel libXext-devel.i586 libXext-devel libXi-devel.i586 libXi-devel libXinerama-devel.i586 libXinerama-devel libxml2-devel.i586 libxml2-devel libXrandr-devel.i586 libXrandr-devel libXrender-devel.i586 libXrender-devel libxslt-devel.i586 libxslt-devel libXt-devel.i586 libXt-devel libXv-devel.i586 libXv-devel libXxf86vm-devel.i586 libXxf86vm-devel mesa-libGL-devel.i586 mesa-libGL-devel mesa-libGLU-devel.i586 mesa-libGLU-devel ncurses-devel.i586 ncurses-devel openldap-devel.i586 openldap-devel openssl-devel.i586 openssl-devel zlib-devel.i586 pkgconfig sane-backends-devel.i586 sane-backends-devel xorg-x11-proto-devel glibc-devel.i586 prelink fontforge flex bison 

Run the configure:

./configure 

Building Wine on Fedora 12 x86_64

Install the following development packages: It is imperative that the i686 packages are specified as well.

yum install alsa-lib-devel.i686 alsa-lib-devel audiofile-devel.i686 audiofile-devel cups-devel.i686 cups-devel dbus-devel.i686 dbus-devel fontconfig-devel.i686 fontconfig-devel freetype-devel.i686 freetype-devel giflib-devel.i686 giflib-devel hal-devel.i686 hal-devel lcms-devel.i686 lcms-devel libICE-devel.i686 libICE-devel libjpeg-devel.i686 libjpeg-devel libpng-devel.i686 libpng-devel libSM-devel.i686 libSM-devel libusb-devel.i686 libusb-devel libX11-devel.i686 libX11-devel libXau-devel.i686 libXau-devel libXcomposite-devel.i686 libXcomposite-devel libXcursor-devel.i686 libXcursor-devel libXext-devel.i686 libXext-devel libXi-devel.i686 libXi-devel libXinerama-devel.i686 libXinerama-devel libxml2-devel.i686 libxml2-devel libXrandr-devel.i686 libXrandr-devel libXrender-devel.i686 libXrender-devel libxslt-devel.i686 libxslt-devel libXt-devel.i686 libXt-devel libXv-devel.i686 libXv-devel libXxf86vm-devel.i686 libXxf86vm-devel mesa-libGL-devel.i686 mesa-libGL-devel mesa-libGLU-devel.i686 mesa-libGLU-devel ncurses-devel.i686 ncurses-devel openldap-devel.i686 openldap-devel openssl-devel.i686 openssl-devel zlib-devel.i686 pkgconfig sane-backends-devel.i686 sane-backends-devel xorg-x11-proto-devel glibc-devel.i686 prelink fontforge flex bison libstdc++-devel.i686 pulseaudio-libs-devel.i686 gnutls-devel.i686 libgphoto2-devel.i686 openal-soft-devel.i686 isdn4k-utils-devel.i686 gsm-devel.i686 samba-winbind libv4l-devel.i686 cups-devel.i686 libtiff-devel.i686 gettext-devel.i686 libmpg123-devel.i686 

Run the configure script and build:

./configure
make depend && make &&  make install 

Building Wine on Fedora 13 x86_64

Install the development packages needed to compile Wine as follows:

yum install alsa-lib-devel.i686 alsa-lib-devel audiofile-devel.i686 audiofile-devel cups-devel.i686 cups-devel dbus-devel.i686 dbus-devel fontconfig-devel.i686 fontconfig-devel freetype.i686 freetype-devel.i686 freetype-devel giflib-devel.i686 giflib-devel hal-devel.i686 hal-devel lcms-devel.i686 lcms-devel libICE-devel.i686 libICE-devel libjpeg-devel.i686 libjpeg-devel libpng-devel.i686 libpng-devel libSM-devel.i686 libSM-devel libusb-devel.i686 libusb-devel libX11-devel.i686 libX11-devel libXau-devel.i686 libXau-devel libXcomposite-devel.i686 libXcomposite-devel libXcursor-devel.i686 libXcursor-devel libXext-devel.i686 libXext-devel libXi-devel.i686 libXi-devel libXinerama-devel.i686 libXinerama-devel libxml2-devel.i686 libxml2-devel libXrandr-devel.i686 libXrandr-devel libXrender-devel.i686 libXrender-devel libxslt-devel.i686 libxslt-devel libXt-devel.i686 libXt-devel libXv-devel.i686 libXv-devel libXxf86vm-devel.i686 libXxf86vm-devel mesa-libGL-devel.i686 mesa-libGL-devel mesa-libGLU-devel.i686 mesa-libGLU-devel ncurses-devel.i686 ncurses-devel openldap-devel.i686 openldap-devel openssl-devel.i686 openssl-devel zlib-devel.i686 pkgconfig sane-backends-devel.i686 sane-backends-devel xorg-x11-proto-devel glibc-devel.i686 prelink fontforge flex bison libstdc++-devel.i686 pulseaudio-libs-devel.i686 gnutls-devel.i686 libgphoto2-devel.i686 openal-soft-devel.i686 isdn4k-utils-devel.i686 gsm-devel.i686 samba-winbind libv4l-devel.i686 cups-devel.i686 libtiff-devel.i686 

Run the configure script, compile Wine, and install it as follows:

./configure
make && make install 

Building Wine on Fedora 14 x86_64

Install the development packages needed to compile Wine as follows:

yum install alsa-lib-devel.i686 alsa-lib-devel audiofile-devel.i686 audiofile-devel cups-devel.i686 cups-devel dbus-devel.i686 dbus-devel fontconfig-devel.i686 fontconfig-devel freetype.i686 freetype-devel.i686 freetype-devel giflib-devel.i686 giflib-devel hal-devel.i686 hal-devel lcms-devel.i686 lcms-devel libICE-devel.i686 libICE-devel libjpeg-turbo-devel.i686 libjpeg-turbo-devel libpng-devel.i686 libpng-devel libSM-devel.i686 libSM-devel libusb-devel.i686 libusb-devel libX11-devel.i686 libX11-devel libXau-devel.i686 libXau-devel libXcomposite-devel.i686 libXcomposite-devel libXcursor-devel.i686 libXcursor-devel libXext-devel.i686 libXext-devel libXi-devel.i686 libXi-devel libXinerama-devel.i686 libXinerama-devel libxml2-devel.i686 libxml2-devel libXrandr-devel.i686 libXrandr-devel libXrender-devel.i686 libXrender-devel libxslt-devel.i686 libxslt-devel libXt-devel.i686 libXt-devel libXv-devel.i686 libXv-devel libXxf86vm-devel.i686 libXxf86vm-devel mesa-libGL-devel.i686 mesa-libGL-devel mesa-libGLU-devel.i686 mesa-libGLU-devel ncurses-devel.i686 ncurses-devel openldap-devel.i686 openldap-devel openssl-devel.i686 openssl-devel zlib-devel.i686 pkgconfig sane-backends-devel.i686 sane-backends-devel xorg-x11-proto-devel glibc-devel.i686 prelink fontforge flex bison libstdc++-devel.i686 pulseaudio-libs-devel.i686 gnutls-devel.i686 libgphoto2-devel.i686 openal-soft-devel openal-soft-devel.i686 isdn4k-utils-devel.i686 gsm-devel.i686 samba-winbind libv4l-devel.i686 cups-devel.i686 libtiff-devel.i686 gstreamer-devel.i686 gstreamer-plugins-base-devel.i686 gettext-devel.i686 

Run the configure script, compile Wine, and install it as follows:

./configure
make && make install 

Building Wine on Fedora 16 x86_64

Install the development packages needed to compile Wine as follows:

yum install alsa-lib-devel.i686 alsa-lib-devel audiofile-devel.i686 audiofile-devel cups-devel.i686 cups-devel dbus-devel.i686 dbus-devel fontconfig-devel.i686 fontconfig-devel freetype.i686 freetype-devel.i686 freetype-devel giflib-devel.i686 giflib-devel lcms-devel.i686 lcms-devel libICE-devel.i686 libICE-devel libjpeg-turbo-devel.i686 libjpeg-turbo-devel libpng-devel.i686 libpng-devel libSM-devel.i686 libSM-devel libusb-devel.i686 libusb-devel libX11-devel.i686 libX11-devel libXau-devel.i686 libXau-devel libXcomposite-devel.i686 libXcomposite-devel libXcursor-devel.i686 libXcursor-devel libXext-devel.i686 libXext-devel libXi-devel.i686 libXi-devel libXinerama-devel.i686 libXinerama-devel libxml2-devel.i686 libxml2-devel libXrandr-devel.i686 libXrandr-devel libXrender-devel.i686 libXrender-devel libxslt-devel.i686 libxslt-devel libXt-devel.i686 libXt-devel libXv-devel.i686 libXv-devel libXxf86vm-devel.i686 libXxf86vm-devel mesa-libGL-devel.i686 mesa-libGL-devel mesa-libGLU-devel.i686 mesa-libGLU-devel ncurses-devel.i686 ncurses-devel openldap-devel.i686 openldap-devel openssl-devel.i686 openssl-devel zlib-devel.i686 pkgconfig sane-backends-devel.i686 sane-backends-devel xorg-x11-proto-devel glibc-devel.i686 prelink fontforge flex bison libstdc++-devel.i686 pulseaudio-libs-devel.i686 gnutls-devel.i686 libgphoto2-devel.i686 openal-soft-devel openal-soft-devel.i686 isdn4k-utils-devel.i686 gsm-devel.i686 samba-winbind libv4l-devel.i686 cups-devel.i686 libtiff-devel.i686 gstreamer-devel.i686 gstreamer-plugins-base-devel.i686 gettext-devel.i686 libmpg123-devel.i686

Run the configure script, compile Wine, and install it as follows:

./configure
make && make install

Building Wine on 64-bit Centos5 script

Here is a script that installs 32 bit wine-1.2.2 on a 64 bit centos 5. It downloads and builds all required packages. This builds wine using all cores on the computer, so watch out you don't explode it if someone else is on. This is what the script installs:

yum groupinstall "Development Tools" yum install alsa-lib-devel audiofile-devel cups-devel dbus-devel fontconfig-devel freetype-devel giflib-devel hal-devel lcms-devel libICE-devel libjpeg-devel libpng-devel libSM-devel libusb-devel libX11-devel libXau-devel libXcomposite-devel libXcursor-devel libXext-devel libXi-devel libXinerama-devel llibxml2-devel libXrandr-devel libXrender-devel libxslt-devel libXt-devel libXv-devel libXxf86vm-devel mesa-libGL-devel mesa-libGLU-devel ncurses-devel openldap-devel openssl-devel pkgconfig sane-backends-devel xorg-x11-proto-devel glibc-devel prelink fontforge flex bison gnutls-devel pulseaudio-libs-devel gcc.i386 gcc-c++.i386 autoconf.i386 automake.i386 binutils.i386 ccache.i386 elf*.i386 libtool.i386 lua.i386 make.i386 pkgconfig.i386 patchutils.i386 tolua++.i386 bzip2-devel.i386 glibc-devel.i386 zlib-devel.i386 libX*.i386 libX*-devel.i386 mesa*-devel.i386 gphoto2-devel isdn4k-utils-devel XFree86-devel bison flex gcc prelink pkgconfig libstdc++-devel.i386    yum groupinstall "X Window System" 

You can get the Required Packages that are also needed to install wine. These are not in the centos 5 repositories so you must build them yourself. There are also rpms in it that you must install.

Contents: gnutls-2.8.6.tar.bz2, flex-2.5.35.tar.bz2, libtiff-3.5.5-2.i386.rpm , libtool-ltdl-1.5.22-7.el5_4.i386.rpm, mpg123-1.3.1-1.el5.rf.i386.rpm, openal-0.0.9-0.9.20060204cvs.el5.kb.i386.rpm, openal-0.0.9-0.9.20060204cvs.el5.kb.x86_64.rpm, libtool-ltdl-1.5.22-7.el5_4.x86_64.rpm, mpg123-1.9.1-1.el5.rf.x86_64.rpm, and wine-1.2.2.tar.bz2 

Building 32-bit Wine from src rpm on EL6 (RHEL6 and SL6) x86_64

Required packages for proper building of 32-bit Wine on 64-bit EL6

yum install alsa-lib-devel.i686 libsndfile-devel.i686 readline-devel.i686 glib2.i686 glibc-devel.i686 libgcc.i686 libstdc++-devel.i686 pulseaudio-libs-devel.i686 cmake portaudio-devel.i686 openal-soft-devel.i686 audiofile-devel.i686 freeglut-devel.i686 lcms-devel.i686 libieee1284-devel.i686 openldap-devel.i686 unixODBC-devel.i686 sane-backends-devel.i686 fontforge libgphoto2-devel.i686 isdn4k-utils-devel.i686 mesa-libGL-devel.i686 mesa-libGLU-devel.i686 libXxf86dga-devel.i686 libXxf86vm-devel.i686 giflib-devel.i686 cups-devel.i686 gsm-devel.i686 libv4l-devel.i686 fontpackages-devel ImageMagick-devel.i686 openal-soft-devel.i686 libX11-devel.i686 docbook-utils-pdf libtextcat tex-cm-lgc

Trying to rebuild the epel 6 wine srpms (wine-1.2.3-1.el6.src.rpm) in 32-bit mode, I had to do the following manual changes to the spec files:

  • portaudio.spec: add an "export CC='gcc -m32 -march=i686'" in an %ifarch %{ix86}
  • wine.spec: add an "export CC='gcc -m32 -march=i686'" in an %ifarch %{ix86}, and remove 'TARGETFLAGS="" %{?_smp_mflags}' after %{make}

The resulting packages (src and binary) are available here http://www.gymglish.com/opensource/rpms/centos6-rpms/

Then, I could build the rpms in this order:

rpmbuild -ba --sign --target i686 portaudio.spec
rpmbuild -ba --sign --target i686 openal-soft.spec
rpmbuild -ba --sign --target i686 nss-mdns.spec
rpmbuild -ba --sign --target i686 wine.spec
rpmbuild -ba --sign wine-docs.spec


  • We should probably also have a page called UsingWineOn64bit for users (as opposed to developers).

WineOn64bit (last edited 2012-03-02 16:46:20 by ScottRitchie)