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