[cairo] Unable to compile cairomm 1.7.0 (OS X fink)
Asko Kauppi
askok at dnainternet.net
Mon Oct 27 12:24:20 PDT 2008
I tried compiling Cairomm 1.7.0 on OS X with fink tools. This is what
I got after
./configure
make
Would you have ideas of what's wrong?
Which version of libsigc++ is required?
The line 37 of functor_trait.h is:
<<
/** nil struct type.
* The nil struct type is used as default template argument in the
* unnumbered sigc::signal and sigc::slot templates.
*
* @ingroup signal
* @ingroup slot
*/
struct nil; <<-- line 37
<<
- asko
...
g++ -DHAVE_CONFIG_H -I. -I.. -I/sw/include/libpng12 -I/sw/include -I/
sw/lib/freetype219/include/freetype2 -I/sw/lib/freetype219/include -I/
sw/include/pixman-1 -I/sw/include/cairo -I/sw/include/sigc++-2.0 -I/sw/
lib/sigc++-2.0/include -I/usr/X11R6/include -I/usr/X11/include -g -O2 -
MT quartz_font.lo -MD -MP -MF .deps/quartz_font.Tpo -c quartz_font.cc
-fno-common -DPIC -o .libs/quartz_font.o
/sw/include/sigc++-2.0/sigc++/functors/functor_trait.h:37: error:
expected identifier before '__null'
/sw/include/sigc++-2.0/sigc++/functors/functor_trait.h:37: error:
expected unqualified-id before '__null'
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1088: error: expected
type-specifier before '__null'
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1088: error: expected
`>' before '__null'
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1090: error: 'T_arg2'
was not declared in this scope
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1090: error: 'T_arg3'
was not declared in this scope
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1090: error: 'T_arg4'
was not declared in this scope
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1090: error: 'T_arg5'
was not declared in this scope
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1090: error: 'T_arg6'
was not declared in this scope
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1090: error: 'T_arg7'
was not declared in this scope
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1090: error: template
argument 3 is invalid
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1090: error: template
argument 4 is invalid
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1090: error: template
argument 5 is invalid
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1090: error: template
argument 6 is invalid
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1090: error: template
argument 7 is invalid
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1090: error: template
argument 8 is invalid
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1093: error: 'T_arg2'
was not declared in this scope
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1093: error: 'T_arg3'
was not declared in this scope
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1093: error: 'T_arg4'
was not declared in this scope
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1093: error: 'T_arg5'
was not declared in this scope
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1093: error: 'T_arg6'
was not declared in this scope
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1093: error: 'T_arg7'
was not declared in this scope
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1093: error: template
argument 3 is invalid
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1093: error: template
argument 4 is invalid
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1093: error: template
argument 5 is invalid
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1093: error: template
argument 6 is invalid
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1093: error: template
argument 7 is invalid
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1093: error: template
argument 8 is invalid
/sw/include/sigc++-2.0/sigc++/functors/slot.h: In constructor
'sigc::slot<T_return, T_arg1>::slot(const T_functor&)':
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1102: error: 'typedef
int sigc::slot<T_return, T_arg1>::parent_type' is not a non-static
data member of 'sigc::slot<T_return, T_arg1>'
/sw/include/sigc++-2.0/sigc++/functors/slot.h: In copy constructor
'sigc::slot<T_return, T_arg1>::slot(const sigc::slot<T_return,
T_arg1>&)':
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1105: error: 'typedef
int sigc::slot<T_return, T_arg1>::parent_type' is not a non-static
data member of 'sigc::slot<T_return, T_arg1>'
/sw/include/sigc++-2.0/sigc++/functors/slot.h: At global scope:
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1117: error: wrong
number of template arguments (8, should be 2)
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1089: error: provided
for 'template<class T_return, class T_arg1> class sigc::slot'
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1144: error: wrong
number of template arguments (8, should be 2)
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1089: error: provided
for 'template<class T_return, class T_arg1> class sigc::slot'
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1171: error: wrong
number of template arguments (8, should be 2)
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1089: error: provided
for 'template<class T_return, class T_arg1> class sigc::slot'
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1198: error: wrong
number of template arguments (8, should be 2)
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1089: error: provided
for 'template<class T_return, class T_arg1> class sigc::slot'
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1225: error: wrong
number of template arguments (8, should be 2)
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1089: error: provided
for 'template<class T_return, class T_arg1> class sigc::slot'
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1252: error: wrong
number of template arguments (8, should be 2)
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1089: error: provided
for 'template<class T_return, class T_arg1> class sigc::slot'
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1279: error: wrong
number of template arguments (8, should be 2)
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1089: error: provided
for 'template<class T_return, class T_arg1> class sigc::slot'
../cairomm/fontface.h:187: error: wrong number of template arguments
(4, should be 2)
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1089: error: provided
for 'template<class T_return, class T_arg1> class sigc::slot'
../cairomm/fontface.h:239: error: wrong number of template arguments
(4, should be 2)
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1089: error: provided
for 'template<class T_return, class T_arg1> class sigc::slot'
../cairomm/fontface.h:301: error: wrong number of template arguments
(5, should be 2)
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1089: error: provided
for 'template<class T_return, class T_arg1> class sigc::slot'
../cairomm/fontface.h:360: error: wrong number of template arguments
(6, should be 2)
/sw/include/sigc++-2.0/sigc++/functors/slot.h:1089: error: provided
for 'template<class T_return, class T_arg1> class sigc::slot'
make[3]: *** [quartz_font.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
Jonathon Jongsma kirjoitti 26.10.2008 kello 6:46:
> **********************
> NOTE: This is an UNSTABLE release and contains MANY changes, including
> some API changes (in addition to the normal API additions and
> bugfixes).
> I have provided justifications for the API changes below, so please
> read through them carefully and provide feedback if you disagree with
> any of them. If you'd like to view the API documentation online as
> you
> read through the list of changes below, you can do so at
> http://www.cairographics.org/documentation/cairomm/reference/
> **********************
>
> cairomm is a C++ API for the cairo graphics library. For more
> information, see http://cairographics.org/cairomm
>
> A new cairomm release 1.7.0 is now available from:
>
> http://cairographics.org/releases/cairomm-1.7.0.tar.gz
>
> which can be verified with:
>
> http://cairographics.org/releases/cairomm-1.7.0.tar.gz.sha1
> 6d19e71717abf559ffb868423669ba23860fc94b cairomm-1.7.0.tar.gz
>
> http://cairographics.org/releases/cairomm-1.7.0.tar.gz.sha1.asc
> (signed by Jonathon Jongsma)
>
> WHAT'S NEW
> ==========
>
> * API Changes
> * ScaledFont: Change fontface constructor parameter to be a RefPtr
> * This is an API/ABI break, but the old interface was essentially
> unusably
> broken
> * Cairo::Matrix now inherits from cairo_matrix_t
> * Previously, we had used Cairo::Matrix throughout our API, but
> Cairo::Matrix was just a typedef for cairo_matrix_t
> * This could be considered an API change, but the new
> Cairo::Matrix still
> is-a cairo_matrix_t even if it's not exactly a
> cairo_matrix_t. This
> change does not break ABI either, as there are no data members
> or virtual
> functions. So I believe this is a safe change, but feedback is
> appreciated.
> * Provides a much more C++-friendly API for handling matrices
> * Also added a set of standalone 'generator' functions for
> generating
> starting matrices:
> * Cairo::identity_matrix(), rotation_matrix(),
> translation_matrix(),
> scaled_matrix(). This allows for convenient use such as:
> cr->set_matrix(Cairo::identity_matrix());
> rather than something like what was required before:
> Cairo::Matrix identity_matrix;
> cairo_matrix_init_identity(&identity_matrix);
> cr->set_matrix(identity_matrix);
> * Pattern: get/set_matrix() functions were using a cairo_matrix_t
> parameter in
> the API. This is the only place where we used this type and so
> it was
> inconsistent with every other matrix-related API in cairomm.
> Previously
> this wasn't really an issue since cairo_matrix_t and
> Cairo::Matrix
> were
> typedefed to the same type. However, with the the change to
> Cairo::Matrix
> mentioned above, this because a much bigger issue.
> * This is an ABI-compatible change, but it is a minor API change
> that could
> result in some warnings or compile problems in some situations`
> * New API (some of these are new in cairo 1.8, some are older API
> that
> were
> not wrapped in cairomm previously)
> * Add Context::get/set_scaled_font()
> * add Context::show_text_glyphs()
> * add Context::get_font_options()
> * Add Surface::has_show_text_glyphs()
> * Add Surface::get_content() + test
> * Added Surface::get_fallback_resolution()
> * Add ScaledFont::text_to_glyphs()
> * Add PsSurface::get_eps()
> * Add missing Win32Surface API: create_with_ddb(),
> create_with_dib(), and get_image()
> * Add Win32PrintingSurface
> * Vastly improved font support
> * ToyFontFace
> * UserFontFace
> * Add Freetype font support (FtFontFace, etc)
> * Add win32 font support (Win32FontFace, etc)
> * Add quartz font support (QuartzFontFace, etc)
> * Add ScaledFont::get_scale_matrix()
> * Fix API inconsistencies by adding overloads and deprecating old
> versions
> * Deprecated FontFace::extents() in favor of
> FontFace::get_extents()
> * Deprecated FontFace::text_extents() in favor of
> FontFace::get_text_extents()
> * Deprecated FontFace::glyph_extents() in favor of
> FontFace::get_glyph_extents()
> * Add sigc::slot versions of all of the functions that take a
> cairo_write_func_t or cairo_read_func_t
> * This adds a new dependency on libsigc++, but offers a much more
> flexible
> and C++-like solution
> * Old API using cairo_write_func_t / cairo_read_func_t still
> exist, but are
> deprecated in favor of the new API
> * Add a default value for the font_options parameter of the
> ScaledFont constructor
> * Added new macros for determining library version:
> * CAIROMM_MAJOR_VERSION, CAIROMM_MINOR_VERSION, and
> CAIROMM_MICRO_VERSION
> * Add a bunch of extra .pc files for additional functionality
> * like cairo, create convenience .pc files for using some of the
> optional
> features. For example, cairomm-ft-1.0, cairomm-pdf-1.0,
> cairomm-xlib-1.0, etc.
> * Numerous windows build improvements
> * Added a *lot* of automated tests
>
> --
> jonner
> _______________________________________________
> cairo-announce mailing list
> cairo-announce at lists.cairographics.org
> http://lists.cairographics.org/mailman/listinfo/cairo-announce
> _______________________________________________
> cairo mailing list
> cairo at cairographics.org
> http://lists.cairographics.org/mailman/listinfo/cairo
More information about the cairo
mailing list