BuildingWineFromSource

Differences between revisions 19 and 20
Revision 19 as of 2006-05-21 12:49:59
Size: 3933
Editor: 202-155-165-25
Comment:
Revision 20 as of 2006-05-29 12:37:19
Size: 3811
Editor: cpe-069-134-168-042
Comment: Updated the guide for Wine 0.9.14, added 'sudo' to a couple of commands that nee
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
This guide was written for Breezy, using Wine 0.9.12.

(Note: Steam needs 0.9.13, for which there's currently no apt source available. If you need Steam, you can't use this guide, you'll need to build from source)
This guide was written for Dapper, using Wine 0.9.14.
Line 20: Line 18:
deb-src http://wine.sourceforge.net/apt source/ deb-src http://wine.budgetdedicated.com/apt dapper main
Line 38: Line 36:
mkdir wine-0.9.12 mkdir wine-0.9.14
Line 40: Line 38:
cd wine-0.9.12 cd wine-0.9.14
Line 42: Line 40:
apt-get source wine sudo apt-get source wine
Line 44: Line 42:
cd wine-0.9.12~winehq1  cd wine-0.9.14~winehq1~ubuntu~6.06
Line 61: Line 59:
Wine needs to be patched for WoW to work properly. Download 0.9.12 patch from http://appdb.winehq.org/appview.php?versionId=4031 and apply the patch to the Wine code. Wine needs to be patched for WoW to work properly. Download 0.9.14 patch from http://appdb.winehq.org/appview.php?versionId=4031 and apply the patch to the Wine code.
Line 64: Line 62:
patch -p1 < wow.patch.preloader.and.mmap.0.9.12 patch -p1 < wow.new.patch.0.9.13-1
Line 101: Line 99:
dpkg --purge wine sudo dpkg --purge wine
Line 105: Line 103:
sudo dpkg -i wine_0.9.12~winehq1-1_i386.deb sudo dpkg -i wine_0.9.14~winehq1~ubuntu~6.06-1_i386.deb
Line 113: Line 111:
cd wine-0.9.12/wine-0.9.12~winehq1 cd wine-0.9.14/wine-0.9.14~winehq1~ubuntu~6.06

Reasons why one needs to build from source rather than relying on repos:

1 - One needs a more up to date version of Wine

2 - One needs to apply a patch to the stock Wine release

This guide was written for Dapper, using Wine 0.9.14.

WARNING: The authors of this howto give no guarantees. This is totally YMMV.

The process for building Wine from source is as follows:

Enable the Sourceforge source repository

Enable the Sourceforge source repo. Using synaptic, add the following custom repo

deb-src http://wine.budgetdedicated.com/apt dapper main

(see: https://wiki.ubuntu.com/AddingRepositoriesHowto for more details)

Install the Wine build dependencies

The purpose of this step is to install any dependencies necessary to the build process.

sudo apt-get build-dep wine

Download the Wine source

Create the directory you're going to install Wine into (wine-0.9.12), and download the source into it. You'll need at least 1.4Gig of free disk to install and build successfully. Last, cd to the directory containing the source code (wine-0.9.12~winehq1), as that's where we'll be working from.

mkdir wine-0.9.14

cd wine-0.9.14

sudo apt-get source wine

cd wine-0.9.14~winehq1~ubuntu~6.06

Apply patches, if necessary

Sometimes the reason you're building from source is because you need to patch the stock release. (eg to apply the WoW patch)

patch -p1 < wine-patch#1.patch

patch -p1 < wine-patch#2.patch

etc.

eg. Applying the WoW patch

Wine needs to be patched for WoW to work properly. Download 0.9.14 patch from http://appdb.winehq.org/appview.php?versionId=4031 and apply the patch to the Wine code.

patch -p1 < wow.new.patch.0.9.13-1

Install additional libraries

Add the recommended packages from: http://wiki.winehq.org/Recommended_Packages

Breezy:

sudo apt-get install libasound2-dev  libarts1-dev libartsc0-dev libaudiofile-dev libesd0-dev libaudio-dev libcapi20-dev liblcms1-dev libcupsys2-dev libsane-dev freeglut3-dev libc6-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev libglib1.2-dev libglib2.0-dev libgnutls11-dev libgpg-error-dev libice-dev libieee1284-3-dev libjpeg62-dev libldap2-dev libltdl3-dev libmad0-dev libmng-dev libncurses5-dev libogg-dev libopencdk8-dev libpng12-dev libqt3-mt-dev libsm-dev libtasn1-2-dev libusb-dev libvorbis-dev libx11-dev libxcursor-dev libxext-dev libxft-dev libxi-dev libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev libxv-dev render-dev unixodbc-dev x-dev   zlib1g-dev xlibs-dev libxxf86dga-dev libxxf86vm-dev libjack0.80.0-dev libicu34-dev libungif4-dev libssl-dev

Dapper: There's a script written by Dan Kegel that will do all the work:

Download and run the script

wget  http://kegel.com/wine/dapper.sh
chmod +x dapper.sh
sudo ./dapper.sh

Build Wine

dpkg-buildpackage -rfakeroot -uc -b

The build will take a LONG time, even with a fast machine, around an hour or so on a 2Gig CPU with 1Gig of Ram, so take a break.

Install the new Wine deb

The build process, once it's complete, will create a .deb in the parent directory. This is your new Wine package.

First remove the old Wine package

sudo dpkg --purge wine

cd ..

sudo dpkg -i wine_0.9.14~winehq1~ubuntu~6.06-1_i386.deb

Clean up

Once you're satisfied that Wine is working properly, you can now clean up the files used for building Wine, as this frees up quite a bit of disk. Of course, deleting make's working files will mean that if you need to rebuild, make will have to start right from the beginning.

cd wine-0.9.14/wine-0.9.14~winehq1~ubuntu~6.06

make distclean

BuildingWineFromSource (last edited 2008-08-06 16:41:12 by localhost)