无法在64位Linux上构build32位Wine

我正在尝试这样做:
使用automakeconfiguration脚本在64位Linux上构build32位?
不适合我:(编译酒,我在config.log中find了这个:

configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "Wine" | #define PACKAGE_TARNAME "wine" | #define PACKAGE_VERSION "1.5.19" | #define PACKAGE_STRING "Wine 1.5.19" | #define PACKAGE_BUGREPORT "wine-devel@winehq.org" | #define PACKAGE_URL "http://www.winehq.org" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } 

configuration失败: Cannot build a 32-bit program, you need to install 32-bit development libraries.

Solutions Collecting From Web of "无法在64位Linux上构build32位Wine"

 apt-get install gcc-multilib libasound2-dev:i386 libgsm1-dev:i386 libjpeg8-dev:i386 liblcms2-dev:i386 libldap2-dev:i386 libmpg123-dev:i386 libopenal-dev:i386 libv4l-dev:i386 libx11-dev:i386 libxinerama-dev:i386 libxml2-dev:i386 zlib1g-dev:i386 

 apt-get install libcapi20-dev:i386 libcups2:i386 libdbus-1-3:i386 libfontconfig:i386 libfreetype6:i386 libglu1-mesa:i386 libgnutls26:i386 libgphoto2-2:i386 libncurses5:i386 libosmesa6:i386 libsane:i386 libxcomposite1:i386 libxcursor1:i386 libxi6:i386 libxrandr2:i386 libxslt1.1:i386 ocl-icd-libopencl1:i386 

让我过去X错误。

要在64位机器上构建32位wine,可以使用LXC(Linux容器),这是一个操作系统级虚拟化环境,用于运行多个独立的Linux系统。 到目前为止,这是最简单的解决方案,因为Linux(例如Ubuntu或Debian)使得构建32位wine变得困难,因为64位系统没有配备完整的32位开发库(参见: Bug#990982 ) 。

所以编译32位和64位葡萄酒的基本方法是:

  1. 建立64位葡萄酒
  2. 在lxc中构建32位工具
  3. 在lxc中构建32位葡萄酒,指的是在之前的步骤中构建的64位葡萄酒和32位工具
  4. 安装32位葡萄酒
  5. 安装64位葡萄酒

在页面上构建Biarch(共享WoW64)Wine在Ubuntu上,我们可以阅读以下说明:

  1. 安装64位必备软件:

     sudo apt-get update sudo apt-get build-dep wine 
  2. 建立64位酒:

     mkdir $HOME/wine64 cd $HOME/wine64 ../wine-git/configure --enable-win64 make -j4 
  3. 安装lxc:

     sudo apt-get install lxc 
  4. 使用Ubuntu模板创建一个名为“my32bitbox”的32位容器,并将您的主目录绑定到容器中的/ home目录:

     sudo lxc-create -t ubuntu -n my32bitbox -- --bindhome $LOGNAME -a i386 
  5. 将主机上的apt配置复制到lxc容器中:

     sudo cp -R /etc/apt /var/lib/lxc/my32bitbox/rootfs/etc 
  6. 启动容器; 在控制台登录提示符下给你,用你的用户名和密码登录。

     sudo lxc-start -n my32bitbox 
  7. 现在你在容器里,在你的真正的主目录中。 如果您不在容器中(您没有提示用户名@ my32bitbox),请打开一个新终端并:

     sudo lxc-attach -n my32bitbox login yourusername+password 
  8. 现在,你在容器中。 像往常一样,做一个树的树外建立,只是为了获得工具。 您必须首先安装所有必需的先决条件。 例如:

     sudo apt-get update sudo apt-get install python-software-properties git-core sudo apt-get build-dep wine mkdir $HOME/wine32-tools cd $HOME/wine32-tools ~/wine-git/configure make -j4 
  9. 仍然在容器内部,再次执行,这次指向64位版本的数据,32位工具为工具构建:

     mkdir $HOME/wine32 cd $HOME/wine32 ~/wine-git/configure --with-wine64=$HOME/wine64 --with-wine-tools=$HOME/wine32-tools make -j4 
  10. 仍然在容器内,安装32位酒强制建筑的最后一点:

     cd $HOME/wine32 sudo make install 
  11. 仍然在容器内,关闭它:

     sudo shutdown -h now 

    这会让你退回到真实的机器。 接下来,您需要删除所有现有的Wine包。 您可以从命令行执行此操作,但使用aptitude或其中一个GUI软件包管理工具可能更容易。 你将需要葡萄酒单,葡萄酒壁虎,和葡萄酒的编译版本的葡萄酒。 但是,这些软件包可能取决于现有的葡萄酒装置,可能会强制您将其移除。

  12. 将新建的葡萄酒安装到您的真机上:

     cd $HOME/wine32 sudo make install cd $HOME/wine64 sudo make install 

    警告:当您安装Wine的本地版本时,包管理系统将不知道它存在,因为它不是来自包。 因此,稍后可能会破坏它的依赖关系,或者在没有来自包管理工具的警告的情况下安装冲突版本的葡萄酒。 您可以通过创建软件包或通过为软件包设置“Pin-Priority:-1”来阻止与apt-pinning相冲突的软件包来阻止此操作。

  13. 接下来,安装Mono,Gecko和可选的winetricks,如果你必须移除他们的包,因为依赖冲突的酒包。

注意:上面的许多命令都需要root权限。 您的用户帐户需要通过sudo访问root,或者您需要切换到用户帐户。

Debian Wheezy在某种程度上对我有用:

 dpkg --add-architecture i386 apt-get update 

以启用从i386回购安装

 apt-get install ia32-libs libc6-dev-i386 lib32z1-dev lib32bz2-dev 

安装32位库。 我实际上仍然遇到X库的问题:

 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. 

但在技术上是可选的。

不要这样做。 Wine甚至在64位系统上默认构建32位(因为它必须运行32位Windows程序)。它同时还构建了一个64位Wine。 如果你想禁用,配置它:

  ./configure --disable-win64 

你可能会解决X错误:

 sudo apt-get install xorg-dev 

我想你使用的是现在支持多架构的Ubuntu x64。 换句话说,在一个64位系统上,你只能建立Wine-x64版本。 在Ubuntu 12.04 x64上构建32bit Wine似乎就像现在一样。

所以就运行:

 ./configure --enable-win64 

Wine wiki有一个简单的方法来在64位系统上安装所需的32位开发库,使用chroot: http : //wiki.winehq.org/WineOn64bit