12

私はこれをやろうとしています:
automake 構成スクリプトを使用して 64 ビット Linux で 32 ビットをビルドしますか?
私にはうまくいきません:(ワインをコンパイルしています。config.logでこれを見つけました:

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;
| }

構成は次のように失敗します。Cannot build a 32-bit program, you need to install 32-bit development libraries.

4

7 に答える 7

12
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エラーを乗り越えました。

于 2014-03-06T10:56:42.483 に答える
10

64 ビット マシンで 32 ビット ワインをビルドするには、複数の分離された Linux システムを実行するためのオペレーティング システム レベルの仮想化環境である LXC (Linux コンテナー) を使用できます。64 ビット システムには 32 ビット開発ライブラリの完全なセットが付属していないため、Linux (Ubuntu や Debian など) では 32 ビット Wine のビルドが困難になるため、これはこれまでのところ最も簡単なソリューションです ( Bug #990982を参照) 。 .

したがって、32 ビットと 64 ビットの両方のワインをコンパイルするための基本的なアプローチは次のとおりです。

  1. 64 ビットのワインをビルドする
  2. lxc で 32 ビット ツールをビルドする
  3. 前の手順でビルドした 1. 64 ビットのワインと 32 ビットのツールを参照して、lxc で 32 ビットのワインをビルドします。
  4. 32 ビットワインをインストールする
  5. 64 ビットのワインをインストールする

ページBiarch (Shared WoW64) Wine On 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. これで、コンテナー内の実際のホーム ディレクトリに移動しました。コンテナー内にいない場合 (username@my32bitbox というプロンプトがない場合)、新しいターミナルを開いて、次のようにします。

    sudo lxc-attach -n my32bitbox
    login yourusername+password
    
  8. 今、あなたはコンテナにいます。ツールを取得するためだけに、Wine のツリー外ビルドを通常どおり実行します。最初に必要な前提条件をすべてインストールする必要があります。例えば:

    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 パッケージ管理ツールの 1 つを使用する方が簡単です。コンパイルしたバージョンの wine には、wine-mono、wine-gecko、およびオプションで winetricks が必要です。ただし、これらのパッケージは既存のワインのインストールに依存している可能性があり、削除を余儀なくされる場合があります。

  12. 新しくビルドしたワインを実機にインストールします。

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

    警告: ローカルにビルドされたバージョンの Wine をインストールすると、パッケージから取得されたものではないため、パッケージ管理システムはそれが存在することを認識しません。したがって、後で依存関係を壊したり、パッケージ管理ツールからの警告なしに競合するバージョンの wine をインストールしたりすることができます。これを防ぐには、パッケージを作成するか、パッケージに "Pin-Priority: -1" を設定して apt-pinning で競合するパッケージをブロックします。

  13. 次に、Mono、Gecko、およびオプションで winetricks をインストールします (競合する wine パッケージへの依存関係のためにそれらのパッケージを削除する必要がある場合)。

ノート:

  • 上記のコマンドの多くには、ルート権限が必要です。ユーザー アカウントに root へのアクセス権がsudo必要か、ユーザー アカウントに切り替える必要があります。
  • ディストリビューション バージョンを削除して、コンパイル済みバージョン (32 ビット、64 ビット) を「インストール」する必要はありません。Windows アプリに適した個人用バージョンのワインを起動するだけです。例: ~/wine32/wine32 ~/.wine/path_to_winapp/my_app.
于 2015-06-14T13:06:31.327 に答える
2

あなたはXエラーを解決するかもしれません:

sudo apt-get install xorg-dev
于 2014-03-05T13:37:36.130 に答える
2

Debian Wheezyで私にとってある程度うまくいったこと:

dpkg --add-architecture i386
apt-get update

i386 リポジトリからのインストールを有効にする

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

32ビットライブラリをインストールします。私は実際にまだ X libs に問題があります:

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.

ただし、技術的にはオプションです。

于 2013-08-31T21:54:33.150 に答える
1

マルチアーキテクチャをサポートするようになったUbuntu x64を使用していると思います。つまり、64 ビット システムでは、Wine-x64 バージョンのみをビルドできます。Ubuntu 12.04 x64 で 32 ビット Wine をビルドすると、今のところバグがあるようです。

だからただ実行してください:

./configure --enable-win64
于 2015-03-09T02:42:17.437 に答える
1

そうしないでください。Wine は 64 ビット システムでもデフォルトで 32 ビット用にビルドします (32 ビットの Windows プログラムを実行する必要があるため)。同時に 64 ビットの Wine もビルドします。これを無効にする場合は、次のように構成します。

./configure --disable-win64
于 2012-12-08T18:15:16.120 に答える
0

Wine wikiには、chrootを使用して、必要な32ビット開発ライブラリを64ビットシステムにインストールする簡単な方法があります:http ://wiki.winehq.org/WineOn64bit

于 2013-01-12T15:59:45.773 に答える