I'm running Slackware 64 14.0 with 32 bit multilibs.
Numerous sites have explained that it is impossible to run multiple versions of wineserver and that the solution is to kill the old version of wineserver to use the new version. A select few sites have mentioned that it is possible by using a different WINEPREFIX for each wineserver version.
That's what I have been doing inadvertently for months because that's what Netflixplayer inherently does. I'm not certain if Netflixplayer's wineserver was running or using my wine installation's wineserver. I have been unable to verify the wine version that is in Netflixplayer.tar.gz because when I run:
cd /opt/Netflix64/bin && ./wine --version
it reports whatever wine version is installed in /usr/bin. I've verified this by installing/uninstalling several versions.
According to http://sourceforge.net/projects/postinstaller/files/data/, it doesn't look like Netflixplayer has been updated since 12/24/2012 and the latest wine version out then was 1.5.20 according to http://sourceforge.net/projects/wine/files/Source/
So I've been running
wine 1.5.25 32 bit
and Netflixplayer with
wine <=1.5.20 32 bit
According to 'file' both wine versions are 32 bit:
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
And readelf shows that the library runpaths are different.
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]
I have only been able to run Netflixplayer once after all of this happened and that was because I uninstalled everything wine related and deleted everything in /tmp including hidden files and deleted every reference to wine, excluding the package history. I've reverted back to 1.5.25 and no matter what I do, not even closing the old version of wineserver using wineserver -k will work.
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 will no longer work with any other wine installed on the system. I think the environment variables are being ignored. And that somehow WINEPREFIX became useless.
I have attempted to ask a question a considerable number of times but by the time I finish filling out the form, I've figured out in several minutes what took days or even weeks of no results. I probably should have asked and answered it myself because my questions typically have 1 or 2 page results on google hidden between thousands of similar but unrelated questions.
Anyway, here's my answer:
Netflixplayer.tar.gz is using wine-1.5.19. I got this by creating another user and performing the same commands from the question:
bash-4.2$ /opt/Netflix64/bin/wine --version wine-1.5.19 bash-4.2$ /usr/bin/wine --version wine-1.5.25
This tells me that there is definitely something wrong my current user. It's possible my environment is damaged somehow.
Currently I've resolved this by running the second wineserver as the new user but I think that if I fixed my current user I could run both wineservers in the same account. But this is not a big deal. What concerns me, however, is that there could be other unknown side effects of whatever is going on.
bash-4.2$ ps aux | grep wineserver user1 7415 15.7 0.3 15460 12320 ? Ss 17:40 17:26 /usr/bin/wineserver user2 10661 8.7 0.3 13316 10272 ? Ss 19:14 1:26 /opt/Netflix64/bin/wineserver
I'm not certain but it's possible my $LD_LIBRARY_PATH I set, from a previous compile, was interfering with the library paths of the executables. My new user obviously didn't have this in its path.
User contributions licensed under CC BY-SA 3.0