trunk rev 12993 fails to find libwpg.h and still got po/ problems
pandfi@...1446...:/usr/local/svn/inkscape$ svn info Path: . URL: https://svn.sourceforge.net/svnroot/inkscape/inkscape/trunk Repository Root: https://svn.sourceforge.net/svnroot/inkscape Repository UUID: 79ec4920-5e0a-0410-a93a-b0c7084bcf59 Revision: 12993 Node Kind: directory Schedule: normal Last Changed Author: cwebb Last Changed Rev: 12993 Last Changed Date: 2006-08-30 18:18:14 +0100 (Wed, 30 Aug 2006) Properties Last Updated: 2006-08-20 12:53:44 +0100 (Sun, 20 Aug 2006)
Error I received:
extension/internal/wpg-input.cpp:48:27: libwpg/libwpg.h: No such file or directory In file included from extension/internal/wpg-input.cpp:49: extension/internal/libwpg/WPGStreamImplementation.h:37: warning: `class libwpg::WPGFileStream' has virtual functions but non-virtual destructor extension/internal/libwpg/WPGStreamImplementation.h:60: warning: `class libwpg::WPGMemoryStream' has virtual functions but non-virtual destructor extension/internal/wpg-input.cpp:57: error: expected class-name before '{' token extension/internal/wpg-input.cpp:66: error: expected `,' or `...' before '&' token extension/internal/wpg-input.cpp:66: error: ISO C++ forbids declaration of `WPGPen' with no type extension/internal/wpg-input.cpp:67: error: expected `,' or `...' before '&' token extension/internal/wpg-input.cpp:67: error: ISO C++ forbids declaration of `WPGBrush' with no type extension/internal/wpg-input.cpp:68: error: `FillRule' has not been declared extension/internal/wpg-input.cpp:68: error: ISO C++ forbids declaration of `rule' with no type extension/internal/wpg-input.cpp:70: error: expected `,' or `...' before '&' token extension/internal/wpg-input.cpp:70: error: ISO C++ forbids declaration of `WPGRect' with no type extension/internal/wpg-input.cpp:71: error: expected `,' or `...' before '&' token extension/internal/wpg-input.cpp:71: error: ISO C++ forbids declaration of `WPGPoint' with no type extension/internal/wpg-input.cpp:72: error: expected `,' or `...' before '&' token extension/internal/wpg-input.cpp:72: error: ISO C++ forbids declaration of `WPGPointArray' with no type extension/internal/wpg-input.cpp:73: error: expected `,' or `...' before '&' token extension/internal/wpg-input.cpp:73: error: ISO C++ forbids declaration of `WPGPath' with no type extension/internal/wpg-input.cpp:76: error: `WPGPen' does not name a type extension/internal/wpg-input.cpp:77: error: `WPGBrush' does not name a type extension/internal/wpg-input.cpp:78: error: `FillRule' does not name a type extension/internal/wpg-input.cpp: In constructor `Inkscape::Extension::Internal::InkscapePainter::InkscapePainter()': extension/internal/wpg-input.cpp:96: error: class `Inkscape::Extension::Internal::InkscapePainter' does not have any field named `m_fillRule' extension/internal/wpg-input.cpp:96: error: `AlternatingFill' was not declared in this scope extension/internal/wpg-input.cpp:96: warning: unused variable 'AlternatingFill' extension/internal/wpg-input.cpp: At global scope: extension/internal/wpg-input.cpp:121: error: expected `,' or `...' before '&' token extension/internal/wpg-input.cpp:122: error: ISO C++ forbids declaration of `WPGPen' with no type extension/internal/wpg-input.cpp: In member function `void Inkscape::Extension::Internal::InkscapePainter::setPen(int)': extension/internal/wpg-input.cpp:123: error: `m_pen' was not declared in this scope extension/internal/wpg-input.cpp:123: error: `pen' was not declared in this scope extension/internal/wpg-input.cpp:123: warning: unused variable 'm_pen' extension/internal/wpg-input.cpp:123: warning: unused variable 'pen' extension/internal/wpg-input.cpp: At global scope: extension/internal/wpg-input.cpp:126: error: expected `,' or `...' before '&' token extension/internal/wpg-input.cpp:127: error: ISO C++ forbids declaration of `WPGBrush' with no type extension/internal/wpg-input.cpp: In member function `void Inkscape::Extension::Internal::InkscapePainter::setBrush(int)': extension/internal/wpg-input.cpp:128: error: `m_brush' was not declared in this scope extension/internal/wpg-input.cpp:128: error: `brush' was not declared in this scope extension/internal/wpg-input.cpp:130: error: `WPGBrush' is not a class or namespace extension/internal/wpg-input.cpp:130: error: `Gradient' was not declared in this scope extension/internal/wpg-input.cpp:141: error: `WPGColor' was not declared in this scope extension/internal/wpg-input.cpp:141: error: expected `;' before "color" extension/internal/wpg-input.cpp:143: error: `color' was not declared in this scope extension/internal/wpg-input.cpp:141: warning: unused variable 'WPGColor' extension/internal/wpg-input.cpp:130: warning: unused variable 'Gradient' extension/internal/wpg-input.cpp:128: warning: unused variable 'brush' extension/internal/wpg-input.cpp: At global scope: extension/internal/wpg-input.cpp:162: error: variable or field `setFillRule' declared void extension/internal/wpg-input.cpp:162: error: `int Inkscape::Extension::Internal::InkscapePainter::setFillRule' is not a static member of `class Inkscape::Extension::Internal::InkscapePainter' extension/internal/wpg-input.cpp:162: error: `FillRule' was not declared in this scope extension/internal/wpg-input.cpp:163: error: expected `,' or `;' before '{' token extension/internal/wpg-input.cpp:177: error: expected `,' or `...' before '&' token extension/internal/wpg-input.cpp:178: error: ISO C++ forbids declaration of `WPGRect' with no type extension/internal/wpg-input.cpp: In member function `void Inkscape::Extension::Internal::InkscapePainter::drawRectangle(int)': extension/internal/wpg-input.cpp:180: error: `rect' was not declared in this scope extension/internal/wpg-input.cpp:182: error: `rx' was not declared in this scope extension/internal/wpg-input.cpp:182: error: `ry' was not declared in this scope extension/internal/wpg-input.cpp: At global scope: extension/internal/wpg-input.cpp:188: error: expected `,' or `...' before '&' token extension/internal/wpg-input.cpp:189: error: ISO C++ forbids declaration of `WPGPoint' with no type extension/internal/wpg-input.cpp: In member function `void Inkscape::Extension::Internal::InkscapePainter::drawEllipse(int)': extension/internal/wpg-input.cpp:191: error: `center' was not declared in this scope extension/internal/wpg-input.cpp:192: error: `rx' was not declared in this scope extension/internal/wpg-input.cpp:192: error: `ry' was not declared in this scope extension/internal/wpg-input.cpp:192: warning: unused variable 'rx' extension/internal/wpg-input.cpp:192: warning: unused variable 'ry' extension/internal/wpg-input.cpp: At global scope: extension/internal/wpg-input.cpp:197: error: expected `,' or `...' before '&' token extension/internal/wpg-input.cpp:198: error: ISO C++ forbids declaration of `WPGPointArray' with no type extension/internal/wpg-input.cpp: In member function `void Inkscape::Extension::Internal::InkscapePainter::drawPolygon(int)': extension/internal/wpg-input.cpp:199: error: `vertices' was not declared in this scope extension/internal/wpg-input.cpp:199: warning: unused variable 'vertices' extension/internal/wpg-input.cpp:202: error: `vertices' was not declared in this scope extension/internal/wpg-input.cpp:204: error: expected initializer before '&' token extension/internal/wpg-input.cpp:205: error: expected initializer before '&' token extension/internal/wpg-input.cpp:207: error: `p1' was not declared in this scope extension/internal/wpg-input.cpp:208: error: `p2' was not declared in this scope extension/internal/wpg-input.cpp: At global scope: extension/internal/wpg-input.cpp:227: error: expected `,' or `...' before '&' token extension/internal/wpg-input.cpp:228: error: ISO C++ forbids declaration of `WPGPath' with no type extension/internal/wpg-input.cpp: In member function `void Inkscape::Extension::Internal::InkscapePainter::drawPath(int)': extension/internal/wpg-input.cpp:230: error: `path' was not declared in this scope extension/internal/wpg-input.cpp:232: error: `WPGPathElement' was not declared in this scope extension/internal/wpg-input.cpp:232: error: expected `;' before "element" extension/internal/wpg-input.cpp:233: error: `WPGPoint' was not declared in this scope extension/internal/wpg-input.cpp:233: error: expected `;' before "point" extension/internal/wpg-input.cpp:234: error: `element' was not declared in this scope extension/internal/wpg-input.cpp:236: error: `WPGPathElement' is not a class or namespace extension/internal/wpg-input.cpp:236: error: `MoveToElement' was not declared in this scope extension/internal/wpg-input.cpp:237: error: `point' was not declared in this scope extension/internal/wpg-input.cpp:240: error: `WPGPathElement' is not a class or namespace extension/internal/wpg-input.cpp:240: error: `LineToElement' was not declared in this scope extension/internal/wpg-input.cpp:244: error: `WPGPathElement' is not a class or namespace extension/internal/wpg-input.cpp:244: error: `CurveToElement' was not declared in this scope extension/internal/wpg-input.cpp:236: warning: unused variable 'MoveToElement' extension/internal/wpg-input.cpp:240: warning: unused variable 'LineToElement' extension/internal/wpg-input.cpp:244: warning: unused variable 'CurveToElement' extension/internal/wpg-input.cpp:232: warning: unused variable 'WPGPathElement' extension/internal/wpg-input.cpp:233: warning: unused variable 'WPGPoint' extension/internal/wpg-input.cpp:230: warning: unused variable 'path' extension/internal/wpg-input.cpp:256: error: `path' was not declared in this scope extension/internal/wpg-input.cpp:256: warning: unused variable 'path' extension/internal/wpg-input.cpp: In member function `void Inkscape::Extension::Internal::InkscapePainter::writeStyle()': extension/internal/wpg-input.cpp:269: error: expected initializer before '&' token extension/internal/wpg-input.cpp:270: error: `m_pen' was not declared in this scope extension/internal/wpg-input.cpp:273: error: `color' was not declared in this scope extension/internal/wpg-input.cpp:291: error: `m_brush' was not declared in this scope extension/internal/wpg-input.cpp:291: error: `WPGBrush' has not been declared extension/internal/wpg-input.cpp:291: error: `NoBrush' was not declared in this scope extension/internal/wpg-input.cpp:291: warning: unused variable 'm_brush' extension/internal/wpg-input.cpp:291: warning: unused variable 'NoBrush' extension/internal/wpg-input.cpp:294: error: `m_fillRule' was not declared in this scope extension/internal/wpg-input.cpp:294: error: `WindingFill' is not a member of `Inkscape::Extension::Internal::InkscapePainter' extension/internal/wpg-input.cpp:296: error: `AlternatingFill' is not a member of `Inkscape::Extension::Internal::InkscapePainter' extension/internal/wpg-input.cpp:299: error: `m_brush' was not declared in this scope extension/internal/wpg-input.cpp:299: error: `WPGBrush' has not been declared extension/internal/wpg-input.cpp:299: error: `Gradient' was not declared in this scope extension/internal/wpg-input.cpp:299: warning: unused variable 'm_brush' extension/internal/wpg-input.cpp:299: warning: unused variable 'Gradient' extension/internal/wpg-input.cpp:302: error: `m_brush' was not declared in this scope extension/internal/wpg-input.cpp:302: error: `WPGBrush' has not been declared extension/internal/wpg-input.cpp:302: error: `Solid' was not declared in this scope extension/internal/wpg-input.cpp:302: warning: unused variable 'Solid' extension/internal/wpg-input.cpp: In member function `virtual SPDocument* Inkscape::Extension::Internal::WpgInput::open(Inkscape::Extension::Input*, const gchar*)': extension/internal/wpg-input.cpp:320: error: `WPGraphics' has not been declared extension/internal/wpg-input.cpp:320: error: `isSupported' was not declared in this scope extension/internal/wpg-input.cpp:320: warning: unused variable 'isSupported' extension/internal/wpg-input.cpp:328: error: `WPGraphics' has not been declared extension/internal/wpg-input.cpp:328: error: `parse' was not declared in this scope extension/internal/wpg-input.cpp:328: warning: unused variable 'parse' make[2]: *** [extension/internal/wpg-input.o] Error 1 make[2]: Leaving directory `/usr/local/svn/inkscape/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/svn/inkscape' make: *** [all] Error 2
Action I took:
I had to copy in the libwpg.h (a recent CVS version) in to extensions/internal/libwpg/ in order to compile, even then I still get quite a few warnings with WPG ...
In file included from extension/internal/libwpg/WPG1Parser.h:31, from extension/internal/libwpg/WPG1Parser.cpp:28: extension/internal/libwpg/WPGXParser.h:40: warning: `class WPGXParser' has virtual functions but non-virtual destructor In file included from extension/internal/libwpg/WPG1Parser.cpp:28: extension/internal/libwpg/WPG1Parser.h:36: warning: `class WPG1Parser' has virtual functions but non-virtual destructor extension/internal/libwpg/WPG1Parser.cpp: In member function `virtual bool WPG1Parser::parse()': extension/internal/libwpg/WPG1Parser.cpp:190: warning: unused variable 'recordPos' extension/internal/libwpg/WPG1Parser.cpp: In member function `void WPG1Parser::handleStartWPG()': extension/internal/libwpg/WPG1Parser.cpp:237: warning: unused variable 'version' extension/internal/libwpg/WPG1Parser.cpp:238: warning: unused variable 'bitFlags' extension/internal/libwpg/WPG1Parser.cpp: In member function `void WPG1Parser::handleColormap()': extension/internal/libwpg/WPG1Parser.cpp:263: warning: comparison between signed and unsigned integer expressions if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/freetype2 -pthread -DORBIT2=1 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/bonobo-activation-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0 -DHAVE_SSL -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/X11R6/include -DPOTRACE="potrace" -pthread -I/usr/include/gdkmm-2.4 -I/usr/lib/gdkmm-2.4/include -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/local/include/cairo -I/usr/include/gtkmm-2.4 -I/usr/lib/gtkmm-2.4/include -I/usr/local/include/atk-1.0 -I/usr/include/libxml2 -I/usr/include/gtkspell-2.0 -I/usr/include/libpng12 -I../cxxtest -Wall -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch -Wno-unused-parameter -g -O2 -MT extension/internal/libwpg/WPG2Parser.o -MD -MP -MF "extension/internal/libwpg/.deps/WPG2Parser.Tpo" -c -o extension/internal/libwpg/WPG2Parser.o `test -f 'extension/internal/libwpg/WPG2Parser.cpp' || echo './'`extension/internal/libwpg/WPG2Parser.cpp; \ then mv -f "extension/internal/libwpg/.deps/WPG2Parser.Tpo" "extension/internal/libwpg/.deps/WPG2Parser.Po"; else rm -f "extension/internal/libwpg/.deps/WPG2Parser.Tpo"; exit 1; fi In file included from extension/internal/libwpg/WPG2Parser.h:31, from extension/internal/libwpg/WPG2Parser.cpp:28: extension/internal/libwpg/WPGXParser.h:40: warning: `class WPGXParser' has virtual functions but non-virtual destructor In file included from extension/internal/libwpg/WPG2Parser.cpp:28: extension/internal/libwpg/WPG2Parser.h:129: warning: `class WPG2Parser' has virtual functions but non-virtual destructor extension/internal/libwpg/WPG2Parser.cpp: In constructor `WPG2Parser::ObjectCharacterization::ObjectCharacterization()': extension/internal/libwpg/WPG2Parser.cpp:161: warning: `WPG2Parser::ObjectCharacterization::lockFlags' will be initialized after extension/internal/libwpg/WPG2Parser.cpp:155: warning: `bool WPG2Parser::ObjectCharacterization::windingRule' extension/internal/libwpg/WPG2Parser.cpp:201: warning: when initialized here extension/internal/libwpg/WPG2Parser.cpp: In member function `virtual bool WPG2Parser::parse()': extension/internal/libwpg/WPG2Parser.cpp:316: warning: unused variable 'recordPos' extension/internal/libwpg/WPG2Parser.cpp:317: warning: unused variable 'recordClass' extension/internal/libwpg/WPG2Parser.cpp: In member function `void WPG2Parser::handleStartWPG()': extension/internal/libwpg/WPG2Parser.cpp:519: warning: comparison between signed and unsigned integer expressions extension/internal/libwpg/WPG2Parser.cpp:459: warning: unused variable 'viewportX1' extension/internal/libwpg/WPG2Parser.cpp:460: warning: unused variable 'viewportY1' extension/internal/libwpg/WPG2Parser.cpp:461: warning: unused variable 'viewportX2' extension/internal/libwpg/WPG2Parser.cpp:462: warning: unused variable 'viewportY2' extension/internal/libwpg/WPG2Parser.cpp: In member function `void WPG2Parser::handleDPColorPalette()': extension/internal/libwpg/WPG2Parser.cpp:627: warning: comparison between signed and unsigned integer expressions extension/internal/libwpg/WPG2Parser.cpp: In member function `void WPG2Parser::handleBrushGradient()': extension/internal/libwpg/WPG2Parser.cpp:731: warning: unused variable 'granular' extension/internal/libwpg/WPG2Parser.cpp:732: warning: unused variable 'anchor' extension/internal/libwpg/WPG2Parser.cpp: In member function `void WPG2Parser::handleDPBrushGradient()': extension/internal/libwpg/WPG2Parser.cpp:753: warning: unused variable 'granular' extension/internal/libwpg/WPG2Parser.cpp:754: warning: unused variable 'anchor' extension/internal/libwpg/WPG2Parser.cpp: In member function `void WPG2Parser::handleBrushPattern()': extension/internal/libwpg/WPG2Parser.cpp:925: warning: unused variable 'pattern' extension/internal/libwpg/WPG2Parser.cpp: In member function `void WPG2Parser::handlePolycurve()': extension/internal/libwpg/WPG2Parser.cpp:1084: warning: comparison between signed and unsigned integer expressions extension/internal/libwpg/WPG2Parser.cpp: At global scope: extension/internal/libwpg/WPG2Parser.cpp:399: warning: 'const char* describePrecision(unsigned char)' defined but not used extension/internal/libwpg/WPG2Parser.cpp:411: warning: 'const char* describeGradient(unsigned char)' defined but not used
Ultimately I still can't get past the po files:
make[2]: Entering directory `/usr/local/svn/inkscape/po' file=./`echo fr | sed 's,.*/,,'`.gmo \ && rm -f $file && /usr/bin/msgfmt -c -o $file fr.po file=./`echo ga | sed 's,.*/,,'`.gmo \ && rm -f $file && /usr/bin/msgfmt -c -o $file ga.po file=./`echo gl | sed 's,.*/,,'`.gmo \ && rm -f $file && /usr/bin/msgfmt -c -o $file gl.po file=./`echo hr | sed 's,.*/,,'`.gmo \ && rm -f $file && /usr/bin/msgfmt -c -o $file hr.po file=./`echo hu | sed 's,.*/,,'`.gmo \ && rm -f $file && /usr/bin/msgfmt -c -o $file hu.po file=./`echo it | sed 's,.*/,,'`.gmo \ && rm -f $file && /usr/bin/msgfmt -c -o $file it.po file=./`echo ja | sed 's,.*/,,'`.gmo \ && rm -f $file && /usr/bin/msgfmt -c -o $file ja.po ja.po:15: nplurals = 1... ja.po:899: ...but some messages have 2 plural forms /usr/bin/msgfmt: found 1 fatal error make[2]: *** [ja.gmo] Error 1 make[2]: Leaving directory `/usr/local/svn/inkscape/po' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/svn/inkscape' make: *** [all] Error 2
I've found one other mail ( bug 1343164 @ https://sourceforge.net/tracker/index.php?func=detail&aid=1343164&gr... ) on the mailing list that seems to refer to this type of situation but there appears to be no resolution. I too can't see why I have to compile all these languages that I wont need. Moreover as grammar doesn't change on a per project basis I don't see how these parts (the plural forms) can be wrong?
I end up removing entries from po/Makefile to ensure compile finishes.
Inkscape segfaults. But at least I can compile it now. My diff at http://slashdot.org/~pbhj/journal/142939.
(gdb) run Starting program: /home/pandfi/inkscape-svn/bin/inkscape [Thread debugging using libthread_db enabled] [New Thread -1228621600 (LWP 24966)]
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1228621600 (LWP 24966)] 0xb70b7d7b in std::locale::operator= () from /usr/i486-slackware-linux/lib/libstdc++.so.5 (gdb) bt #0 0xb70b7d7b in std::locale::operator= () from /usr/i486-slackware-linux/lib/libstdc++.so.5 #1 0xb70b0ab1 in std::ios_base::_M_init () from /usr/i486-slackware-linux/lib/libstdc++.so.5 #2 0xb70aed94 in std::basic_ios<char, std::char_traits<char> >::init () from /usr/i486-slackware-linux/lib/libstdc++.so.5 #3 0x085c3eda in global constructors keyed to _ZN8Inkscape5Debug6Logger8_enabledE () at /usr/lib/gcc/i486-slackware-linux/3.4.6/../../../../include/c++/3.4.6/fstream:632 #4 0x085c42f5 in __do_global_ctors_aux () #5 0x0819eb65 in _init () #6 0x085c41fb in __libc_csu_init () #7 0xb6f30dbf in __libc_start_main () from /lib/tls/libc.so.6 #8 0x081a7381 in _start () at ../sysdeps/i386/elf/start.S:119 (gdb)
Hi, I am not sure that I can help with libwpg problem but I can with the /po files one. Maybe only a quick question, did some of previous revisions compile well with libwpg? (rev. 12993 has only updated gl.po file)
pbhj píše v Čt 31. 08. 2006 v 04:11 +0100:
[trimmed libwpg error part ]
Ultimately I still can't get past the po files:
file=./`echo ja | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -c -o $file ja.po
ja.po:15: nplurals = 1...
ja.po:899: ...but some messages have 2 plural forms
/usr/bin/msgfmt: found 1 fatal error
make[2]: *** [ja.gmo] Error 1
make[2]: Leaving directory `/usr/local/svn/inkscape/po'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/svn/inkscape'
make: *** [all] Error 2
I've found one other mail ( bug 1343164 @ https://sourceforge.net/tracker/index.php?func=detail&aid=1343164&gr... ) on the mailing list that seems to refer to this type of situation but there appears to be no resolution. I too can't see why I have to compile all these languages that I wont need.
That is the cost of having multi-lingual software. Sure you can remove them from makefile, but in result, the compile time you save is only 0.1% of total compile time.
I've removed problematic plural forms from the ja.po file and going to contact last translator of this file to inform him about it. Now the file should work for you too. But I've got a backup for any other cases. Please do "svn up" and report me back whether the translation's compilation works or not.
Moreover as grammar doesn't change on a per project basis I don't see how these parts (the plural forms) can be wrong?
This problem occurs when the plural forms definition does not matches the number of msgstr[x] string in translations. In case of Japanese translation there were two msgstr[] definitions on some places but only one was supposed to be there(only one according to pl. forms definition). This can usually happen when translator does not watch his steps and does not check possible plural forms' errors. If the string that caused this error has still been marked as "fuzzy" then you probably could not even notice that something like this is there. Weird is that it did not cause any build problems on several machines I've tried to compile it.
Thanks for the report, sincerelly, Josef 'cornelius' Vybíral (cwebb)
participants (2)
-
Josef Vybiral
-
pbhj