[GRASS-dev] odd configure error on MacOS X

Dylan Beaudette dylan.beaudette at gmail.com
Fri Jul 29 04:41:55 EDT 2011


On Fri, Jul 29, 2011 at 8:34 AM, Dylan Beaudette
<dylan.beaudette at gmail.com> wrote:
> On Thu, Jul 28, 2011 at 9:00 PM, Glynn Clements
> <glynn at gclements.plus.com> wrote:
>>
>> Dylan Beaudette wrote:
>>
>>> With this morning's SVN from GRASS 6.5 and 7, I am getting a strange
>>> error on the configure step:
>>
>>> checking for cairo_create... no
>>> configure: error: *** Unable to locate .
>>>                                                   ^^^^^ <- this is a
>>> strange error!
>>>
>>> Any ideas?
>>
>> The error message should have been "Unable to locate cairo_create";
>> this has been fixed for 7.0 with r47301.
>>
>> This doesn't affect the fact that you're getting the error, just the
>> message. Check the bottom of config.log for clues as to why the test
>> failed.
>>
>> --
>> Glynn Clements <glynn at gclements.plus.com>
>>
>
> Thanks Glynn.
> Here is the relevant section from config.log:
>
> ------------------------------------------------------------------------------------------------
> configure:12938: checking for cairo_create
> configure:12964: gcc -o conftest -g -O2   -arch i386    -I/usr/include
>   -arch i386   -L/usr/lib conftest.c  -L/sw/lib -
> lcairo   -L/sw/lib -lfontconfig  1>&5
> ld: library not found for -lfontconfig
> collect2: ld returned 1 exit status
> configure: failed program was:
> #line 12941 "configure"
> #include "confdefs.h"
> /* System header to define __stub macros and hopefully few prototypes,
>    which can conflict with char cairo_create(); below.  */
> #include <assert.h>
> /* Override any gcc2 internal prototype to avoid an error.  */
> /* We use char because int might match the return type of a gcc2
>    builtin and then its argument prototype would still apply.  */
> char cairo_create();
>
> int main() {
>
> /* The GNU C library defines this for functions which it implements
>    to always fail with ENOSYS.  Some functions are actually named
>    something starting with __ and the normal name is an alias.  */
> #if defined (__stub_cairo_create) || defined (__stub___cairo_create)
> choke me
> #else
> cairo_create();
> #endif
>
> ; return 0; }
> ------------------------------------------------------------------------------------------------
>
> ... updated to latest SVN, and now configure outputs a more useful
> error message:
>
> configure: error: *** Unable to locate cairo_create.
>
> ... removing '--with-cairo-ldflags=-lfontconfig' allows configure to
> complete, and running make results in:
>
> gcc -I/usr/include -g -O2   -arch i386 -fno-common -I/usr/include
> -I/Users/dylan/src/grass_trunk/dist.i386-apple-darwin9.8.0/include
> -I/Users/dylan/src/grass_trunk/dist.i386-apple-darwin9.8.0/include
> -D_FILE_OFFSET_BITS=64 -I../driver -I/usr/X11/include/libpng12
> -I/usr/X11/include -I/usr/X11/include/freetype2 -I/sw/include
> -I/sw/include/cairo   -I/sw/include/cairo  -I/usr/X11/include
> -DUSE_X11=1 -DPACKAGE=\""grasslibs"\"
> -I/Users/dylan/src/grass_trunk/dist.i386-apple-darwin9.8.0/include
> -I/Users/dylan/src/grass_trunk/dist.i386-apple-darwin9.8.0/include -o
> OBJ.i386-apple-darwin9.8.0/Graph.o -c Graph.c
> Graph.c:19:23: error: cairo-svg.h: No such file or directory
>
> ... look like I need to do some more homework.
>
> Thanks,
> Dylan
>

It seems more complicated that I thought. After fixing the includes,
to use the KingChaos Frameworks, recompiling results in:

In file included from Graph.c:19:
/Library/Frameworks/cairo.framework/unix/include/cairo/cairo-svg.h:79:3:
error: #error Cairo was not compiled with support for the svg backend
make: *** [OBJ.i386-apple-darwin9.8.0/Graph.o] Error 1

Can SVG be disabled somehow?

Dylan


More information about the grass-dev mailing list