在 ubuntu 12.04 64 位上从源代码构建 wine 32 位

在 ubuntu 12.04 64 位上从源代码构建 wine 32 位

我正在尝试从源代码构建 wine。apt-get build-dep wine 安装了一些依赖包。运行 configure 脚本时,出现以下错误:

checking for X... no
configure: error: X 32-bit development files not found. Wine will be built
without X support, which probably isn't what you want. You will need
to install 32-bit development packages of Xlib/Xfree86 at the very least.
Use the --without-x option if you really want this.

在哪里可以找到 12.04 64 位上的 Xlib/Xfree86 的 32 位开发包?

答案1

要传递此错误,您需要安装 X11 库开发头文件,例如:

sudo apt-get install libx11-dev:i386

然而,当配置 wine 时,它​​并不能完全解决问题,因为你会得到另一个错误未找到 FreeType 32 位开发文件这会更具挑战性(除非配置--without-freetype)。

因此,最简单的方法是安装 wine 二进制包或使用 LXC(Linux 容器)在 64 位机器上构建 32 位 wine,如这里

答案2

如果您想添加自定义补丁,您可能需要自己编译 wine。例如,目前《魔兽世界》和《暗黑破坏神 3》启动器/下载器依赖于尚未进入官方 wine 存储库的补丁。

不幸的是,ubuntu 不再提供相应的 32 位开发文件,或者它们目前无法与其 64 位挂件共存。

https://bugs.launchpad.net/ubuntu/+source/wine1.4/+bug/944321

答案3

我一直在利用 pdebuild,它是构建器拆除在运行 Ubuntu 12.04 amd64 的笔记本电脑上构建 wine i386。

我将首先阅读此页面以了解发生了什么并设置您的 pbuilder 环境:http://wiki.debian.org/PbuilderTricks

一旦设置完成,您就可以选择最新的 ppa 并从那里进行构建:

$ dget -u -x http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/pool/main/w/wine1.5/wine1.5_1.5.9-0ubuntu2~pulse19.dsc
$ cd wine1.5-1.5.9
$ DIST=precise ARCH=i386 pdebuild

您可以将补丁放在 wine1.5-1.5.9/debian/patches 目录中,并将文件添加到 wine1.5-1.5.9/debian/patches/series 文件中,还可以运行 dch -i 来增加包上的版本号,然后再运行 pdebuild 命令来应用您自己的补丁。

您可能只使用 pbuilder 并从主干构建 wine,但我更喜欢尽可能从 deb 包构建。

答案4

您可以使用 下载源代码apt-get source wine1.*。然后cd进入文件夹,应用软件包,并使用dpgk再次打包所有内容,这也会使其编译。然后将其转换为.deb并安装。

像这样:

sudo apt-get build-dep wine1.3
apt-get source wine1.3
cd wine1.3-*
patch -p1 < foo.patch
dpkg-buildpackage -rfakeroot
cd ..
sudo dpkg -i wine1.3*.deb

相关内容