BuildingWineFromSource

Differences between revisions 2 and 22 (spanning 20 versions)
Revision 2 as of 2006-04-25 09:55:20
Size: 1571
Editor: 202-155-165-25
Comment: First draft
Revision 22 as of 2006-05-29 12:53:06
Size: 3831
Editor: cpe-069-134-168-042
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
Line 6: Line 7:
This guide was written for Breezy, using Wine 0.9.12. This guide was written for Dapper, using Wine 0.9.14.   WARNING: The authors of this howto give no guarantees. This is totally YMMV.
Line 12: Line 15:
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 14: Line 17:
'''deb http://wine.sourceforge.net/apt source''' {{{
deb-src http://wine.budgetdedicated.com/apt dapper main
}}}
Line 22: Line 27:
{{{
Line 23: Line 29:
}}}
Line 26: Line 33:
Create the directory you're going to install Wine into 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.
Line 28: Line 35:
mkdir wine-0.9.12 {{{
mkdir wine-0.9.14
Line 30: Line 38:
cd wine-0.9.12 cd wine-0.9.14
Line 32: Line 40:
apt-get source wine sudo apt-get source wine

cd wine-0.9.14~winehq1~ubuntu~6.06
}}}
Line 36: Line 47:
Sometimes the reason you're building from source is because you need to patch the stock release. Sometimes the reason you're building from source is because you need to patch the stock release. (eg to apply the WoW patch)
Line 38: Line 49:
patch -p0 < wine-patch#1.patch {{{
patch -p1 < wine-patch#1.patch
Line 40: Line 52:
patch -p0 < wine-patch#2.patch patch -p1 < wine-patch#2.patch
Line 43: Line 55:
}}}

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 to your home folder 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
}}}
Line 46: Line 86:
apt-get build-package -hfakeroot -cu -b {{{
d
pkg-buildpackage -rfakeroot -uc -b
}}}
Line 56: Line 98:
dpkg --purge wine {{{
sudo
dpkg --purge wine
Line 60: 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
}}}

== 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
}}}

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 to your home folder 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)