32ビットmultilibでSlackware 64 14.0を実行しています。
多数のサイトが、複数のバージョンのwineserverを実行することは不可能であり、解決策は新しいバージョンを使用するために古いバージョンのwineserverを強制終了することであると説明しています。一部のサイトでは、ワインサーバーのバージョンごとに異なるWINEPREFIXを使用することが可能であると述べています。
それは、Netflixplayerが本質的に行っていることだからです。Netflixplayerのwineserverが実行されているか、私のワインインストールのwineserverを使用しているかはわかりません。Netflixplayer.tar.gzにあるワインのバージョンを確認できませんでした。
/opt/Netflix64/bin/wine --version
または
cd /opt/Netflix64/bin && ./wine --version
/ usr / binにインストールされているワインのバージョンを報告します。いくつかのバージョンをインストール/アンインストールして、これを確認しました。
http://sourceforge.net/projects/postinstaller/files/data/によると、Netflixplayerが2012年12月24日以降に更新されたようには見えず、httpによると最新のワインバージョンは1.5.20でした。 //sourceforge.net/projects/wine/files/Source/
だから私は走っていた
ワイン1.5.25 32ビット
とNetflixplayer
wine <= 1.5.20 32ビット
「ファイル」によると、両方のワインバージョンは32ビットです。
bash-4.2$ file /opt/Netflix64/bin/wine
/opt/Netflix64/bin/wine: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), BuildID[sha1]=0x2acec63c4ffa5cd7515f1c9fead64d54616df195, stripped
bash-4.2$ file /usr/bin/wine
/usr/bin/wine: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
readelfは、ライブラリの実行パスが異なることを示しています。
bash-4.2$ readelf -d /usr/bin/wine | grep -e Library -e library
0x00000001 (NEEDED) Shared library: [libwine.so.1]
0x00000001 (NEEDED) Shared library: [libpthread.so.0]
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000f (RPATH) Library rpath: [$ORIGIN/../lib]
0x0000001d (RUNPATH) Library runpath: [$ORIGIN/../lib]
bash-4.2$ readelf -d /opt/Netflix64/bin/wine | grep -e Library -e library
0x00000001 (NEEDED) Shared library: [libwine.so.1]
0x00000001 (NEEDED) Shared library: [libpthread.so.0]
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000f (RPATH) Library rpath: [$ORIGIN/../lib32]
0x0000001d (RUNPATH) Library runpath: [$ORIGIN/../lib32]
これがすべて発生してからNetflixplayerを実行できるのは1回だけでした。これは、ワイン関連のすべてをアンインストールし、隠しファイルを含む/ tmpのすべてを削除し、パッケージ履歴を除くwineへのすべての参照を削除したためです。1.5.25に戻りましたが、何をしても、wineserver -kを使用して古いバージョンのwineserverを閉じることはできません。
これを実行する:
env WINELOADER="/opt/Netflix64/bin/wine" WINESERVER="/opt/Netflix64/bin/wineserver" WINEPREFIX="$HOME/.Netflix" /opt/Netflix64/bin/wine "C:\Program Files\Mozilla Firefox\firefox.exe" http://netflix.com/
これを生成します:
wine client error:0: version mismatch 437/439.
Your wineserver binary was not upgraded correctly,
or you have an older one somewhere in your PATH.
Or maybe the wrong wineserver is still running?
Netflixplayerは、システムにインストールされている他のワインでは動作しなくなります。環境変数は無視されていると思います。そして、どういうわけかWINEPREFIXは役に立たなくなった。
strace wine notepad 2>&1 |grep "/lib/"
そして、私は非常に奇妙なものを見つけました:wine 1.7.19(適切に設定されたPATHとLD_LIBRARY_PATH)でそれを実行している間、ワイン1.7.19からのlibがロードされました。今、私はそれを解決しようとする必要があります:)