BuildingWineFromSource

Differences between revisions 6 and 11 (spanning 5 versions)
Revision 6 as of 2006-04-25 10:24:34
Size: 1650
Editor: 202-155-165-25
Comment:
Revision 11 as of 2006-04-25 10:44:23
Size: 2524
Editor: 202-155-165-25
Comment:
Deletions are marked like this. Additions are marked like this.
Line 13: Line 13:
If not already done, enable the Sourceforge repo. Using synaptic, add the following custom repo Enable the Sourceforge source repo. Using synaptic, add the following custom repo
Line 31: Line 31:
Create the directory you're going to install Wine into Create the directory you're going to install Wine into, 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, as that's where we'll be working from: wine-0.9.11/wine-0.9.12~winehq1
Line 39: Line 39:

cd wine-0.9.12~winehq1
Line 46: Line 48:
patch -p0 < wine-patch#1.patch patch -p1 < wine-patch#1.patch
Line 48: Line 50:
patch -p0 < wine-patch#2.patch patch -p1 < wine-patch#2.patch
Line 51: Line 53:
}}}


eg. Applying the WoW patch

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.

{{{
patch -p1 < wow.patch.preloader.and.mmap.0.9.12
Line 74: Line 85:

== 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.12/wine-0.9.12~winehq1

make distclean
}}}

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 Breezy, using Wine 0.9.12.

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 http://wine.sourceforge.net/apt source

(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, 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, as that's where we'll be working from: wine-0.9.11/wine-0.9.12~winehq1

mkdir wine-0.9.12

cd wine-0.9.12

apt-get source wine

cd wine-0.9.12~winehq1 

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.12 patch from http://appdb.winehq.org/appview.php?versionId=4031 and apply the patch to the Wine code.

patch -p1 < wow.patch.preloader.and.mmap.0.9.12

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

dpkg --purge wine

cd ..

sudo dpkg -i wine_0.9.12~winehq1-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.12/wine-0.9.12~winehq1

make distclean

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