LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Gstreamer errors in 13.37 multilib + wine (https://www.linuxquestions.org/questions/slackware-14/gstreamer-errors-in-13-37-multilib-wine-912091/)

quiescere 11-05-2011 07:29 PM

Gstreamer errors in 13.37 multilib + wine
 
I'm getting the following errors trying to run a game under wine:
Code:

(wine:3946): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libgstlibvisual.so': libvisual-0.4.so.0: cannot open shared object file: No such file or directory

(wine:3946): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libgstogg.so': libogg.so.0: cannot open shared object file: No such file or directory
fixme:gstreamer:unknown_type Could not find a filter for caps: video/x-ms-asf
fixme:gstreamer:watch_bus decodebin20: Your GStreamer installation is missing a plug-in.
fixme:gstreamer:watch_bus decodebin20: A Advanced Streaming Format (ASF) demuxer plugin is required to play this stream, but not installed.
fixme:gstreamer:GST_Connect Gstreamer could not find any streams
err:gstreamer:push_data_init Obtaining buffer returned: -2

I know that libogg.so.0 (libvisual-0.4.so, libtheora, etc.) is present, in /usr/lib64. Do I need to convert more packages for 32-bit compatibility? I confess to being fairly shaky on how many compat32 packages I really need.

Thanks,
quiescere

ReaperX7 11-06-2011 03:52 AM

You probably do need more packages. Check the dependencies of each and install all dependencies for the 32-bit software packages you will be needing.

kingbeowulf 11-06-2011 04:28 PM

To run WINE in Slackware64, you need a bunch of packages from Slackware32. The best start is to make sure you followed Alien BOB's multilib wiki completely: http://alien.slackbook.org/dokuwiki/...kware:multilib

WINE looks for libraries in /usr/lib, not in /usr/lib64. Of course this is not a problem in Slackware32! Then compile WINE as a 32-bit application, following the instructions in wiki.

Occasionally, you'll have to add a 32-package not part of the set listed in the wiki. The 'convertpkg-compat32' tool willdo that for any 32-bit slackware packages you need.

ReaperX7 11-06-2011 11:40 PM

Yeah fairly much you may have to install a bunch of libraries and applications to get the full benefit of 32-bit compatibility, and often it's not worth the trouble. I've had tons of issues compiling and building stuff after installing the 32-bit packages that I actually removed the whole thing and went back to a pure 64-bit system.

I do have Wine installed but it's a custom built copy of Wine64 that strictly is for 64-bit Windows applications and nothing else.

kingbeowulf 11-07-2011 12:21 AM

As they say: YMMV. I have not had any issues with multilib; been running it for years (SLAMD64 etc). I do only compile WINE that way and everything else as native x86_64. Just updated to WINE-1.3.32 for Steam and Team Fortress2. Civ4 and Oblivion run spiffy.

You do need to be careful with the script that sets up the 32 bit build environment. Every once in a while a need a 32-bit lib not provided by Slackware, so I build that with Slackware32 via a virtual machine. My clean Slackware64 environment for building is also a VM.

phenixia2003 11-07-2011 09:06 AM

Hello,

Quote:

Originally Posted by quiescere (Post 4516894)
I know that libogg.so.0 (libvisual-0.4.so, libtheora, etc.) is present, in /usr/lib64. Do I need to convert more packages for 32-bit compatibility? I confess to being fairly shaky on how many compat32 packages I really need.
quiescere

Using compat32pkg, you can automate conversion, installation, and updates of those packages. The best, and easier, way to do that is to add the basename of the missing packages at the end of the file
/etc/compat32pkg/multilib-32bit-packages.lst, as below :

Code:

  ###
  #    additional packages needed by ...    #
                                          ###
libogg
libtheora
libvisual
libvisual-plugins

Once you did that, if you run compat32pkg in mode list-updates layer-32, you will notice that the packages added will be processed as updates by compat32pkg :
Code:

$ compat32pkg --mirror @WorldWide-13.37 --list-updates layer-32

compat32pkg ver. 1.4.110408 (stable)

[--list-updates] Started on Mon Nov  7 16:02:05 2011                                               
[--list-updates]  Using mirror ftp://mirrors.kernel.org/slackware/slackware-13.37
[--list-updates]  Local system is Slackware/x86_64 version 13.37.0
[--list-updates]  Mirrored system is Slackware/i486 version 13.37
[--list-updates]  Slackware-32 packages will be stored into /var/cache/compat32pkg/slackware-32
[--list-updates]  compat32 packages will be stored into /var/cache/compat32pkg/compat-32
[--list-updates]  Configuration file for "layer-32" : /etc/compat32pkg/multilib-32bit-packages.lst version 1.4.110825
                                                                                   
[--list-updates]  4 update(s) were found [ 0 package(s) to upgrade, 4 package(s) to add ] (0,065 sec.)

[ package-basename                ] [ installed version                ]    [ update version                  ]
  libogg                              ** NOT INSTALLED **                -->  1.2.2 build 1                 
  libtheora                            ** NOT INSTALLED **                -->  1.1.1 build 1                 
  libvisual                            ** NOT INSTALLED **                -->  0.4.0 build 2                 
  libvisual-plugins                    ** NOT INSTALLED **                -->  0.4.0 build 2                 

[--list-updates] Ended on Mon Nov  7 16:02:06 2011

To install them, you simply have to run compat32pkg in (layer-32) upgrade mode as below :

Code:

compat32pkg --mirror @WorldWide-13.37 --upgrade layer-32

compat32pkg ver. 1.4.110408 (stable)

[--upgrade] Started on Mon Nov  7 16:04:34 2011
[--upgrade]  Using mirror ftp://mirrors.kernel.org/slackware/slackware-13.37
[--upgrade]  Local system is Slackware/x86_64 version 13.37.0
[--upgrade]  Mirrored system is Slackware/i486 version 13.37
[--upgrade]  Slackware-32 packages will be stored into /var/cache/compat32pkg/slackware-32
[--upgrade]  compat32 packages will be stored into /var/cache/compat32pkg/compat-32
[--upgrade]  Configuration file for "layer-32" : /etc/compat32pkg/multilib-32bit-packages.lst version 1.4.110825
                                                                                   
[--upgrade]  4 update(s) were found [ 0 package(s) to upgrade, 4 package(s) to add ] (0,056 sec.)

[--upgrade]  Processing package #1/4: libogg version 1.2.2 build 1
[--upgrade]    Package successfully downloaded (/var/cache/compat32pkg/slackware-32/libogg-1.2.2-i486-1.txz)
[--upgrade]    Package converted to format compat32 (/var/cache/compat32pkg/compat-32/libogg-compat32-1.2.2-x86_64-1.txz)
[--upgrade]    Package successfully installed.                   

[--upgrade]  Processing package #2/4: libtheora version 1.1.1 build 1
[--upgrade]    Package successfully downloaded (/var/cache/compat32pkg/slackware-32/libtheora-1.1.1-i486-1.txz)
[--upgrade]    Package converted to format compat32 (/var/cache/compat32pkg/compat-32/libtheora-compat32-1.1.1-x86_64-1.txz)
[--upgrade]    Package successfully installed.                     

[--upgrade]  Processing package #3/4: libvisual version 0.4.0 build 2
[--upgrade]    Package successfully downloaded (/var/cache/compat32pkg/slackware-32/libvisual-0.4.0-i486-2.txz)
[--upgrade]    Package converted to format compat32 (/var/cache/compat32pkg/compat-32/libvisual-compat32-0.4.0-x86_64-2.txz)
[--upgrade]    Package successfully installed.                     

[--upgrade]  Processing package #4/4: libvisual-plugins version 0.4.0 build 2
[--upgrade]    Package successfully downloaded (/var/cache/compat32pkg/slackware-32/libvisual-plugins-0.4.0-i486-2.txz)
[--upgrade]    Package converted to format compat32 (/var/cache/compat32pkg/compat-32/libvisual-plugins-compat32-0.4.0-x86_64-2.txz)
[--upgrade]    Package successfully installed.                             

[--upgrade] Ended on Mon Nov  7 16:04:52 2011

So, each time you need packages (from slackware) not included into the default layer-32, simply add them into the file that describes the 32-bit layer, and run compat32pkg in upgrade mode.

Important:
Tweaking the file /etc/compat32pkg/multilib-32bit-packages.lst has one drawback:Any change made to this file will be lost when installing a new version of compat32pkg, or, when using compat32pkg
in mode "layer-32-config update". So be careful in these cases.

Hope this help.

Greetings.

--
SeB


All times are GMT -5. The time now is 05:47 PM.