[cairo] Unable to compile cairomm 1.7.0 (OS X fink)

Asko Kauppi askok at dnainternet.net
Tue Oct 28 11:50:35 PDT 2008


Oops, that was interesting.

Seems libsigc++ 2.5 is prepared for this:

	http://ardour.sourcearchive.com/documentation/2.5/functor__trait_8h-source.html

#ifdef nil
  /* stupid OS X, defining nil */
#undef nil
#endif


But current fink version is 2.2.3.   I will contact the maintainer to  
make sure (s)he is notified.

Seems fitting the same first aid block in front of including <sigc++/ 
slot.h> in both cairomm/fontface.h and cairomm/surface.h does the same  
trick.

Thanks!

-asko


Murray Cumming kirjoitti 28.10.2008 kello 19:53:

> On Mon, 2008-10-27 at 21:24 +0200, Asko Kauppi wrote:
>> 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
>
> Yes. nil is typedefed to something on MacOS X, so libsigc++ has  
> problems
> there. I am surprised that you could build libsigc++.
>
> Unfortunately, we can't change that identifier to something else  
> without
> breaking ABI (due to mangled C++ names) in other libraries that use
> libsigc++, such as gtkmm.
>
> vmware had this problem (they use gtkmm for the vmware UI). I'm sure
> there's a patch somewhere that they apply, but I can't find it now in
> bugzilla. fink should probably apply the patch.
>
> I've CCed Philip Langdale, who I think was the vmware guy who  
> mentioned
> this. Maybe he knows where to find the bug or the patch.
>
>
> -- 
> murrayc at murrayc.com
> www.murrayc.com
> www.openismus.com
>



More information about the cairo mailing list