How to fix dependency/missing plugin for totem?

Hello List, Monitors!

My 12.3-32 and lxde is up to date, but a month or two ago I got rid of something that broke totem. I was warned by yast when I did that, but I though I could always reinstall totem. That wasn’t the case!

Is there a procedure for fixing broken dependencies? I’ve tried looking at requirements for totem in yast but I haven’t been able to appease it.

The reason I’m asking now is that I mostly use smplayer2, but a video link I tried to follow ( dumped these errors into dmesg:

frank[5476] sudo dmesg
root's password:
 1000.509230] totem-plugin-vi[1565]: segfault at 8 ip 0805b7c8 sp bfa31610 error 4 in totem-plugin-viewer[8048000+3b000]
 1062.792447] totem-plugin-vi[1577]: segfault at 8 ip 0805b7c8 sp bff54140 error 4 in totem-plugin-viewer[8048000+3b000]
frank[5476] which totem

If I attempt to invoke totem to play an mp4 file it responds with this:

Totem could not startup. Some necessary plug-ins are missing. Make sure that the program is correctly installed.
The totem rpms installed are:

frank[5477] rpm -qa | grep -i totem

Is it an “easy get” to make totem work? Heboland.

Did you try to reinstall totem using YaST?

Try to call “Reset Ignored Dependency Conflicts” in the Extras menu in YaST.

You should get back that conflict dialog then which you ignored (you may have to call Dependencies->“Check now” as well) and will be able to correctly resolve it hopefully (if you’re not sure, please post the exact message).

Thanks for the responses guys!

hcvv, yes I did reinstall totem back when I broke the dependencies a month or two ago. At the same time I scrolled thru the yast requirements for totem and installed some more related stuff that might now be superfluous.

wolfi323, thanks for the suggestion. For the record, I found the “Extra” tab in yast > SW management > Extras > Reset ignored dependency conflicts.

I’m happy to know about that feature, but nothing seemed to happen in this particular case. First I had SW management > search look for totem. With all the totem rpms shown, I selected the Ex tra > Reset … Nothing happened. The SW management window closed.

Next I got the SW management window open again and without the totem search, I just did the Extra > Reset … with the same result - window closed.

I tried to follow the link in the original post with firefox as before. The video hung on the first frame. This time nothing appeared in dmesg.

Trying to open the same mp4 file with totem as before, totem gives the same message as before: Totem could not startup. Some necessary plugins are messing…

I never got to see the “Check Now” message from the Extra > Reset… Did you mean for me to call Reset… from the command line rather than the yast gui?

Maybe my earlier shotgun approach plus yast > online updates had fixed the broken dependencies before I tried the Extra… If the problem remaining is just a missing plugin problem, if there a way to track down what’s missing? Heboland.

That shouldn’t happen. Apparently you are stumbling over a bug in YaST (the GTK version?)

And btw, it doesn’t matter which packages you have selected when you select “Reset…”. That applies to all ignored conflicts.

Hm, try to uncheck “Autocheck” in the “Dependencies” menu, maybe it doesn’t crash then?
Or use the text mode version and call “Dependencies”->“Verify System now”. (Run “sudo /sbin/yast” in a terminal window)

You could also run “sudo zypper ve” to verify all dependencies.

I never got to see the “Check Now” message from the Extra > Reset… Did you mean for me to call Reset… from the command line rather than the yast gui?

No, I meant you should call “Check Now” in the “Dependencies” menu.

Thanks wolfi323!

Very good instructions.

Following your guidance I got this:

All package dependencies are OK.

Zypper found something - I’ll see if it will get me farther:

frank[5508] sudo zypper ve
root's password:
Loading repository data...
Reading installed packages...
2 Problems:
Problem: gstreamer-plugins-good-1.2.1-2.5.i586 requires gstreamer >= 1.2.0, but this requirement cannot be provided
Problem: gstreamer-1.2.2-3.1.i586 requires libgstreamer-1_0-0 >= 1.2.2, but this requirement cannot be provided

Problem: gstreamer-plugins-good-1.2.1-2.5.i586 requires gstreamer >= 1.2.0, but this requirement cannot be provided
  uninstallable providers: gstreamer-1.2.2-3.1.i586[]
 Solution 1: Following actions will be done:
  install gstreamer-1.2.2-3.1.i586 (with vendor change)
    openSUSE  -->
  install gstreamer-plugins-base-1.2.2-2.2.i586 (with vendor change)
    openSUSE  -->
 Solution 2: Following actions will be done:
  downgrade of gstreamer-plugins-good-1.2.1-2.5.i586 to gstreamer-plugins-good-1.0.5-2.1.5.i586
  install gstreamer-plugins-good-1.0.5-2.1.5.i586 (with vendor change)  -->  openSUSE
 Solution 3: break gstreamer-plugins-good-1.2.1-2.5.i586 by ignoring some of its dependencies

Choose from above solutions by number or skip, retry or cancel [1/2/3/s/r/c] (c): 

I’ll let you know how this come out! Heboland.

I would suggest Solution 1, switch to the Packman version in all cases.

Thanks wolfi323!

I did take solution 1. zypper installed some gstreamer rpms and finished the operation with no problems. Later I did an online update and one of the gstreamer rpms got updated.

The yast > SW management > Dependencies > Check now still shows dependencies are OK.

The link in my first post on this thread does play now, but it’s BW requirements are too large for my online connection.

This is off topic, but I tried to download that video with youtube-dl and cclive. Neither app would work with that link. The website has a download button. Nothing happened when I tried it, but maybe membership is required. I can live without that download, but if there’s another app that would download it, I would like to experiment farther.

Still after fixing the dependencies and updating gstreamer, totem still gives me the missing plugin message if I try to open an mp4 file with it. totem can’t find this plugin if I let it search for it. yast doesn’t find a missing plugin either.

smplayer2 opens an mp4 file very well, so I don’t need totem’s missing plugin.

Except for the suggestion of an app to capture the video from the link

I think this thread is closed. I learned a lot about fixing dependencies from you and I thank you again for it! Heboland.

AFAIK you need gstreamer-plugins-libav to play back mp4s. That’s available on Packman, just install it with YaST.

And yes, the automatic plugins installer has problems, it doesn’t work if a plugin is found twice in different versions f.e. I think.

Thanks again wolfi323!

I just checked and gstreamer-plugins-libav was already installed. lxde uses mostly gnome environment applications, but in some cases only the part of the app used is installed.

A case in point is the DVD burner app. lxde uses a part nautilus for this, but the nautilus parent is never exposed. lxde uses pcmanfm for it’s file manager.

Since I don’t need totem to open mp4 files, I’m OK with letting missing totem plugin ID drop! Heboland.

Interestingly, for a problem I had in a previous install and which reads to be similar as to your own, it was the libav plugin that brought about a resolution for me (if interested see: … prior to that solution, I suspect I simply had a package dependency or repo mixing problem that I was overlooking)

Thanks for the information Tyler_K!

Your response motivated me to pursue the totem mystery a little further.

FWIW, I have two Pentium 4 towers here each running identical 12.3-32. The Hp tower (Hp) is the one I broke the totem dependency on. The Dell tower (Dell) still has the virgin 12.3 install. Both have their 12.3 up to date according to yast > Online Update.

My access to the Dell is limited, but I had a chance to attempt to open an mp4 file on it this morning. The Dell totem responds to the mp4 request with a different menu than does the Hp. The Hp totem response includes “-- Totem could not startup” and “make sure the program is correctly installed”.

It is as if the Hp totem is still broken somehow!

lxde refers to totem as “Videos” .The Dell totem response to an mp4 open request unfolds like this:

Videos requires additioinal plugins for this operation.

The following plugins are required:

MPEG-4 ACC decoder
H.264 decoder

Do you wish to eearch for thes now? Cancel Search

Selecting Search gives this:

Searching for plugins…

Install the following plugins - Do you want to install these plugins now?

There are 9 GStreamer rpms listed! Cancel Install


Refreshing SW list
Resolving depencencies
Failed to install package
Unknown error. Please refer to the detailed report and report in your distribution bug tracker.

cannot install both gstreamer-plugins-good-1.0.5-2.1.5.i586 and gstreamer-plugins-good-1.2.2-2.2.i586
cannot install both gstreamer-plugins-bad-1.0.5-2.1.1.i586 and gstreamer-plugins-bad-1.0.5-2.1.1.i586

The list of rpms totem wants to install is not one that can be picked up with the mouse. I took a pdf snapshot with GIMP. Ill try to attach that to this reply. Guess I won’t!

While I had the Dell this morning, I didn’t think to grep it for it’s GStresamer rpms. Later I’ll diff that list with the Hp list. This is the Hp GStreamer list FWIW:

frank[5527] rpm -qa | grep -i gstreamer


Please install gstreamer-plugins-bad-1.2.2 and gstreamer-plugins-good-1.2.2 manually with YaST or zypper, and you’re missing gstreamer-plugins-good-extra, gstreamer-plugins-libav, gstreamer-plugins-ugly, and gstreamer-plugins-ugly-orig-addon:

sudo zypper in gstreamer-plugins-bad-1.2.2 gstreamer-plugins-good-1.2.2  gstreamer-plugins-good-extra gstreamer-plugins-libav gstreamer-plugins-ugly gstreamer-plugins-ugly-orig-addon

You must not mix the 1.0.5 and 1.2.x versions, otherwise it won’t work, as you already experienced.

Maybe also post your repo list:

zypper lr -d

Thanks for the zypper code wolfi323.

Before I found your reply, I noticed another plugin that was installed on the Dell, but not on the Hp. I thought gstreamer-0_10-plugins-ffmpeg-0.10.13-2000.6.i586 would fix the mp4 problem. It installed, but no change.

Your install code loaded successfully and for once the totem menu changed for the better.

Now when I request totem to open an mp4 file it pops up a smaller plugin complaint:

Hawks.mp4 requires an additional plugin for this operation.

The following plugin is required:
H.264 decoder. Do you want to search for this now? Cancel Search

>Search Again is listing two pairs of two GStreamer Plug-ins


The install again chokes on the “bad” pair of plugins. I tried to install the above pair of gstreamers with zypper. It finds them already installed:

frank[5553] sudo zypper in gstreamer-plugins-bad-1.2.2-5.1 gstreamer-plugins-libav-1.2.1-2.2                    
root's password:
Loading repository data...
Reading installed packages...
'gstreamer-plugins-bad = 1.2.2-5.1' is already installed.
No update candidate for 'gstreamer-plugins-bad-1.2.2-5.1.i586'. The highest available version is already installed.
'gstreamer-plugins-libav = 1.2.1-2.2' is already installed.
No update candidate for 'gstreamer-plugins-libav-1.2.1-2.2.i586'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.

If I cancel totem’s request for the h.264 decoder, totem plays the audio from the mp4 file, but there’s no video.

Finally my list of repos:

frank[5551] zypper lr -d
#  | Alias                     | Name                               | Enabled | Refresh | Priority | Type   | URI                                                             | Service
 1 |          | Packman Repository                 | Yes     | Yes     |   99     | rpm-md |        |        
 2 | openSUSE-12.3-1.7         | openSUSE-12.3-1.7                  | Yes     | No      |   99     | yast2  | cd:///?devices=/dev/disk/by-id/ata-HP_DVD_Writer_1040r,/dev/sr0 |        
 3 | repo-debug                | openSUSE-12.3-Debug                | No      | Yes     |   99     | NONE   |  |        
 4 | repo-debug-update         | openSUSE-12.3-Update-Debug         | No      | Yes     |   99     | NONE   |                 |        
 5 | repo-debug-update-non-oss | openSUSE-12.3-Update-Debug-Non-Oss | No      | Yes     |   99     | NONE   |         |        
 6 | repo-non-oss              | openSUSE-12.3-Non-Oss              | Yes     | Yes     |   99     | yast2  |    |        
 7 | repo-oss                  | openSUSE-12.3-Oss                  | Yes     | Yes     |   99     | yast2  |        |        
 8 | repo-source               | openSUSE-12.3-Source               | No      | Yes     |   99     | NONE   | |        
 9 | repo-update               | openSUSE-12.3-Update               | Yes     | Yes     |   99     | rpm-md |                       |        
10 | repo-update-non-oss       | openSUSE-12.3-Update-Non-Oss       | Yes     | Yes     |   99     | rpm-md |               |        

This is kind of messy, but IIRC the only repo I’ve added is Packman. Heboland.

That’s for the older gstreamer-0_10. Totem uses gstreamer-1.0 so installing that won’t affect Totem at all.

If I cancel totem's request for the h.264 decoder, totem plays the audio from the mp4 file, but there's no video.
Hm. So apparently both gstreamer-plugins-bad and gstreamer-plugins-libav would support h.264. Maybe that confuses gstreamer?
Try to uninstall one of them as a test. Does it work then?
AFAIK gstreamer-plugins-bad only contains a h.264 encoder, no decoder. So try to remove that first.

Although I just tried to playback an h.264 video with Totem and it works fine here, with both packages installed.

Btw, here is my gstreamer plugins list:

rpm -qa gstreamer-plugins-*gstreamer-plugins-bad-lang-1.2.2-5.1.noarch


I'm on 13.1, but the version numbers should be similar.

> Finally my list of repos:
> ...
> This is kind of messy, but IIRC the only repo I've added is Packman. Heboland.

No, they are fine.

You could try to run "sudo zypper dup --from 1" to make sure all your multimedia packages come from Packman.

Thanks wolfi323!

I first deleted the “bad”. There was more collateral damage than I expected. I chose the first yast > SW Management option that didn’t break any dependencies. Some Empathy stuff and some nautilus stuff got removed with the bad.

I don’t think they came back when I reinstalled “bad” with yast > SW Management. Those apps if they are gone, are not anything I use.

totem’s behavior didn’t change with the removal of either the “bad” or the “libav”. Removing “libav” didn’t remove any other apps, but it may have if I had removed “libav” before “bad”.

So now I have both “bad” and “libav” reinstalled and I’m running your zypper command. zypper certainly has something to do with that command!

zypper is finished now and it gave me a list of processes killed by the “recent upgrade”. I think I’m just going to reboot and see if anything changed. Heboland.

wolfi323 I’m back after the reboot - you may take a bow!

sudo zypper dup --from 1

seemed to make the difference. Totem is playing the mp4 files both audio and video.

FWIW, I collected some of the stuff zypper echoed back to the terminal. I chose the default option (y).

frank[5555] sudo zypper dup --from 1
root's password:
Loading repository data...
Reading installed packages...
Computing distribution upgrade...

The following NEW package is going to be installed:

The following packages are going to be upgraded:
  audacity ffmpeg gstreamer-0_10 gstreamer-0_10-plugin-esd 
  gstreamer-0_10-plugin-gnomevfs gstreamer-0_10-plugins-bad 
  gstreamer-0_10-plugins-bad-lang gstreamer-0_10-plugins-base 
  gstreamer-0_10-plugins-good gstreamer-0_10-plugins-ugly 
  gstreamer-plugins-base gstreamer-plugins-good gstreamer-plugins-good-extra 
  gstreamer-plugins-ugly gstreamer-plugins-ugly-orig-addon k3b k3b-codecs 
  libavcodec55 libavdevice55 libavfilter3 libavformat55 libavresample1 
  libavutil51 libavutil52 libgstallocators-1_0-0 libgstapp-0_10-0 
  libgstapp-1_0-0 libgstaudio-1_0-0 libgstbasecamerabinsrc-0_10-23 
  libgstbasecamerabinsrc-1_0-0 libgstbasevideo-0_10-23 
  libgstcodecparsers-0_10-23 libgstcodecparsers-1_0-0 libgstegl-1_0-0 
  libgstfft-1_0-0 libgstinterfaces-0_10-0 libgstmpegts-1_0-0 
  libgstpbutils-1_0-0 libgstphotography-0_10-23 libgstphotography-1_0-0 
  libgstreamer-0_10-0 libgstriff-1_0-0 libgstrtp-1_0-0 libgstrtsp-1_0-0 
  libgstsdp-1_0-0 libgstsignalprocessor-0_10-23 libgsttag-1_0-0 
  libgstvdp-0_10-23 libgstvideo-1_0-0 libmjpegutils-2_0-0 libmpg123-0 libopus0 
  libpostproc52 libquicktime0 libquvi-scripts libslv2-9 libsox2 libstrigi0 
  libswresample0 libswscale2 libvpx1 libx264-135 libxmmsclient6 
  libxmmsclient-glib1 mjpegtools mplayer2 python-gstreamer-0_10 rtmpdump 
  smplayer2 sox strigi typelib-1_0-Gst-1_0 typelib-1_0-GstAudio-1_0 
  typelib-1_0-GstPbutils-1_0 typelib-1_0-GstTag-1_0 typelib-1_0-GstVideo-1_0 
  wine-mp3 xmms2 xmms2-plugin-base 

The following package is going to be downgraded:

The following packages are going to change vendor:
  audacity                        openSUSE ->
  gstreamer-0_10                  openSUSE ->
  gstreamer-0_10-plugin-esd       openSUSE ->
  gstreamer-0_10-plugin-gnomevfs  openSUSE ->
  gstreamer-0_10-plugins-base     openSUSE ->
  libavutil51                     openSUSE ->
  libgstapp-0_10-0                openSUSE ->
  libgstapp-1_0-0                 openSUSE ->
  libgstaudio-1_0-0               openSUSE ->
  libgstbasecamerabinsrc-1_0-0    openSUSE ->
  libgstcodecparsers-1_0-0        openSUSE ->
  libgstfft-1_0-0                 openSUSE ->
  libgstinterfaces-0_10-0         openSUSE ->
  libgstpbutils-1_0-0             openSUSE ->
  libgstphotography-1_0-0         openSUSE ->
  libgstreamer-0_10-0             openSUSE ->
  libgstriff-1_0-0                openSUSE ->
  libgstrtp-1_0-0                 openSUSE ->
  libgstrtsp-1_0-0                openSUSE ->
  libgstsdp-1_0-0                 openSUSE ->
  libgsttag-1_0-0                 openSUSE ->
  libgstvideo-1_0-0               openSUSE ->
  libmjpegutils-2_0-0             openSUSE ->
  libopus0                        openSUSE ->
  libquicktime0                   openSUSE ->
  libquvi7                        openSUSE ->
  libquvi-scripts                 openSUSE ->
  libsox2                         openSUSE ->
  libstrigi0                      openSUSE ->
  libvpx1                         openSUSE ->
  libxmmsclient6                  openSUSE ->
  libxmmsclient-glib1             openSUSE ->
  mjpegtools                      openSUSE ->
  python-gstreamer-0_10           openSUSE ->
  sox                             openSUSE ->
  strigi                          openSUSE ->
  typelib-1_0-Gst-1_0             openSUSE ->
  typelib-1_0-GstAudio-1_0        openSUSE ->
  typelib-1_0-GstPbutils-1_0      openSUSE ->
  typelib-1_0-GstTag-1_0          openSUSE ->
  typelib-1_0-GstVideo-1_0        openSUSE ->
  xmms2                           openSUSE ->
  xmms2-plugin-base               openSUSE ->

79 packages to upgrade, 1 to downgrade, 1 new, 43  to change vendor.
Overall download size: 31.3 MiB. After the operation, additional 4.5 MiB will 
be used.
Continue? [y/n/? shows all options] (y): 

Thanks wolfi323! I marked this thread solved. Heboland.

Sorry. I haven’t checked the dependencies before suggesting to remove gstreamer-plugins-bad.
Actually even Totem requires gstreamer-plugins-bad, so uninstalling it won’t help to fix Totem of course.

On my system, those packages are going to be removed, when I try to uninstall gstreamer-plugins-bad:

  gdm gdm-branding-openSUSE gdm-lang gnome-contacts gnome-contacts-lang   gnome-control-center gnome-control-center-lang gnome-session 
  gnome-session-default-session gnome-session-lang gnome-shell 
  gnome-shell-browser-plugin gnome-shell-lang 
  gnome-shell-search-provider-contacts gnome-shell-search-provider-nautilus 
  gnome-tweak-tool gnome-tweak-tool-lang gstreamer-plugins-bad 
  gstreamer-plugins-bad-lang libcheese7 libcheese-gtk23 nautilus-totem totem 
  totem-browser-plugin totem-browser-plugin-gmp totem-lang totem-plugins 

I hope you didn’t uninstall all of them. :\

Good to hear it’s working now! :slight_smile:

I guess libvpx1 was the culprit then. Packman contains a newer version, that one is needed for the other multimedia packages from Packman to fully work.
A simple “zypper up” should have installed it as well then, but now you have also full codec support in audacity, sox, libquicktime, and so on… :wink:

wolfi323, my uninstall list was different than yours, but I remember the libcheese and then I had several empathy rpms. Maybe the nautilus and the tweak stuff were the same. lxde doesn’t use some of the gnome stuff in your list.

The only option that didn’t break dependincies was to get rid of them all. Since I didn’t want to start breaking dependencies again, yes I removed them all.

I don’t think any of them came back with the reinstall of “bad”, so there still gone.

The only system difference I’ve noticed since the “bad” uninstall/reinstall and the zypper operation was a problem printing a pdf file to local network printer.

I don’t expect this problem to be related to GStreamer upgrade or the “bad” collateral uninstall, but for the record I’ll describe the printing behavior.

The printer is a samba printer I tried to print to from okular. The print job goes into the print queue. The queue thinks the job is printing, but nothing happens on the printer end.

After the first print failure, I deleted the job from the print queue, recycled power on the printer and rebooted the 12.3. A test page from the lxde > print settings printed fine, but another okular print attempt that followed immediately plugged up the queue again.

Using samba I moved the pdf file to the print server using samba and printed it locally there.

This above printing problem is off topic. I only mentioned it as a possible, but unlikely result of the collateral uninstall that accompanied the “bad” uninstall.

Looking at your list, apparently I could have picked up the yast > SW Management options with a mouse and saved them in case I wanted to put them back. That’s a lesson for next time! I’m still happy with what we accomplished on this thread. Heboland.

Right. And I was mainly thinking about gdm, which is GNOME’s login manager. Apparently you are using another one then? (lxdm or lightdm?)

The only option that didn’t break dependincies was to get rid of them all. Since I didn’t want to start breaking dependencies again, yes I removed them all.

But what I don’t understand is, how did you try totem if you uninstalled it?
That surely must have affected totem’s behaviour… rotfl!

I don’t think any of them came back with the reinstall of “bad”, so there still gone.

Of course not. Those packages depend on gstreamer-plugins-bad, not the other way round.

The only system difference I’ve noticed since the “bad” uninstall/reinstall and the zypper operation was a problem printing a pdf file to local network printer.

I don’t expect this problem to be related to GStreamer upgrade or the “bad” collateral uninstall, but for the record I’ll describe the printing behavior.

No, I don’t see anything in my list that would affect network printing.