Bug#47777: errors compiling mpeglib from source

Martin Vogt mvogt at rhrk.uni-kl.de
Thu Sep 12 12:55:39 BST 2002



Hello,

can you please try the following:
I never tested it, but if this works, please
make a diff against the old version, I will
then commit it.

Heres the "tutorial":

please change all inline assembly labels from "<label>" to "<label>_%=" to
prevent duplicate symbol errors caused by inlining due to optimization
flags. "%=" generates a unique number per instance and thus inlining
becomes possible.
  
Example:
  
label: movl %eax,(%ebc,%ecx,4)
       decl %ecx
       jnz  label

The above is impossible with inlining as there are multiple instances of
"label" defined. This is fixed below:

label_%=: movl %eax,(%ebc,%ecx,4)
          decl %ecx
          jnz label_%=

Now every inlined instance has a unique label and thus inining is possible.
  

regards,

Martin


On Thu, Sep 12, 2002 at 06:22:58AM -0000, ronwaldon at msn.com wrote:
> Package: mpeglib
> Version: KDE 3.0.3 
> Severity: normal
> Installed from:    Compiled From Sources
> Compiler:          GCC 3.2
> OS:                Linux
> OS/Compiler notes: Not Specified
> 
> While compiling the KDEMultimedia package, I get compile errors during the mpeglib stage. I've copied a lot of the compile error text to the bottom of this post. The way I usually get around this is to simply skip building mpeglib. I'm using a LinuxFromScratch 3.3 (approx.) system and I've had this problem with KDE 3, 3.0.1, 3.0.2 and 3.0.3. 
> 
> Making all in dither2YUV
> make[6]: Entering directory `/usr/src/kdemultimedia-3.0.3/mpeglib/lib/util/render/dither2YUV'
> source='libdivxutil_dither_la.all_cpp.cpp' object='libdivxutil_dither_la.all_cpp.lo' libtool=yes \
> depfile='.deps/libdivxutil_dither_la.all_cpp.Plo' tmpdepfile='.deps/libdivxutil_dither_la.all_cpp.TPlo' \
> depmode=gcc3 /bin/sh ../../../../../admin/depcomp \
> /bin/sh ../../../../../libtool --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I.
> -I. -I../../../../.. -I.. -I/usr/local/kde/include -I/usr/local/qt/include -I/usr/X11R6/include    -DQT_THREAD_SUPPORT  -D_REENTRANT  -DNDEBUG -DNO_DEBUG -O2 -O3 -march=athlon -fno-exceptions -fno-check-new -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST  -c -o libdivxutil_dither_la.all_cpp.lo `test -f libdivxutil_dither_la.all_cpp.cpp || echo './'`libdivxutil_dither_la.all_cpp.cpp
> g++ -DHAVE_CONFIG_H -I. -I. -I../../../../.. -I.. -I/usr/local/kde/include -I/usr/local/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -DNDEBUG -DNO_DEBUG -O2 -O3 -march=athlon -fno-exceptions -fno-check-new -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -c libdivxutil_dither_la.all_cpp.cpp -MT libdivxutil_dither_la.all_cpp.lo -MD -MP -MF .deps/libdivxutil_dither_la.all_cpp.TPlo  -fPIC
> -DPIC -o .libs/libdivxutil_dither_la.all_cpp.o
> In file included from /usr/include/c++/3.2/backward/iostream.h:31,
>                  from ../../timeStamp.h:18,
>                  from ../yuvPicture.h:24,
>                  from dither2YUV.h:19,
>                  from dither2YUV.cpp:14,
>                  from libdivxutil_dither_la.all_cpp.cpp:2:
> /usr/include/c++/3.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using
> one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
> /tmp/ccCtlpnM.s: Assembler messages:
> /tmp/ccCtlpnM.s:1891: Error: symbol `rgb2yuv16_422' is already defined
> /tmp/ccCtlpnM.s:2101: Error: symbol `rgb2y_16' is already defined
> /tmp/ccCtlpnM.s:2439: Error: symbol `rgb2yuv16_422' is already defined
> /tmp/ccCtlpnM.s:2658: Error: symbol `rgb2yuv16_422_fast' is already defined
> /tmp/ccCtlpnM.s:2762: Error: symbol `rgb2y_16' is already defined
> /tmp/ccCtlpnM.s:2913: Error: symbol `rgb2y32_fast' is already defined
> /tmp/ccCtlpnM.s:3306: Error: symbol `rgb2yuv24_422' is already defined
> /tmp/ccCtlpnM.s:3447: Error: symbol `rgb2y_24' is already defined
> /tmp/ccCtlpnM.s:3567: Error: symbol `rgb2yuv32_422' is already defined
> /tmp/ccCtlpnM.s:3730: Error: symbol `rgb2y_32' is already defined
> /tmp/ccCtlpnM.s:3995: Error: symbol `rgb2yuv24_422' is already defined
> /tmp/ccCtlpnM.s:4149: Error: symbol `rgb2yuv32_422' is already defined
> /tmp/ccCtlpnM.s:4322: Error: symbol `rgb2y_24' is already defined
> /tmp/ccCtlpnM.s:4409: Error: symbol `rgb2y_32' is already defined
> make[6]: *** [libdivxutil_dither_la.all_cpp.lo] Error 1
> make[6]: Leaving directory `/usr/src/kdemultimedia-3.0.3/mpeglib/lib/util/render/dither2YUV'
> make[5]: *** [all-recursive] Error 1
> make[5]: Leaving directory `/usr/src/kdemultimedia-3.0.3/mpeglib/lib/util/render'
> make[4]: *** [all-recursive] Error 1
> make[4]: Leaving directory `/usr/src/kdemultimedia-3.0.3/mpeglib/lib/util'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory `/usr/src/kdemultimedia-3.0.3/mpeglib/lib'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/usr/src/kdemultimedia-3.0.3/mpeglib'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/usr/src/kdemultimedia-3.0.3'
> make: *** [all] Error 2
> 
> (Submitted via bugs.kde.org)
> 
> 
> (Complete bug history is available at http://bugs.kde.org/db/47/47777.html)
> 



More information about the kde-multimedia mailing list