[FFmpeg-cvslog] r9281 - trunk/Makefile

Diego Biurrun diego
Mon Jun 18 22:31:37 CEST 2007


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?

Diego




More information about the ffmpeg-cvslog mailing list