Thu 30 Jul 2009 07:08:57 PM UTC, comment #1:
Patch welcome. We need a maintainer for kde3, or it will bit-rot. I can't even build it, as the configure script refuses to do so if you have kde4 installed.
It looks like forward-declaring Renderer in gui/kde_glue.h might fix this bug. Add the line:
class Renderer;
at line 33, within namespace gnash.
I'll commit any patch that looks reasonable.
|
Thu 30 Jul 2009 06:36:20 PM UTC, original submission:
Gnash with the Kde plugin fails to build on Gentoo.
agg = 2.5
kde libs = 3.5.10
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --disable-cygnal --disable-docbook --disable-ghelp --enable-npapi --enable-kparts3 --disable-kparts4 --disable-i810-lod-bias --enable-gui=gtk,kde3 --with-ffmpeg-incl=/usr/include/libavcodec/ --with-plugins-install=system --with-npapi-plugindir=/opt/netscape/plugins --enable-renderer=agg --enable-media=gst --with-kde3-prefix=/usr/kde/3.5
mv -f .deps/gtk_gnash-NullGui.Tpo .deps/gtk_gnash-NullGui.Po
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -DGUI_GTK -DGUI_CONFIG=\"GTK\" -I../.. -I../libamf -I../libnet -I../libcore -I../libcore/swf -I../libcore/parser -I../libcore/vm -I../libcore/asobj -I../libltdl -I../libbase -I../backend -I../libmedia -I../libsound -I../libmedia/ffmpeg -I../libmedia/gst -DLOCALEDIR=\"/usr/share/locale\" -DPLUGINSDIR=\"/usr/lib64/gnash/plugins\" -DLIBAVCODEC_IDENT=\"\" -I/usr/include/boost-1_37 -pthread -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -DPKGDATADIR=\"/usr/share/gnash\" -DRENDERER_CONFIG=\"agg\" -DMEDIA_CONFIG=\"gst\" -DTARGET_CONFIG=\"\" -DCONFIG_CONFIG="\"--prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --disable-cygnal --disable-docbook --disable-ghelp --enable-npapi --enable-kparts3 --disable-kparts4 --disable-i810-lod-bias --enable-gui=gtk,kde3 --with-ffmpeg-incl=/usr/include/libavcodec/ --with-plugins-install=system --with-npapi-plugindir=/opt/netscape/plugins --enable-renderer=agg --enable-media=gst --with-kde3-prefix=/usr/kde/3.5\"" -DCXXFLAGS="\"-march=athlon64 -O2 -msse3 -pipe -pthread -W -Wall -Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type -Wnon-virtual-dtor -Wunused -fvisibility-inlines-hidden\"" -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/agg2 -march=athlon64 -O2 -msse3 -pipe -pthread -W -Wall -Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type -Wnon-virtual-dtor -Wunused -fvisibility-inlines-hidden -MT gtk_gnash-gtk.o -MD -MP -MF .deps/gtk_gnash-gtk.Tpo -c -o gtk_gnash-gtk.o `test -f 'gtk.cpp' || echo './'`gtk.cpp
In file included from /usr/qt/3/include/qtl.h:46,
from /usr/qt/3/include/qvaluelist.h:45,
from /usr/qt/3/include/qstringlist.h:45,
from /usr/qt/3/include/qcolor.h:46,
from /usr/qt/3/include/qpixmap.h:46,
from kde_glue_agg.cpp:30:
/usr/qt/3/include/qtextstream.h: In constructor 'QTextIStream::QTextIStream(const QString*)':
/usr/qt/3/include/qtextstream.h:204: warning: cast from type 'const QString' to type 'QString' casts away constness
In file included from kde_glue_agg.h:25,
from kde_glue_agg.cpp:33:
/usr/qt/3/include/qimage.h: In member function 'bool QImageTextKeyLang::operator<(const QImageTextKeyLang&) const':
/usr/qt/3/include/qimage.h:61: warning: suggest parentheses around && within ||
In file included from /usr/qt/3/include/qobject.h:48,
from /usr/qt/3/include/qwidget.h:46,
from kde_glue.h:27,
from kde_glue_agg.h:28,
from kde_glue_agg.cpp:33:
/usr/qt/3/include/qevent.h: In member function 'int QIMEvent::selectionLength() const':
/usr/qt/3/include/qevent.h:496: warning: cast from type 'const QIMComposeEvent' to type 'QIMComposeEvent' casts away constness
In file included from kde_glue.h:27,
from kde_glue_agg.h:28,
from kde_glue_agg.cpp:33:
/usr/qt/3/include/qwidget.h: In member function 'void QWidget::constPolish() const':
/usr/qt/3/include/qwidget.h:886: warning: cast from type 'const QWidget* const' to type 'QWidget*' casts away constness
In file included from kde_glue_agg.h:28,
from kde_glue_agg.cpp:33:
kde_glue.h: At global scope:
kde_glue.h:42: error: ISO C++ forbids declaration of 'Renderer' with no type
kde_glue.h:42: error: 'Renderer' declared as a 'virtual' field
kde_glue.h:42: error: expected ';' before '*' token
In file included from kde_glue_agg.cpp:33:
kde_glue_agg.h:43: error: ISO C++ forbids declaration of 'Renderer' with no type
kde_glue_agg.h:43: error: expected ';' before '*' token
kde_glue_agg.h:53: error: ISO C++ forbids declaration of 'Renderer' with no type
kde_glue_agg.h:53: error: expected ';' before '*' token
kde_glue_agg.cpp: In constructor 'gnash::KdeAggGlue::KdeAggGlue()':
kde_glue_agg.cpp:44: error: class 'gnash::KdeAggGlue' does not have any field named '_renderer'
kde_glue_agg.cpp: In member function 'virtual void gnash::KdeAggGlue::initBuffer(int, int)':
kde_glue_agg.cpp:72: error: '_renderer' was not declared in this scope
kde_glue_agg.cpp:89: error: '_renderer' was not declared in this scope
kde_glue_agg.cpp: In member function 'virtual void gnash::KdeAggGlue::setInvalidatedRegions(const gnash::InvalidatedRanges&)':
kde_glue_agg.cpp:127: error: '_renderer' was not declared in this scope
kde_glue_agg.cpp: At global scope:
kde_glue_agg.cpp:150: error: no 'gnash::Renderer* gnash::KdeAggGlue::createRenderHandler()' member function declared in class 'gnash::KdeAggGlue'
/usr/qt/3/include/qmemarray.h: In member function 'QMemArray<type>& QMemArray<type>::duplicate(const type*, uint) [with type = char]':
/usr/qt/3/include/qcstring.h:255: instantiated from here
/usr/qt/3/include/qmemarray.h:88: warning: cast from type 'const char' to type 'char' casts away constness
/usr/qt/3/include/qmemarray.h: In member function 'int QMemArray<type>::find(const type&, uint) const [with type = char]':
/usr/qt/3/include/qstring.h:900: instantiated from here
/usr/qt/3/include/qmemarray.h:95: warning: cast from type 'const char' to type 'char' casts away constness
mv -f .deps/gtk_gnash-gtk_glue_agg.Tpo .deps/gtk_gnash-gtk_glue_agg.Po
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -DGUI_GTK -DGUI_CONFIG=\"GTK\" -I../.. -I../libamf -I../libnet -I../libcore -I../libcore/swf -I../libcore/parser -I../libcore/vm -I../libcore/asobj -I../libltdl -I../libbase -I../backend -I../libmedia -I../libsound -I../libmedia/ffmpeg -I../libmedia/gst -DLOCALEDIR=\"/usr/share/locale\" -DPLUGINSDIR=\"/usr/lib64/gnash/plugins\" -DLIBAVCODEC_IDENT=\"\" -I/usr/include/boost-1_37 -pthread -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -DPKGDATADIR=\"/usr/share/gnash\" -DRENDERER_CONFIG=\"agg\" -DMEDIA_CONFIG=\"gst\" -DTARGET_CONFIG=\"\" -DCONFIG_CONFIG="\"--prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --disable-cygnal --disable-docbook --disable-ghelp --enable-npapi --enable-kparts3 --disable-kparts4 --disable-i810-lod-bias --enable-gui=gtk,kde3 --with-ffmpeg-incl=/usr/include/libavcodec/ --with-plugins-install=system --with-npapi-plugindir=/opt/netscape/plugins --enable-renderer=agg --enable-media=gst --with-kde3-prefix=/usr/kde/3.5\"" -DCXXFLAGS="\"-march=athlon64 -O2 -msse3 -pipe -pthread -W -Wall -Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type -Wnon-virtual-dtor -Wunused -fvisibility-inlines-hidden\"" -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/agg2 -march=athlon64 -O2 -msse3 -pipe -pthread -W -Wall -Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type -Wnon-virtual-dtor -Wunused -fvisibility-inlines-hidden -MT gtk_gnash-gtk_canvas.o -MD -MP -MF .deps/gtk_gnash-gtk_canvas.Tpo -c -o gtk_gnash-gtk_canvas.o `test -f 'gtk_canvas.cpp' || echo './'`gtk_canvas.cpp
mv -f .deps/gtk_gnash-gui_gtk.Tpo .deps/gtk_gnash-gui_gtk.Po
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -DGUI_GTK -DGUI_CONFIG=\"GTK\" -I../.. -I../libamf -I../libnet -I../libcore -I../libcore/swf -I../libcore/parser -I../libcore/vm -I../libcore/asobj -I../libltdl -I../libbase -I../backend -I../libmedia -I../libsound -I../libmedia/ffmpeg -I../libmedia/gst -DLOCALEDIR=\"/usr/share/locale\" -DPLUGINSDIR=\"/usr/lib64/gnash/plugins\" -DLIBAVCODEC_IDENT=\"\" -I/usr/include/boost-1_37 -pthread -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -DPKGDATADIR=\"/usr/share/gnash\" -DRENDERER_CONFIG=\"agg\" -DMEDIA_CONFIG=\"gst\" -DTARGET_CONFIG=\"\" -DCONFIG_CONFIG="\"--prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --disable-cygnal --disable-docbook --disable-ghelp --enable-npapi --enable-kparts3 --disable-kparts4 --disable-i810-lod-bias --enable-gui=gtk,kde3 --with-ffmpeg-incl=/usr/include/libavcodec/ --with-plugins-install=system --with-npapi-plugindir=/opt/netscape/plugins --enable-renderer=agg --enable-media=gst --with-kde3-prefix=/usr/kde/3.5\"" -DCXXFLAGS="\"-march=athlon64 -O2 -msse3 -pipe -pthread -W -Wall -Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type -Wnon-virtual-dtor -Wunused -fvisibility-inlines-hidden\"" -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/agg2 -march=athlon64 -O2 -msse3 -pipe -pthread -W -Wall -Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type -Wnon-virtual-dtor -Wunused -fvisibility-inlines-hidden -MT gtk_gnash-gtk_glue_agg_xv.o -MD -MP -MF .deps/gtk_gnash-gtk_glue_agg_xv.Tpo -c -o gtk_gnash-gtk_glue_agg_xv.o `test -f 'gtk_glue_agg_xv.cpp' || echo './'`gtk_glue_agg_xv.cpp
make[4]: *** [kde3_gnash-kde_glue_agg.o] Error 1
make[4]: *** Waiting for unfinished jobs....
|