[Paraview] Linking against static builds of FFMPEG fails since cvs up -D'2009-07-31 16:52:02 CEST'

Sven Buijssen sven.buijssen at tu-dortmund.de
Mon Aug 10 06:48:51 EDT 2009


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




More information about the ParaView mailing list