Well, the linker tries to link to the first library of the right name, with
all the needed symbols. Because of the .1d, that library comes before the
.52. At least thats what I think happens. You could try renaming the wrong
libraries to some backup name, like libavcodec.backup.so.1d, which will keep
the linker from using it, I hope. Then recompile your app, and see what
happens.Oh, and the libavformat.so is a symlink to the latest version of
libavformat, which in this case is libavformat.so.52

On Mon, Jun 22, 2009 at 3:07 PM, Cuneyt Taskiran <[email protected]>wrote:

> Thanks for your reply. I did as you suggested and got
> cun...@elif:~/workspace/ffmpeg_try/Debug$ ldd ./ffmpeg_try
>        linux-gate.so.1 =>  (0xb7f6d000)
>        libavcodec.so.1d => /usr/lib/libavcodec.so.1d (0xb7aff000)
>        libavformat.so.1d => /usr/lib/libavformat.so.1d (0xb7a79000)
> etc.
>
> When I do the same on ffmpeg I see that libav libraries linked are
> different
> versions, e.g. libavformat.so.52. Aha!
>
> My first question is: How can I specify the correct version
> libavformat.so.52 rather than libavformat.so.1d to the loader?
>
> And the other one is: Why does this happen? I looked into my libavformat
> directory and see both libavformat.so and libavformat.so.52. Why does gcc
> loader pick one while the other one is included in the ffmpeg build?
>
> Thanks a lot!
>
> C
>
>
> On Mon, Jun 22, 2009 at 4:54 PM, Tyler Laing <[email protected]> wrote:
>
> > Try using ldd on the executable produced, then make sure that the
> libraries
> > listed are the ones you want loaded.
> >
> > -Tyler
> >
> > On Mon, Jun 22, 2009 at 2:51 PM, Cuneyt Taskiran <[email protected]
> > >wrote:
> >
> > > I have an issue with opening a stream, that I tracked down to
> > > open_input_file(). I have added a printf statement to the
> > open_input_file()
> > > function in utils.c and recompiled & reinstalled ffmpeg. Now, when I
> run
> > > command line ffmpeg, I see the message as expected. However, when I run
> > my
> > > simple program that just calls open_input_file(), the message is not
> > > displayed!
> > >
> > > How can command line ffmpeg and my program be using two different sets
> of
> > > libraries?
> > >
> > > I compile my code using Eclipse with
> > > gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d"
> -MT"main.d"
> > > -o"main.o" "../main.c"
> > >
> > > Thanks fo rthe help,
> > >
> > > Cuneyt
> > > _______________________________________________
> > > libav-user mailing list
> > > [email protected]
> > > https://lists.mplayerhq.hu/mailman/listinfo/libav-user
> > >
> >
> >
> >
> > --
> > Visit my blog at http://oddco.ca/zeroth/zblog
> > _______________________________________________
> > libav-user mailing list
> > [email protected]
> > https://lists.mplayerhq.hu/mailman/listinfo/libav-user
> >
> _______________________________________________
> libav-user mailing list
> [email protected]
> https://lists.mplayerhq.hu/mailman/listinfo/libav-user
>



-- 
Visit my blog at http://oddco.ca/zeroth/zblog
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to