“UbuntuHelp:BuildingWineFromSource”的版本间的差异
来自Ubuntu中文
小 (新页面: {{From|https://help.ubuntu.com/community/BuildingWineFromSource}} {{Languages|UbuntuHelp:BuildingWineFromSource}} Reasons why one would need to build from source rather than relying on re...) |
小 |
||
(未显示同一用户的8个中间版本) | |||
第2行: | 第2行: | ||
{{Languages|UbuntuHelp:BuildingWineFromSource}} | {{Languages|UbuntuHelp:BuildingWineFromSource}} | ||
Reasons why one would need to build from source rather than relying on repositories: | 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 | 1. One needs a more up to date version of Wine | ||
− | |||
2. One needs to apply a patch to the stock Wine release | 2. One needs to apply a patch to the stock Wine release | ||
This guide works for: | This guide works for: | ||
− | + | * Ubuntu 7.04 (Feisty Fawn), Using Wine 0.9.39 | |
− | * Ubuntu 7.04 (Feisty Fawn), Using Wine 0.9. | + | |
− | + | ||
* Ubuntu 6.06 (Dapper Drake), using Wine 0.9.21 | * Ubuntu 6.06 (Dapper Drake), using Wine 0.9.21 | ||
− | |||
* Ubuntu 5.10 (Breezy Badger), using Wine 0.9.21 | * Ubuntu 5.10 (Breezy Badger), using Wine 0.9.21 | ||
− | |||
− | |||
WARNING: The authors of this howto give no guarantees, your mileage may vary. | WARNING: The authors of this howto give no guarantees, your mileage may vary. | ||
− | |||
The process for building Wine from source is as follows: | The process for building Wine from source is as follows: | ||
− | |||
=== Enable the relevant source repository === | === Enable the relevant source repository === | ||
− | |||
Using synaptic, add the following custom repository. | Using synaptic, add the following custom repository. | ||
− | |||
'''Dapper:''' | '''Dapper:''' | ||
<pre><nowiki> | <pre><nowiki> | ||
deb-src http://wine.budgetdedicated.com/apt dapper main | deb-src http://wine.budgetdedicated.com/apt dapper main | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
'''Breezy:''' | '''Breezy:''' | ||
<pre><nowiki> | <pre><nowiki> | ||
deb-src http://wine.budgetdedicated.com/apt breezy main | deb-src http://wine.budgetdedicated.com/apt breezy main | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
'''Feisty:''' | '''Feisty:''' | ||
<pre><nowiki> | <pre><nowiki> | ||
deb-src http://wine.budgetdedicated.com/apt feisty main | deb-src http://wine.budgetdedicated.com/apt feisty main | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
(see https://wiki.ubuntu.com/AddingRepositoriesHowto for help) | (see https://wiki.ubuntu.com/AddingRepositoriesHowto for help) | ||
− | + | Also, see http://www.winehq.org/site/download-deb for most current repository adding method. | |
=== Install the Wine build dependencies === | === Install the Wine build dependencies === | ||
− | |||
The purpose of this step is to install any dependencies necessary to the build process. | The purpose of this step is to install any dependencies necessary to the build process. | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-get build-dep wine | sudo apt-get build-dep wine | ||
sudo apt-get install fakeroot | sudo apt-get install fakeroot | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
=== Download the Wine source === | === Download the Wine source === | ||
− | + | Create a directory for the build process (wine-0.9.38), and download the source into it. You'll need at least 1.4Gig of free disk to install and build successfully. | |
− | Create a directory for the build process (wine-0.9. | + | |
− | + | ||
<pre><nowiki> | <pre><nowiki> | ||
− | mkdir wine-0.9. | + | mkdir wine-0.9.39 |
− | cd wine-0.9. | + | cd wine-0.9.39 |
apt-get source wine | apt-get source wine | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
cd to the directory containing the source code, as that's where we'll be working from. | cd to the directory containing the source code, as that's where we'll be working from. | ||
− | |||
'''Dapper:''' | '''Dapper:''' | ||
<pre><nowiki> | <pre><nowiki> | ||
cd wine-0.9.21~winehq0~ubuntu~6.06 | cd wine-0.9.21~winehq0~ubuntu~6.06 | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
'''Breezy:''' | '''Breezy:''' | ||
<pre><nowiki> | <pre><nowiki> | ||
cd wine-0.9.21~winehq0~ubuntu~5.10 | cd wine-0.9.21~winehq0~ubuntu~5.10 | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
'''Feisty:''' | '''Feisty:''' | ||
<pre><nowiki> | <pre><nowiki> | ||
− | cd wine-0.9. | + | cd wine-0.9.39~winehq0~ubuntu~7.04 |
</nowiki></pre> | </nowiki></pre> | ||
=== Apply patches, if necessary === | === 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) | Sometimes the reason you're building from source is because you need to patch the stock release. (eg to apply the WoW patch) | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
patch -p1 < wine-patch#1.patch | patch -p1 < wine-patch#1.patch | ||
第89行: | 第64行: | ||
etc. | etc. | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
eg. Applying the WoW patch | eg. Applying the WoW patch | ||
− | |||
Wine needs to be patched for WoW to work properly. Download the 0.9.21 patch from http://appdb.winehq.org/appview.php?versionId=5109 to your home folder and apply the patch to the Wine code. | Wine needs to be patched for WoW to work properly. Download the 0.9.21 patch from http://appdb.winehq.org/appview.php?versionId=5109 to your home folder and apply the patch to the Wine code. | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
patch -p0 < ~/wow-patch-0.9.21.patch | patch -p0 < ~/wow-patch-0.9.21.patch | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
=== Install additional libraries === | === Install additional libraries === | ||
− | |||
Add the recommended packages from: http://wiki.winehq.org/Recommended_Packages | Add the recommended packages from: http://wiki.winehq.org/Recommended_Packages | ||
− | |||
'''Breezy:''' | '''Breezy:''' | ||
<pre><nowiki> | <pre><nowiki> | ||
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 | 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 | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
'''Dapper:''' | '''Dapper:''' | ||
There's a script written by Dan Kegel that will do all the work: | There's a script written by Dan Kegel that will do all the work: | ||
− | |||
Download and run the script | Download and run the script | ||
<pre><nowiki> | <pre><nowiki> | ||
第116行: | 第83行: | ||
sudo ./dapper.sh | sudo ./dapper.sh | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
'''Feisty:''' | '''Feisty:''' | ||
Run this command: | Run this command: | ||
<pre><nowiki> | <pre><nowiki> | ||
− | sudo apt-get install libasound2-dev libaudiofile-dev libesd0-dev libaudio-dev libcapi20-dev liblcms1-dev libcupsys2-dev libsane-dev libhal-dev libdbus-1-dev freeglut3-dev libc6-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev libglib1.2-dev libglib2.0-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 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.100.0-dev libicu34-dev libungif4-dev libssl-dev | + | sudo apt-get install libasound2-dev libaudiofile-dev libesd0-dev libaudio-dev libcapi20-dev liblcms1-dev libcupsys2-dev libsane-dev libhal-dev libdbus-1-dev freeglut3-dev libc6-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev libglib1.2-dev libglib2.0-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 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.100.0-dev libicu34-dev libungif4-dev libssl-dev lib32ncurses5-dev |
</nowiki></pre> | </nowiki></pre> | ||
− | |||
=== Build Wine === | === Build Wine === | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
dpkg-buildpackage -rfakeroot -uc -b | dpkg-buildpackage -rfakeroot -uc -b | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
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. | 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 === | === 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. | 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. | First remove the old Wine package. | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo dpkg --purge wine | sudo dpkg --purge wine | ||
第142行: | 第101行: | ||
cd .. | cd .. | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Now, install the new Wine package. | Now, install the new Wine package. | ||
− | |||
'''Dapper:''' | '''Dapper:''' | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo dpkg -i wine_0.9.21~winehq0~ubuntu~6.06-1_i386.deb | sudo dpkg -i wine_0.9.21~winehq0~ubuntu~6.06-1_i386.deb | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
'''Breezy:''' | '''Breezy:''' | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo dpkg -i wine_0.9.21~winehq0~ubuntu~5.10-1_i386.deb | sudo dpkg -i wine_0.9.21~winehq0~ubuntu~5.10-1_i386.deb | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
'''Feisty:''' | '''Feisty:''' | ||
<pre><nowiki> | <pre><nowiki> | ||
− | sudo dpkg -i wine_0.9. | + | sudo dpkg -i wine_0.9.39~winehq0~ubuntu~7.04-3_i386.deb |
</nowiki></pre> | </nowiki></pre> | ||
− | |||
=== Clean up === | === 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. | 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:''' | '''Dapper:''' | ||
<pre><nowiki> | <pre><nowiki> | ||
第170行: | 第122行: | ||
make distclean | make distclean | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
'''Breezy:''' | '''Breezy:''' | ||
<pre><nowiki> | <pre><nowiki> | ||
第178行: | 第129行: | ||
</nowiki></pre> | </nowiki></pre> | ||
---- | ---- | ||
− | |||
[[category:UbuntuHelp]] | [[category:UbuntuHelp]] |
2010年5月19日 (三) 21:47的最新版本
点击翻译: |
English |
请不要直接编辑翻译本页,本页将定期与来源同步。 |
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 7.04 (Feisty Fawn), Using Wine 0.9.39
- Ubuntu 6.06 (Dapper Drake), using Wine 0.9.21
- Ubuntu 5.10 (Breezy Badger), using Wine 0.9.21
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
Feisty:
deb-src http://wine.budgetdedicated.com/apt feisty main
(see https://wiki.ubuntu.com/AddingRepositoriesHowto for help) Also, see http://www.winehq.org/site/download-deb for most current repository adding method.
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 sudo apt-get install fakeroot
Download the Wine source
Create a directory for the build process (wine-0.9.38), 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.39 cd wine-0.9.39 apt-get source wine
cd to the directory containing the source code, as that's where we'll be working from. Dapper:
cd wine-0.9.21~winehq0~ubuntu~6.06
Breezy:
cd wine-0.9.21~winehq0~ubuntu~5.10
Feisty:
cd wine-0.9.39~winehq0~ubuntu~7.04
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 the 0.9.21 patch from http://appdb.winehq.org/appview.php?versionId=5109 to your home folder and apply the patch to the Wine code.
patch -p0 < ~/wow-patch-0.9.21.patch
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
Feisty: Run this command:
sudo apt-get install libasound2-dev libaudiofile-dev libesd0-dev libaudio-dev libcapi20-dev liblcms1-dev libcupsys2-dev libsane-dev libhal-dev libdbus-1-dev freeglut3-dev libc6-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev libglib1.2-dev libglib2.0-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 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.100.0-dev libicu34-dev libungif4-dev libssl-dev lib32ncurses5-dev
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.21~winehq0~ubuntu~6.06-1_i386.deb
Breezy:
sudo dpkg -i wine_0.9.21~winehq0~ubuntu~5.10-1_i386.deb
Feisty:
sudo dpkg -i wine_0.9.39~winehq0~ubuntu~7.04-3_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.21/wine-0.9.21~winehq0~ubuntu~6.06 make distclean
Breezy:
cd wine-0.9.21/wine-0.9.21~winehq0~ubuntu~5.10 make distclean