Hi Sven, This is not the right fix. The problem arose from the fact that the ffmpeg libraries were listed in the wrong order in the CMake files. It worked before because ffmpeg libraries were listed multiple times in the link line. The recent changes fixed this but they also revealed this bug. I committed a fix that simply reorders the ffmpeg libraries.
Having said that, you should not be linking a shared library against a static library in the first place. It works right now because libvtkIO is the only library that pulls ffmpeg in. If another library depended on it, you would run into potential issues. Best, -berk On Mon, Aug 10, 2009 at 6:48 AM, Sven Buijssen<[email protected]> wrote: > Hi, > > I found a possible cure. I'm not sure, though, about side effects it may > cause w.r.t. what has been the intention of the changes made with > commitid FWQft1X9tt8TgSXt, discussed in vtk-dev thread #Use > LINK_INTERFACE_LIBRARIES for VTK libs" > (http://www.vtk.org/pipermail/vtk-developers/2009-July/006180.html) > > Given the changes Mathieu Malaterre made in VTK/IO/CMakeLists.txt with > revision 1.179 (introducing variable KIT_INTERFACE_LIBRARIES) and given that > the > remaining changes in other CMakeLists.txt of this commit mainly are using > KIT_INTERFACE_LIBRARIES instead of KIT_LIBS I find it reasonable to believe > that > the following patch is required in order to be able to compile ParaView using > static FFMPEG libraries: > > Index: VTK/IO/CMakeLists.txt > =================================================================== > RCS file: /cvsroot/ParaView3/ParaView3/VTK/IO/CMakeLists.txt,v > retrieving revision 1.179 > diff -a -u -r1.179 CMakeLists.txt > --- VTK/IO/CMakeLists.txt 31 Jul 2009 14:53:02 -0000 1.179 > +++ VTK/IO/CMakeLists.txt 10 Aug 2009 09:28:17 -0000 > @@ -247,6 +248,10 @@ > ${FFMPEG_avcodec_LIBRARY} > ${FFMPEG_avformat_LIBRARY} > ${FFMPEG_avutil_LIBRARY}) > + SET(KIT_INTERFACE_LIBRARIES ${KIT_INTERFACE_LIBRARIES} > + ${FFMPEG_avcodec_LIBRARY} > + ${FFMPEG_avformat_LIBRARY} > + ${FFMPEG_avutil_LIBRARY}) > ENDIF (VTK_USE_FFMPEG_ENCODER) > > #----------------------------------------------------------------------------- > > Applying this patch, ParaView compiles smoothly. Whether one uses static > or shared FFMPEG libraries. > > Best regards, > Sven > >> I'm wondering if anyone else noticed problems compiling ParaView from >> CVS while setting -DVTK_USE_FFMPEG_ENCODER:BOOL=ON and using static >> builds of http://www.vtk.org/files/support/ffmpeg_source.tar.gz since >> the commit with ID FWQft1X9tt8TgSXt that occurred between 2009/07/31 >> 16:52:47 CEST and 16:53:52 CEST. >> >> On both a openSuSE 11.1 (32 bit) and a Ubuntu 9.04 (64 bit) machine >> linking against static FFMPEG libraries fails with: >> >>> Linking CXX executable ../../../../../bin/QVTKCxxTests >>> ../../../../../bin/libvtkIO.so.pv3.7: undefined reference to >>> `avcodec_register_all' >>> ../../../../../bin/libvtkIO.so.pv3.7: undefined reference to >>> `avcodec_pix_fmt_to_codec_tag' >>> collect2: ld returned 1 exit status >>> make[2]: *** [bin/QVTKCxxTests] Error 1 >>> make[1]: *** >>> [VTK/GUISupport/Qt/Testing/Cxx/CMakeFiles/QVTKCxxTests.dir/all] Error 2 > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the ParaView Wiki at: > http://paraview.org/Wiki/ParaView > > Follow this link to subscribe/unsubscribe: > http://www.paraview.org/mailman/listinfo/paraview > _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
