BuildingWineFromSource
3491
Comment: added recommended packages from: http://wiki.winehq.org/Recommended_Packages
|
4452
|
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: |
Line 9: | Line 9: |
WARNING: The authors of this howto give no guarantees. This is totally YMMV. | * Ubuntu 6.06 (Dapper Drake), using Wine 0.9.14 * Ubuntu 5.10 (Breezy Badger), using Wine 0.9.14 WARNING: The authors of this howto give no guarantees, your mileage may vary. |
Line 13: | Line 18: |
== Enable the Sourceforge source repository == | == Enable the relevant source repository == |
Line 15: | Line 20: |
Enable the Sourceforge source repo. Using synaptic, add the following custom repo | Using synaptic, add the following custom repository. |
Line 17: | Line 22: |
'''Dapper:''' | |
Line 18: | Line 24: |
deb-src http://wine.sourceforge.net/apt source/ | deb-src http://wine.budgetdedicated.com/apt dapper main |
Line 21: | 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 33: | Line 44: |
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. | 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 36: | Line 47: |
mkdir wine-0.9.12 | mkdir wine-0.9.14 |
Line 38: | Line 49: |
cd wine-0.9.12 | cd wine-0.9.14 |
Line 41: | Line 52: |
}}} | |
Line 42: | 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 59: | 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 62: | Line 83: |
patch -p1 < wow.patch.preloader.and.mmap.0.9.12 | patch -p1 < ~/wow.new.patch.0.9.13-1 |
Line 65: | Line 86: |
== (optional) Install additional libraries == | Additional Wine fix: open the file "dlls/opengl32/wgl.c" find and delete the line {{{ glDrawBuffer(GL_FRONT_LEFT) }}} |
Line 67: | Line 93: |
== Install additional libraries == Add the recommended packages from: http://wiki.winehq.org/Recommended_Packages '''Breezy:''' |
|
Line 68: | Line 99: |
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 | 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 libicu28-dev libungif4-dev libssl-dev |
Line 70: | Line 101: |
Note: | '''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 78: | Line 118: |
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 84: | Line 124: |
First remove the old Wine package | First remove the old Wine package. |
Line 87: | Line 127: |
dpkg --purge wine | sudo dpkg --purge wine |
Line 90: | Line 130: |
}}} | |
Line 91: | Line 132: |
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 98: | Line 148: |
'''Dapper:''' | |
Line 99: | Line 150: |
cd wine-0.9.12/wine-0.9.12~winehq1 | cd wine-0.9.14/wine-0.9.14~winehq1~ubuntu~6.06 |
Line 103: | Line 154: |
'''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:
- Ubuntu 6.06 (Dapper Drake), using Wine 0.9.14
- Ubuntu 5.10 (Breezy Badger), 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
Additional Wine fix: open the file "dlls/opengl32/wgl.c" find and delete the line
glDrawBuffer(GL_FRONT_LEFT)
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 libicu28-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)