You are not logged in.

#1 2011-05-21 13:45:11

jonnybarnes
Member
From: Manchester, UK
Registered: 2011-05-11
Posts: 129
Website

MPD can't find libavformat

I'm following the instructions on the wiki. Now when I run MPD it throws this error message:

[jonny@jonny-arch /]$ mpd ~/.mpd/mpd.conf
mpd: error while loading shared libraries: libavformat.so.52: cannot open shared object file: No such file or directory

Here is the output of ffmpeg:

[jonny@jonny-arch /]$ ffmpeg -version
ffmpeg version git-53b1534, Copyright (c) 2000-2011 the Libav developers
  built on May 19 2011 22:02:44 with gcc 4.6.0 20110429 (prerelease)
  configuration: --prefix=/usr --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libtheora --enable-postproc --enable-x11grab --arch=x86_64 --enable-nonfree
  libavutil    51.  1. 0 / 51.  1. 0
  libavcodec   53.  3. 0 / 53.  3. 0
  libavformat  53.  0. 3 / 53.  0. 3
  libavdevice  53.  0. 0 / 53.  0. 0
  libavfilter   2.  4. 0 /  2.  4. 0
  libswscale    1.  1. 0 /  1.  1. 0
  libpostproc  52.  0. 0 / 52.  0. 0
ffmpeg git-53b1534
libavutil    51.  1. 0 / 51.  1. 0
libavcodec   53.  3. 0 / 53.  3. 0
libavformat  53.  0. 3 / 53.  0. 3
libavdevice  53.  0. 0 / 53.  0. 0
libavfilter   2.  4. 0 /  2.  4. 0
libswscale    1.  1. 0 /  1.  1. 0
libpostproc  52.  0. 0 / 52.  0. 0

So I do have libavformat somewhere on my system, how do I get mpd to use it?

Offline

#2 2011-05-21 14:47:14

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: MPD can't find libavformat

Your system is out of date. If you upgraded it and this problem still persists, your primary mirror is out of date.

Offline

#3 2011-05-21 14:50:37

wonder
Developer
From: Bucharest, Romania
Registered: 2006-07-05
Posts: 5,941
Website

Re: MPD can't find libavformat

is simple, you don't use ffmpeg from extra and you use ffmpeg-git from aur. They had recently abi breakage and they bumped sonames


Give what you have. To someone, it may be better than you dare to think.

Offline

#4 2011-05-21 14:54:37

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: MPD can't find libavformat

wonder wrote:

is simple, you don't use ffmpeg from extra and you use ffmpeg-git from aur. They had recently abi breakage and they bumped sonames

Or that.

*** skottish walks away quietly and hopes no one notices ***

By the way, mpd for git does not build against modern FFmpeg/libav code. There's a patch in their bug tracker that may apply the stable version, but I haven't tried since mpd still works for me:

http://sourceforge.net/mailarchive/foru … d-dev-team

Last edited by skottish (2011-05-21 15:00:55)

Offline

#5 2011-05-21 15:03:50

wonder
Developer
From: Bucharest, Romania
Registered: 2006-07-05
Posts: 5,941
Website

Re: MPD can't find libavformat

i don't plan to push the new ffmpeg in the next couples of months big_smile


Give what you have. To someone, it may be better than you dare to think.

Offline

#6 2011-05-21 15:07:29

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: MPD can't find libavformat

wonder wrote:

i don't plan to push the new ffmpeg in the next couples of months big_smile

If you got the urge to do so, the patch above applied cleanly to mpd-git for about two days after it was posted. So, if mpd pushes out a newer version, that's a good place to bisect if the problem hasn't been resolved yet.

-->

Never mind, low hanging fruit it was:

avio.patch

*** src/input/ffmpeg_input_plugin.c    2011-05-21 08:08:50.469603940 -0700
--- src/input/ffmpeg_input_plugin.c    2011-05-21 08:16:39.752020264 -0700
***************
*** 89,95 ****
      input_stream_init(&i->base, &input_plugin_ffmpeg, uri);
  
  #if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53,0,0)
!     int ret = avio_open(&i->h, uri, AVIO_RDONLY);
  #else
      int ret = url_open(&i->h, uri, URL_RDONLY);
  #endif
--- 89,95 ----
      input_stream_init(&i->base, &input_plugin_ffmpeg, uri);
  
  #if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53,0,0)
!     int ret = avio_open(&i->h, uri, AVIO_FLAG_READ);
  #else
      int ret = url_open(&i->h, uri, URL_RDONLY);
  #endif

Last edited by skottish (2011-05-21 15:28:50)

Offline

#7 2011-05-21 15:39:04

jonnybarnes
Member
From: Manchester, UK
Registered: 2011-05-11
Posts: 129
Website

Re: MPD can't find libavformat

Aah, confused, I installed MPD from repo, and ffmpeg from here: http://aur.archlinux.org/packages.php?ID=23958

So should I try and compile MPD from source? Or do I need to add --enable-shared to ffmpeg? THough there is this comment on the AUR page:

I recommend removal of --enable-shared due to the removal of this option from x264-git. Compiling static x264 and shared FFmpeg is not recommended and causes FFmpeg compilation to fail on x86_64.

Offline

#8 2011-05-21 15:43:05

wonder
Developer
From: Bucharest, Romania
Registered: 2006-07-05
Posts: 5,941
Website

Re: MPD can't find libavformat

@jonnybarnes why do you want to use ffmpeg-mt-git? WHY?

ffmpeg from extra is mt capable


Give what you have. To someone, it may be better than you dare to think.

Offline

#9 2011-05-21 16:55:52

jonnybarnes
Member
From: Manchester, UK
Registered: 2011-05-11
Posts: 129
Website

Re: MPD can't find libavformat

Cool, so I reinstalled ffmpeg and x264 with the repo versins and it works, well, not entirely. The wiki talked about running mpd as a normal user so you could keep all the config files and such in ~/.mpd and now I get a setgid error, permission denied. Will look at using it the normal way.

Offline

#10 2011-05-21 18:25:04

johnnyponny
Member
Registered: 2011-04-23
Posts: 33

Re: MPD can't find libavformat

skottish wrote:
wonder wrote:

is simple, you don't use ffmpeg from extra and you use ffmpeg-git from aur. They had recently abi breakage and they bumped sonames

Or that.

*** skottish walks away quietly and hopes no one notices ***

By the way, mpd for git does not build against modern FFmpeg/libav code. There's a patch in their bug tracker that may apply the stable version, but I haven't tried since mpd still works for me:

http://sourceforge.net/mailarchive/foru … d-dev-team

sorry for being slow but how do you apply this patch?

Last edited by johnnyponny (2011-05-21 18:25:56)

Offline

#11 2011-05-24 02:11:45

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: MPD can't find libavformat

johnnyponny wrote:
skottish wrote:
wonder wrote:

is simple, you don't use ffmpeg from extra and you use ffmpeg-git from aur. They had recently abi breakage and they bumped sonames

Or that.

*** skottish walks away quietly and hopes no one notices ***

By the way, mpd for git does not build against modern FFmpeg/libav code. There's a patch in their bug tracker that may apply the stable version, but I haven't tried since mpd still works for me:

http://sourceforge.net/mailarchive/foru … d-dev-team

sorry for being slow but how do you apply this patch?

You need to add those 4 lines that begin with a '+' to ffmpeg_decoder_plugin.c in the correct places and recompile it.

Offline

#12 2011-11-17 01:50:21

nikolardo
Member
From: Canterbury, NH
Registered: 2011-04-16
Posts: 36
Website

Re: MPD can't find libavformat

I'm having similar troubles - I don't use MPD, but neither Blender (blender-freestyle-svn from aur) and another program I use both give:

"error while loading shared libraries: libavformat.so.52: cannot open shared object file: No such file or directory"

I installed ffmpeg-git, which did not fix the problem, so I reverted back to normal ffmpeg (I try not use too many git/svn things if I can help it.).

My three questions are:  Will this patch solve my problem?  If so, where do I find ffmpeg_decoder_plugin.c?  (Kompare will patch the file for me, then refuse to save it, and I have to copy it to I don't know where.)  And, do I need to reinstall ffmpeg-git?
Bonus question:  How do I recompile ffmpeg?  Would it just be a simple "packer -S ffmpeg" since I still have the files in my cache?

Offline

#13 2011-11-17 04:18:30

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: MPD can't find libavformat

nikolardo wrote:

I'm having similar troubles - I don't use MPD, but neither Blender (blender-freestyle-svn from aur) and another program I use both give:

"error while loading shared libraries: libavformat.so.52: cannot open shared object file: No such file or directory"

I installed ffmpeg-git, which did not fix the problem, so I reverted back to normal ffmpeg (I try not use too many git/svn things if I can help it.).

My three questions are:  Will this patch solve my problem?  If so, where do I find ffmpeg_decoder_plugin.c?  (Kompare will patch the file for me, then refuse to save it, and I have to copy it to I don't know where.)  And, do I need to reinstall ffmpeg-git?
Bonus question:  How do I recompile ffmpeg?  Would it just be a simple "packer -S ffmpeg" since I still have the files in my cache?

The patch from above won't help you as it's in mainline now. I don't use FFmpeg from the repos, but it jumped to *.so.53. I'm guessing that some update broke the stuff that you had compiled against it. Fully updating your system with a current mirror should fix the MPD problem. You'll need to rebuild the Blender subversion package after you update your system. Keep in mind that Arch is designed to be updated regularly using an active server.

Last edited by skottish (2011-11-17 04:19:05)

Offline

#14 2011-11-17 23:46:46

nikolardo
Member
From: Canterbury, NH
Registered: 2011-04-16
Posts: 36
Website

Re: MPD can't find libavformat

I update Arch almost every day, and had recompiled blender already.  However, I found that upon uninstalling x264-git (which ffmpeg-git had required) and installing normal x264, and recompiling blender, everything now works.  Thanks!

Offline

#15 2011-11-18 02:47:25

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: MPD can't find libavformat

nikolardo wrote:

I update Arch almost every day, and had recompiled blender already.  However, I found that upon uninstalling x264-git (which ffmpeg-git had required) and installing normal x264, and recompiling blender, everything now works.  Thanks!

If you decide to go back into the VCS route, build things in this order:

x264-git -->
ffmpeg-git or libav-git -->
(x264-git may have broken after that step, so rebuild it again) -->
mplayer-svn or mplayer2-git
gstreamer0.10-ffmpeg will usually compile at this time if one is using the --with-system-ffmpeg flag. Usually. Otherwise the git package is usable.

From there build Blender or MPD as needed. I haven't used Blender in while, so I don't know how well that goes. But, I've been using MPD from git for a long time and find that rebuilding it is usually only necessary with *.so bumps in "major" versions of FFmpeg or libav. Like gstreamer0.10-ffmpeg, there are occasions when mpd-git won't compile against libavformat.

Last edited by skottish (2011-11-20 02:18:33)

Offline

Board footer

Powered by FluxBB