BuildingWineFromSource

Differences between revisions 11 and 32 (spanning 21 versions)
Revision 11 as of 2006-04-25 10:44:23
Size: 2524
Editor: 202-155-165-25
Comment:
Revision 32 as of 2006-05-30 11:49:18
Size: 4285
Editor: cpe-069-134-168-042
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Reasons why one needs to build from source rather than relying on repos: Reasons why one would need to build from source rather than relying on repositories:
Line 3: Line 3:
1 - One needs a more up to date version of Wine 1. One needs a more up to date version of Wine
Line 5: Line 5:
2 - One needs to apply a patch to the stock Wine release 2. One needs to apply a patch to the stock Wine release
Line 7: Line 7:
This guide was written for Breezy, using Wine 0.9.12. This guide works for:

 * Dapper, using Wine 0.9.14

 * Breezy, using Wine 0.9.14


WARNING: The authors of this howto give no guarantees, your mileage may vary.
Line 11: Line 18:
== Enable the Sourceforge source repository == == Enable the relevant source repository ==
Line 13: Line 20:
Enable the Sourceforge source repo. Using synaptic, add the following custom repo Using synaptic, add the following custom repository.
Line 15: Line 22:
'''Dapper:'''
Line 16: Line 24:
deb http://wine.sourceforge.net/apt source deb-src http://wine.budgetdedicated.com/apt dapper main
Line 19: Line 27:
(see: https://wiki.ubuntu.com/AddingRepositoriesHowto for more details) '''Breezy:'''
{{{
deb-src http://wine.budgetdedicated.com/apt breezy main
}}}

(see https://wiki.ubuntu.com/AddingRepositoriesHowto for help)
Line 31: Line 44:
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 Create a directory for the build process (wine-0.9.14), and download the source into it. You'll need at least 1.4Gig of free disk to install and build successfully.
Line 34: Line 47:
mkdir wine-0.9.12 mkdir wine-0.9.14
Line 36: Line 49:
cd wine-0.9.12 cd wine-0.9.14
Line 39: Line 52:
}}}
Line 40: Line 54:
cd wine-0.9.12~winehq1 cd to the directory containing the source code (wine-0.9.14~winehq1~ubuntu~6.06), as that's where we'll be working from.

'''Dapper:'''
{{{
cd wine-0.9.14~winehq1~ubuntu~6.06
}}}

'''Breezy:'''
{{{
cd wine-0.9.14~winehq1~ubuntu~5.10
Line 55: Line 78:
Line 58: Line 80:
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 to your home folder and apply the patch to the Wine code.
Line 61: Line 83:
patch -p1 < wow.patch.preloader.and.mmap.0.9.12 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 70: Line 111:
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. The build will take a LONG time, even with a fast machine. An hour or so would be average on a 2 GHz CPU with 1 GB of Ram, so go have a sandwich.
Line 76: Line 117:
First remove the old Wine package First remove the old Wine package.
Line 79: Line 120:
dpkg --purge wine sudo dpkg --purge wine
Line 82: Line 123:
}}}
Line 83: Line 125:
sudo dpkg -i wine_0.9.12~winehq1-1_i386.deb Now, install the new Wine package.

'''Dapper:'''
{{{
sudo dpkg -i wine_0.9.14~winehq1~ubuntu~6.06-1_i386.deb
}}}

'''Breezy:'''
{{{
sudo dpkg -i wine-0.9.14~winehq1~ubuntu~5.10-1_i386.deb
Line 90: Line 141:
'''Dapper:'''
Line 91: Line 143:
cd wine-0.9.12/wine-0.9.12~winehq1 cd wine-0.9.14/wine-0.9.14~winehq1~ubuntu~6.06
Line 95: Line 147:

'''Breezy:'''
{{{
cd wine-0.9.14/wine-0.9.14~winehq1~ubuntu~5.10
make distclean
}}}

Reasons why one would need to build from source rather than relying on repositories:

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 works for:

  • Dapper, using Wine 0.9.14
  • Breezy, using Wine 0.9.14

WARNING: The authors of this howto give no guarantees, your mileage may vary.

The process for building Wine from source is as follows:

Enable the relevant source repository

Using synaptic, add the following custom repository.

Dapper:

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

Breezy:

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

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

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 a directory for the build process (wine-0.9.14), and download the source into it. You'll need at least 1.4Gig of free disk to install and build successfully.

mkdir wine-0.9.14

cd wine-0.9.14

apt-get source wine

cd to the directory containing the source code (wine-0.9.14~winehq1~ubuntu~6.06), as that's where we'll be working from.

Dapper:

cd wine-0.9.14~winehq1~ubuntu~6.06

Breezy:

cd wine-0.9.14~winehq1~ubuntu~5.10

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. An hour or so would be average on a 2 GHz CPU with 1 GB of Ram, so go have a sandwich.

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 ..

Now, install the new Wine package.

Dapper:

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

Breezy:

sudo dpkg -i wine-0.9.14~winehq1~ubuntu~5.10-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.

Dapper:

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

make distclean

Breezy:

cd wine-0.9.14/wine-0.9.14~winehq1~ubuntu~5.10
make distclean

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