[FFmpeg-cvslog] r9281 - trunk/Makefile

Ramiro Polla ramiro
Tue Jun 19 00:08:20 CEST 2007


Diego Biurrun wrote:
> On Sun, Jun 17, 2007 at 10:40:39PM +0200, V?ctor Paesa wrote:
>   
>> On 6/17/07, Diego Biurrun wrote:
>>     
>>> On Sat, Jun 16, 2007 at 02:07:54AM +0200, V?ctor Paesa wrote:
>>>       
>>>> On 6/15/07, Ramiro Ribeiro Polla wrote:
>>>>         
>>>>> V?ctor Paesa wrote:
>>>>>           
>>>>>> On 6/15/07, Diego Biurrun wrote:
>>>>>>
>>>>>>             
>>>>>>> On Tue, Jun 12, 2007 at 11:24:58AM +0200, V?ctor Paesa wrote:
>>>>>>>
>>>>>>>               
>>>>>>>> On 6/12/07, Diego Biurrun wrote:
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> On Mon, Jun 11, 2007 at 12:44:58PM -0300, Ramiro Ribeiro Polla wrote:
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>>>> diego wrote:
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> Log:
>>>>>>>>>>> The video hooks do not depend on the libav* libraries.
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>> Actually, while working on vhooks for MinGW, and re-reading V?ctor's two
>>>>>>>>>> month effort to get them working on Cygwin, vhooks do depend on the
>>>>>>>>>> libav* libraries. Since I'm already trying to finish the integration for
>>>>>>>>>> MinGW, I'll see how it can be set conditionally for Windows platforms.
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>> It sure compiles standalone here, so I'm very curious to see what you
>>>>>>>>> are talking about.
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> Broken here on Cygwin:
>>>>>>>>
>>>>>>>> $ ./configure --disable-static --enable-shared --enable-gpl --enable-swscaler
>>>>>>>>
>>>>>>>> $ make
>>>>>>>>
>>>>>>>>                 
>>>>>> [...]
>>>>>>
>>>>>>             
>>>>>>>> gcc -Wl,--warn-common  -rdynamic -export-dynamic
>>>>>>>> -Wl,-rpath-link,"/home/wzrlpy/src/ffmpeg-9284/ffmpeg"/libavcodec
>>>>>>>> -Wl,-rpath-link,"/home/wzrlpy/src/ffmpeg-9284/ffmpeg"/libavformat
>>>>>>>> -Wl,-rpath-link,"/home/wzrlpy/src/ffmpeg-9284/ffmpeg"/libavutil -g -o
>>>>>>>> null.dll -shared -L"/home/wzrlpy/src/ffmpeg-9284/ffmpeg"/libavformat
>>>>>>>> -L"/home/wzrlpy/src/ffmpeg-9284/ffmpeg"/libavcodec
>>>>>>>> -L"/home/wzrlpy/src/ffmpeg-9284/ffmpeg"/libswscale
>>>>>>>> -L"/home/wzrlpy/src/ffmpeg-9284/ffmpeg"/libavutil null.o -lavformat
>>>>>>>> -lavcodec -lswscale -lavutil -lz
>>>>>>>> gcc: unrecognized option `-rdynamic'
>>>>>>>> /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld:
>>>>>>>> cannot find -lavformat
>>>>>>>> collect2: ld returned 1 exit status
>>>>>>>> make[1]: *** [null.dll] Error 1
>>>>>>>> rm null.o
>>>>>>>> make[1]: Leaving directory `/home/wzrlpy/src/ffmpeg-9284/ffmpeg/vhook'
>>>>>>>> make: *** [videohook] Error 2
>>>>>>>>
>>>>>>>> Reverting the change fixes the build
>>>>>>>> (with the unapproved llrintf() patch applied, of course).
>>>>>>>>
>>>>>>>>                 
>>>>>>> Try removing -lavformat from the link command manually.
>>>>>>>               
>>>>>> I'll give it a try this night, but I doubt it works: ld forbids
>>>>>> undefined references
>>>>>> in shared objects (for PE binaries, for ELF is OK).
>>>>>>             
>>>> Tried&failed:
>>>>
>>>> $ gcc -rdynamic -export-dynamic -Wl,--warn-common
>>>> -Wl,-rpath-link,"/home/Inma/src/ffmpeg-9328"/libavcodec
>>>> -Wl,-rpath-link,"/home/Inma/src/ffmpeg-9328"/libavformat
>>>> -Wl,-rpath-link,"/home/Inma/src/ffmpeg-9328"/libavutil -g -o null.dll -shared
>>>> -L"/home/Inma/src/ffmpeg-9328"/libavformat
>>>> -L"/home/Inma/src/ffmpeg-9328"/libavcodec
>>>> -L"/home/Inma/src/ffmpeg-9328"/libswscale
>>>> -L"/home/Inma/src/ffmpeg-9328"/libavutil null.o
>>>> -lavcodec -lswscale -lavutil -lz
>>>> gcc: unrecognized option `-rdynamic'
>>>> /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld:
>>>> cannot find -lavcodec
>>>> collect2: ld returned 1 exit status
>>>>         
>>> Of course you need to remove -lavcodec -lswscale -lavutil from the link
>>> command as well ...
>>>       
>> Failed with undefined references:
>>
>> $ gcc -rdynamic -export-dynamic -Wl,--warn-common
>> -Wl,-rpath-link,"/home/Inma/src/ffmpeg-9328"/libavcodec
>> -Wl,-rpath-link,"/home/Inma/src/ffmpeg-9328"/libavformat
>> -Wl,-rpath-link,"/home/Inma/src/ffmpeg-9328"/libavutil -g -o null.dll -shared
>> -L"/home/Inma/src/ffmpeg-9328"/libavformat
>> -L"/home/Inma/src/ffmpeg-9328"/libavcodec
>> -L"/home/Inma/src/ffmpeg-9328"/libswscale
>> -L"/home/Inma/src/ffmpeg-9328"/libavutil
>> null.o -lz
>> gcc: unrecognized option `-rdynamic'
>> null.o: In function `Release':
>> /home/Inma/src/ffmpeg-svntrue/trunk/vhook/null.c:45: undefined reference to `_sws_freeContext'
>> /home/Inma/src/ffmpeg-svntrue/trunk/vhook/null.c:46: undefined reference to `_sws_freeContext'
>> null.o: In function `Configure':
>> /home/Inma/src/ffmpeg-svntrue/trunk/vhook/null.c:55: undefined reference to `_av_mallocz'
>> null.o: In function `Process':
>> /home/Inma/src/ffmpeg-svntrue/trunk/vhook/null.c:71: undefined reference to `_avpicture_get_size'
>> /home/Inma/src/ffmpeg-svntrue/trunk/vhook/null.c:72: undefined reference to `_av_malloc'
>> /home/Inma/src/ffmpeg-svntrue/trunk/vhook/null.c:74: undefined reference to `_avpicture_fill'
>> /home/Inma/src/ffmpeg-svntrue/trunk/vhook/null.c:77: undefined reference to `_sws_getCachedContext'
>> /home/Inma/src/ffmpeg-svntrue/trunk/vhook/null.c:103: undefined reference to `_av_log'
>> /home/Inma/src/ffmpeg-svntrue/trunk/vhook/null.c:88: undefined reference to `_sws_scale'
>> /home/Inma/src/ffmpeg-svntrue/trunk/vhook/null.c:98: undefined reference to `_sws_getCachedContext'
>> /home/Inma/src/ffmpeg-svntrue/trunk/vhook/null.c:109: undefined reference to `_sws_scale'
>> /home/Inma/src/ffmpeg-svntrue/trunk/vhook/null.c:114: undefined reference to `_av_free'
>> null.o: In function `Release':
>> /home/Inma/src/ffmpeg-svntrue/trunk/vhook/null.c:47: undefined reference to `_av_free'
>> collect2: ld returned 1 exit status
>>     
>
> And reverting my change fixes this problem?
>
>   

Yes, and so does [1].

Ramiro Polla
[1] http://article.gmane.org/gmane.comp.video.ffmpeg.devel/52177




More information about the ffmpeg-cvslog mailing list