This could help you:
http://www.faqs.org/docs/Linux-HOWTO/Program-Library-HOWTO.html

On Mon, Jun 22, 2009 at 3:10 PM, Tyler Laing <[email protected]> wrote:

> 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
>



-- 
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