Summary: | mpeglib_artsplug does not compile | ||
---|---|---|---|
Product: | [Unmaintained] kdemultimedia | Reporter: | Aaron Williams <aaronw> |
Component: | general | Assignee: | Multimedia Developers <kde-multimedia> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | drutitsky, stevee |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Solaris | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Aaron Williams
2003-12-13 03:03:42 UTC
If you add a space before the second >, does it work? Does it work if you compile without --enable-final? Adding the space did not help. Neither did compiling without --enable-final. if /bin/bash ../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../mpeglib/lib -I/opt/kde3/3.2beta/include/artsc -D_REENTRANT -I/opt/kdeshared/include/glib-2.0 -I/opt/kdeshared/lib/glib-2.0/include -I/opt/kde3/3.2beta/include/arts -I/opt/kde3/3.2beta/include -I/opt/qt/qt-3.2.2/include -I/opt/kdeshared/include -DQT_THREAD_SUPPORT -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4 -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -O2 -fno-exceptions -ftemplate-depth-99 -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -MT decoderBaseObject_impl.lo -MD -MP -MF ".deps/decoderBaseObject_impl.Tpo" \ -c -o decoderBaseObject_impl.lo `test -f 'decoderBaseObject_impl.cpp' || echo './'`decoderBaseObject_impl.cpp; \ then mv -f ".deps/decoderBaseObject_impl.Tpo" ".deps/decoderBaseObject_impl.Plo"; \ else rm -f ".deps/decoderBaseObject_impl.Tpo"; exit 1; \ fi In file included from decoderBaseObject_impl.cpp:19: decoderBaseObject_impl.h:67: error: syntax error before `*' token decoderBaseObject_impl.cpp: In constructor ` DecoderBaseObject_impl::DecoderBaseObject_impl()': decoderBaseObject_impl.cpp:49: error: `m_packetQueue' undeclared (first use this function) decoderBaseObject_impl.cpp:49: error: (Each undeclared identifier is reported only once for each function it appears in.) make[1]: *** [decoderBaseObject_impl.lo] Error 1 make[1]: Leaving directory `/var/tmp/kde/archive/3.2beta/kdemultimedia-3.1.94/mpeglib_artsplug' make: *** [all] Error 2 Note that I am compiling this with gcc 3.3.2. I was able to get this to compile by changing the order of include files in decoderBaseObject_impl.cpp. By moving decoderBaseObject_impl.h before ../mpeglib/lib/decoder/decoderPlugin.h fixes the problem. The new include lines look like the following: #include <connect.h> #include <connect.h> #include "decoderBaseObject_impl.h" #include "../mpeglib/lib/decoder/decoderPlugin.h" Basically this is just reverting a change made between 1.25 and 1.27. I can verify both the problem and the solution. This is STILL broken in 3.2.2. The fix also works with GCC 3.3.3 and 3.4. This is STILL broken in 3.2.3. Please patch this! Still broken in KDE-3.3.1 An alternative fix is to add std:: before the queue, so the line looks like: std::queue<DataPacket<mcopbyte>*> *m_packetQueue; This suggests that something is messing up the using namespace std; that occurs earlier in the header file. Still broken in KDE-3.3.2. This should be easy to fix... why can't someone just check in the fix? nobody cares about mpeglib, it should be removed. use aKode. Is there really nobody with CVS access who can just swap these two lines? Should be easy to achieve. CVS commit by wheeler: Fix compile on Solaris. BUG:70269 M +1 -1 decoderBaseObject_impl.cpp 1.28 --- kdemultimedia/mpeglib_artsplug/decoderBaseObject_impl.cpp #1.27:1.28 @@ -16,6 +16,6 @@ #include <connect.h> -#include "../mpeglib/lib/decoder/decoderPlugin.h" #include "decoderBaseObject_impl.h" +#include "../mpeglib/lib/decoder/decoderPlugin.h" #include "debug.h" Big thanks to you, Scott! *** Bug 72385 has been marked as a duplicate of this bug. *** |