No subject


Fri Feb 4 07:13:50 PST 2011


I pulled in all the latest changes from the git repository and ran into a
couple small problems in vcl (may be in other modules too, but they'll be
similar issues if so).

Firstly, since the move to boost::unordered_set from (if I remember
correctly) hash_map we have things like this cropping up:

Compiling: vcl/unx/headless/svptext.cxx
> /usr/local/src/libreoffice/clone/libs-gui/vcl/unx/headless/svptext.cxx: In
> member function 'virtual void PspKernInfo::Initialize() const':
> /usr/local/src/libreoffice/clone/libs-gui/vcl/unx/headless/svptext.cxx:197:
> error: 'class boost::unordered_set<ImplKernPairData,
> ExtraKernInfo::PairHash, ExtraKernInfo::PairEqual,
> std::allocator<ImplKernPairData> >' has no member named 'resize'
> dmake:  Error code 1, while making '../../unxlngx6.pro/slo/svptext.obj'
>


Easy fix, just delete the resize statement.


Another problem, and another easy fix, is types like the following:

Compiling: vcl/unx/headless/svppspgraphics.cxx
> In file included from
> /usr/local/src/libreoffice/clone/libs-gui/vcl/unx/headless/svppspgraphics.hxx:33,
>                  from
> /usr/local/src/libreoffice/clone/libs-gui/vcl/unx/headless/svppspgraphics.cxx:32:
> ../../inc/vcl/fontmanager.hxx:401: error: wrong number of template
> arguments (1, should be 2)
> /usr/local/src/libreoffice/solver/330/
> unxlngx6.pro/inc/boost/detail/container_fwd.hpp:80: error: provided for
> 'template<class T, class Allocator> struct std::vector'
> ../../inc/vcl/fontmanager.hxx:658: error: wrong number of template
> arguments (1, should be 2)
> /usr/local/src/libreoffice/solver/330/
> unxlngx6.pro/inc/boost/detail/container_fwd.hpp:80: error: provided for
> 'template<class T, class Allocator> struct std::vector'
> /usr/local/src/libreoffice/clone/libs-gui/vcl/unx/headless/svppspgraphics.cxx:
> In static member function 'static void
> PspGraphics::DoGetGlyphWidths(psp::fontID, bool, Int32Vector&,
> Ucs2UIntMap&)':
> /usr/local/src/libreoffice/clone/libs-gui/vcl/unx/headless/svppspgraphics.cxx:1072:
> error: no matching function for call to
> 'psp::PrintFontManager::getGlyphWidths(psp::fontID&, bool&, std::vector<int,
> std::allocator<int> >&, std::map<short unsigned int, unsigned int,
> std::less<short unsigned int>, std::allocator<std::pair<const short unsigned
> int, unsigned int> > >&)'
> ../../inc/vcl/fontmanager.hxx:656: note: candidates are: void
> psp::PrintFontManager::getGlyphWidths(psp::fontID, bool, int&,
> std::map<short unsigned int, unsigned int, std::less<short unsigned int>,
> std::allocator<std::pair<const short unsigned int, unsigned int> > >&)
> dmake:  Error code 1, while making '../../
> unxlngx6.pro/slo/svppspgraphics.obj'
>

Apparently (pointed out by JoeP) you just need to #include <vector> in order
to fix this issue, as apparently boost is somehow overriding std::vector but
explicitly including <vector> seems to fix the issue.


Chris Carpenter

--000e0cd1e5b65b84e7049b76cc21
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hey everybody,<br><br>From talking in IRC it looks like this email is proba=
bly not really going to be needed, but just in case:<br><br>I pulled in all=
 the latest changes from the git repository and ran into a couple small pro=
blems in vcl (may be in other modules too, but they&#39;ll be similar issue=
s if so).<br>
<br>Firstly, since the move to boost::unordered_set from (if I remember cor=
rectly) hash_map we have things like this cropping up:<br><br><blockquote s=
tyle=3D"margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204=
); padding-left: 1ex;" class=3D"gmail_quote">
Compiling: vcl/unx/headless/svptext.cxx<br>/usr/local/src/libreoffice/clone=
/libs-gui/vcl/unx/headless/svptext.cxx: In member function &#39;virtual voi=
d PspKernInfo::Initialize() const&#39;:<br>/usr/local/src/libreoffice/clone=
/libs-gui/vcl/unx/headless/svptext.cxx:197: error: &#39;class boost::unorde=
red_set&lt;ImplKernPairData, ExtraKernInfo::PairHash, ExtraKernInfo::PairEq=
ual, std::allocator&lt;ImplKernPairData&gt; &gt;&#39; has no member named &=
#39;resize&#39;<br>
dmake:=A0 Error code 1, while making &#39;../../<a href=3D"http://unxlngx6.=
pro/slo/svptext.obj">unxlngx6.pro/slo/svptext.obj</a>&#39;<br></blockquote>=
<br><br>Easy fix, just delete the resize statement.<br><br><br>Another prob=
lem, and another easy fix, is types like the following:<br>
<br><blockquote style=3D"margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid =
rgb(204, 204, 204); padding-left: 1ex;" class=3D"gmail_quote">Compiling: vc=
l/unx/headless/svppspgraphics.cxx<br>In file included from /usr/local/src/l=
ibreoffice/clone/libs-gui/vcl/unx/headless/svppspgraphics.hxx:33,<br>
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 from /usr/local/src/libreo=
ffice/clone/libs-gui/vcl/unx/headless/svppspgraphics.cxx:32:<br>../../inc/v=
cl/fontmanager.hxx:401: error: wrong number of template arguments (1, shoul=
d be 2)<br>/usr/local/src/libreoffice/solver/330/<a href=3D"http://unxlngx6=
.pro/inc/boost/detail/container_fwd.hpp:80">unxlngx6.pro/inc/boost/detail/c=
ontainer_fwd.hpp:80</a>: error: provided for &#39;template&lt;class T, clas=
s Allocator&gt; struct std::vector&#39;<br>
../../inc/vcl/fontmanager.hxx:658: error: wrong number of template argument=
s (1, should be 2)<br>/usr/local/src/libreoffice/solver/330/<a href=3D"http=
://unxlngx6.pro/inc/boost/detail/container_fwd.hpp:80">unxlngx6.pro/inc/boo=
st/detail/container_fwd.hpp:80</a>: error: provided for &#39;template&lt;cl=
ass T, class Allocator&gt; struct std::vector&#39;<br>
/usr/local/src/libreoffice/clone/libs-gui/vcl/unx/headless/svppspgraphics.c=
xx: In static member function &#39;static void PspGraphics::DoGetGlyphWidth=
s(psp::fontID, bool, Int32Vector&amp;, Ucs2UIntMap&amp;)&#39;:<br>/usr/loca=
l/src/libreoffice/clone/libs-gui/vcl/unx/headless/svppspgraphics.cxx:1072: =
error: no matching function for call to &#39;psp::PrintFontManager::getGlyp=
hWidths(psp::fontID&amp;, bool&amp;, std::vector&lt;int, std::allocator&lt;=
int&gt; &gt;&amp;, std::map&lt;short unsigned int, unsigned int, std::less&=
lt;short unsigned int&gt;, std::allocator&lt;std::pair&lt;const short unsig=
ned int, unsigned int&gt; &gt; &gt;&amp;)&#39;<br>
../../inc/vcl/fontmanager.hxx:656: note: candidates are: void psp::PrintFon=
tManager::getGlyphWidths(psp::fontID, bool, int&amp;, std::map&lt;short uns=
igned int, unsigned int, std::less&lt;short unsigned int&gt;, std::allocato=
r&lt;std::pair&lt;const short unsigned int, unsigned int&gt; &gt; &gt;&amp;=
)<br>
dmake:=A0 Error code 1, while making &#39;../../<a href=3D"http://unxlngx6.=
pro/slo/svppspgraphics.obj">unxlngx6.pro/slo/svppspgraphics.obj</a>&#39;<br=
></blockquote><br>Apparently (pointed out by JoeP) you just need to #includ=
e &lt;vector&gt; in order to fix this issue, as apparently boost is somehow=
 overriding std::vector but explicitly including &lt;vector&gt; seems to fi=
x the issue.<br>
<br><br>Chris Carpenter<br>

--000e0cd1e5b65b84e7049b76cc21--


More information about the LibreOffice mailing list