[GRASS-dev] [GRASS GIS] #1884: grass7 - cairodriver fails to detect right architecture - OSX 10.8

#1884: grass7 - cairodriver fails to detect right architecture - OSX 10.8
-----------------------+----------------------------------------------------
Reporter: epifanio | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 7.0.0
Component: Compiling | Version: svn-trunk
Keywords: cairo | Platform: MacOSX
      Cpu: OSX/Intel |
-----------------------+----------------------------------------------------
Trying to build grass7 with cairo enabled, the build fails with the
following error :

epi:grass_trunk epi$ cd /usr/local/src/grass_trunk/lib/cairodriver
epi:cairodriver epi$ make
cc -dynamiclib -compatibility_version 7.0 -current_version 7.0
-install_name
/usr/local/grass-7.0.svn/lib/libgrass_cairodriver.7.0.svn.dylib -o
/usr/local/src/grass_trunk/dist.x86_64-apple-
darwin12.2.0/lib/libgrass_cairodriver.7.0.svn.dylib
-L/usr/local/src/grass_trunk/dist.x86_64-apple-darwin12.2.0/lib
-L/usr/local/src/grass_trunk/dist.x86_64-apple-darwin12.2.0/lib
OBJ.x86_64-apple-darwin12.2.0/Box.o OBJ.x86_64-apple-darwin12.2.0/Color.o
OBJ.x86_64-apple-darwin12.2.0/Draw.o OBJ.x86_64-apple-
darwin12.2.0/Draw_bitmap.o OBJ.x86_64-apple-darwin12.2.0/Driver.o
OBJ.x86_64-apple-darwin12.2.0/Erase.o OBJ.x86_64-apple-
darwin12.2.0/Graph.o OBJ.x86_64-apple-darwin12.2.0/Line_width.o OBJ.x86_64
-apple-darwin12.2.0/Raster.o OBJ.x86_64-apple-darwin12.2.0/Set_window.o
OBJ.x86_64-apple-darwin12.2.0/Text.o OBJ.x86_64-apple-darwin12.2.0/read.o
OBJ.x86_64-apple-darwin12.2.0/read_bmp.o OBJ.x86_64-apple-
darwin12.2.0/read_ppm.o OBJ.x86_64-apple-darwin12.2.0/read_xid.o
OBJ.x86_64-apple-darwin12.2.0/write.o OBJ.x86_64-apple-
darwin12.2.0/write_bmp.o OBJ.x86_64-apple-darwin12.2.0/write_ppm.o
OBJ.x86_64-apple-darwin12.2.0/write_xid.o -lgrass_driver.7.0.svn
-lgrass_gis.7.0.svn -L/usr/local/Cellar/cairo/1.12.12/lib -lcairo
-liconv
Undefined symbols for architecture x86_64:
   "_FcConfigGetCurrent", referenced from:
       _Cairo_set_font in Text.o
   "_FcConfigSubstitute", referenced from:
       _Cairo_set_font in Text.o
   "_FcDefaultSubstitute", referenced from:
       _Cairo_set_font in Text.o
   "_FcFontList", referenced from:
       _font_list_fc in Text.o
   "_FcFontMatch", referenced from:
       _Cairo_set_font in Text.o
   "_FcFontSetDestroy", referenced from:
       _font_list_fc in Text.o
   "_FcInit", referenced from:
       _font_list_fc in Text.o
       _Cairo_set_font in Text.o
   "_FcNameParse", referenced from:
       _Cairo_set_font in Text.o
   "_FcObjectSetBuild", referenced from:
       _font_list_fc in Text.o
   "_FcObjectSetDestroy", referenced from:
       _font_list_fc in Text.o
   "_FcPatternCreate", referenced from:
       _font_list_fc in Text.o
   "_FcPatternDestroy", referenced from:
       _font_list_fc in Text.o
   "_FcPatternGetString", referenced from:
       _font_list_fc in Text.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make: *** [/usr/local/src/grass_trunk/dist.x86_64-apple-
darwin12.2.0/lib/libgrass_cairodriver.7.0.svn.dylib] Error 1
epi:cairodriver epi$

this is not correct, the cairo lib installed on my machine are built as
universal in both arch 32 and 64 bit.

lipo -info /usr/local/Cellar/cairo/1.12.12/lib/cairo/libcairo-
trace.0.dylib /usr/local/Cellar/cairo/1.12.12/lib/libcairo-gobject.2.dylib
/usr/local/Cellar/cairo/1.12.12/lib/libcairo-script-interpreter.2.dylib
/usr/local/Cellar/cairo/1.12.12/lib/libcairo.2.dylib
Architectures in the fat file: /usr/local/Cellar/cairo/1.12.12/lib/cairo
/libcairo-trace.0.dylib are: i386 x86_64
Architectures in the fat file: /usr/local/Cellar/cairo/1.12.12/lib
/libcairo-gobject.2.dylib are: i386 x86_64
Architectures in the fat file: /usr/local/Cellar/cairo/1.12.12/lib
/libcairo-script-interpreter.2.dylib are: i386 x86_64
Architectures in the fat file:
/usr/local/Cellar/cairo/1.12.12/lib/libcairo.2.dylib are: i386 x86_64
epi:~ epi$

/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cache: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cache (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cache (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cat: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cat (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cat (for architecture x86_64):
Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-list: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-list (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-list (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-match: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-match (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-match (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-pattern: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-pattern (for architecture
i386): Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-pattern (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-query: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-query (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-query (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-scan: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-scan (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-scan (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-validate: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-validate (for architecture
i386): Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-validate (for architecture
x86_64):Mach-O 64-bit executable x86_64

suspect :

seems that the GRASS Configure is not storing the fontconfig linking in
platform.make so it doesn't get into the cairo driver compilation.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1884&gt;
GRASS GIS <http://grass.osgeo.org>

#1884: grass7 - cairodriver fails to detect right architecture - OSX 10.8
-----------------------+----------------------------------------------------
Reporter: epifanio | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 7.0.0
Component: Compiling | Version: svn-trunk
Keywords: cairo | Platform: MacOSX
      Cpu: OSX/Intel |
-----------------------+----------------------------------------------------

Old description:

Trying to build grass7 with cairo enabled, the build fails with the
following error :

epi:grass_trunk epi$ cd /usr/local/src/grass_trunk/lib/cairodriver
epi:cairodriver epi$ make
cc -dynamiclib -compatibility_version 7.0 -current_version 7.0
-install_name
/usr/local/grass-7.0.svn/lib/libgrass_cairodriver.7.0.svn.dylib -o
/usr/local/src/grass_trunk/dist.x86_64-apple-
darwin12.2.0/lib/libgrass_cairodriver.7.0.svn.dylib
-L/usr/local/src/grass_trunk/dist.x86_64-apple-darwin12.2.0/lib
-L/usr/local/src/grass_trunk/dist.x86_64-apple-darwin12.2.0/lib
OBJ.x86_64-apple-darwin12.2.0/Box.o OBJ.x86_64-apple-darwin12.2.0/Color.o
OBJ.x86_64-apple-darwin12.2.0/Draw.o OBJ.x86_64-apple-
darwin12.2.0/Draw_bitmap.o OBJ.x86_64-apple-darwin12.2.0/Driver.o
OBJ.x86_64-apple-darwin12.2.0/Erase.o OBJ.x86_64-apple-
darwin12.2.0/Graph.o OBJ.x86_64-apple-darwin12.2.0/Line_width.o
OBJ.x86_64-apple-darwin12.2.0/Raster.o OBJ.x86_64-apple-
darwin12.2.0/Set_window.o OBJ.x86_64-apple-darwin12.2.0/Text.o OBJ.x86_64
-apple-darwin12.2.0/read.o OBJ.x86_64-apple-darwin12.2.0/read_bmp.o
OBJ.x86_64-apple-darwin12.2.0/read_ppm.o OBJ.x86_64-apple-
darwin12.2.0/read_xid.o OBJ.x86_64-apple-darwin12.2.0/write.o OBJ.x86_64
-apple-darwin12.2.0/write_bmp.o OBJ.x86_64-apple-darwin12.2.0/write_ppm.o
OBJ.x86_64-apple-darwin12.2.0/write_xid.o -lgrass_driver.7.0.svn
-lgrass_gis.7.0.svn -L/usr/local/Cellar/cairo/1.12.12/lib -lcairo
-liconv
Undefined symbols for architecture x86_64:
  "_FcConfigGetCurrent", referenced from:
      _Cairo_set_font in Text.o
  "_FcConfigSubstitute", referenced from:
      _Cairo_set_font in Text.o
  "_FcDefaultSubstitute", referenced from:
      _Cairo_set_font in Text.o
  "_FcFontList", referenced from:
      _font_list_fc in Text.o
  "_FcFontMatch", referenced from:
      _Cairo_set_font in Text.o
  "_FcFontSetDestroy", referenced from:
      _font_list_fc in Text.o
  "_FcInit", referenced from:
      _font_list_fc in Text.o
      _Cairo_set_font in Text.o
  "_FcNameParse", referenced from:
      _Cairo_set_font in Text.o
  "_FcObjectSetBuild", referenced from:
      _font_list_fc in Text.o
  "_FcObjectSetDestroy", referenced from:
      _font_list_fc in Text.o
  "_FcPatternCreate", referenced from:
      _font_list_fc in Text.o
  "_FcPatternDestroy", referenced from:
      _font_list_fc in Text.o
  "_FcPatternGetString", referenced from:
      _font_list_fc in Text.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make: *** [/usr/local/src/grass_trunk/dist.x86_64-apple-
darwin12.2.0/lib/libgrass_cairodriver.7.0.svn.dylib] Error 1
epi:cairodriver epi$

this is not correct, the cairo lib installed on my machine are built as
universal in both arch 32 and 64 bit.

lipo -info /usr/local/Cellar/cairo/1.12.12/lib/cairo/libcairo-
trace.0.dylib /usr/local/Cellar/cairo/1.12.12/lib/libcairo-
gobject.2.dylib /usr/local/Cellar/cairo/1.12.12/lib/libcairo-script-
interpreter.2.dylib /usr/local/Cellar/cairo/1.12.12/lib/libcairo.2.dylib
Architectures in the fat file: /usr/local/Cellar/cairo/1.12.12/lib/cairo
/libcairo-trace.0.dylib are: i386 x86_64
Architectures in the fat file: /usr/local/Cellar/cairo/1.12.12/lib
/libcairo-gobject.2.dylib are: i386 x86_64
Architectures in the fat file: /usr/local/Cellar/cairo/1.12.12/lib
/libcairo-script-interpreter.2.dylib are: i386 x86_64
Architectures in the fat file:
/usr/local/Cellar/cairo/1.12.12/lib/libcairo.2.dylib are: i386 x86_64
epi:~ epi$

/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cache: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cache (for architecture
i386): Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cache (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cat: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cat (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cat (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-list: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-list (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-list (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-match: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-match (for architecture
i386): Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-match (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-pattern: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-pattern (for architecture
i386): Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-pattern (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-query: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-query (for architecture
i386): Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-query (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-scan: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-scan (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-scan (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-validate: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-validate (for architecture
i386): Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-validate (for architecture
x86_64):Mach-O 64-bit executable x86_64

suspect :

seems that the GRASS Configure is not storing the fontconfig linking in
platform.make so it doesn't get into the cairo driver compilation.

New description:

Trying to build grass7 with cairo enabled, the build fails with the
following error :

{{{
epi:grass_trunk epi$ cd /usr/local/src/grass_trunk/lib/cairodriver
epi:cairodriver epi$ make
cc -dynamiclib -compatibility_version 7.0 -current_version 7.0
-install_name
/usr/local/grass-7.0.svn/lib/libgrass_cairodriver.7.0.svn.dylib -o
/usr/local/src/grass_trunk/dist.x86_64-apple-
darwin12.2.0/lib/libgrass_cairodriver.7.0.svn.dylib
-L/usr/local/src/grass_trunk/dist.x86_64-apple-darwin12.2.0/lib
-L/usr/local/src/grass_trunk/dist.x86_64-apple-darwin12.2.0/lib
OBJ.x86_64-apple-darwin12.2.0/Box.o OBJ.x86_64-apple-darwin12.2.0/Color.o
OBJ.x86_64-apple-darwin12.2.0/Draw.o OBJ.x86_64-apple-
darwin12.2.0/Draw_bitmap.o OBJ.x86_64-apple-darwin12.2.0/Driver.o
OBJ.x86_64-apple-darwin12.2.0/Erase.o OBJ.x86_64-apple-
darwin12.2.0/Graph.o OBJ.x86_64-apple-darwin12.2.0/Line_width.o OBJ.x86_64
-apple-darwin12.2.0/Raster.o OBJ.x86_64-apple-darwin12.2.0/Set_window.o
OBJ.x86_64-apple-darwin12.2.0/Text.o OBJ.x86_64-apple-darwin12.2.0/read.o
OBJ.x86_64-apple-darwin12.2.0/read_bmp.o OBJ.x86_64-apple-
darwin12.2.0/read_ppm.o OBJ.x86_64-apple-darwin12.2.0/read_xid.o
OBJ.x86_64-apple-darwin12.2.0/write.o OBJ.x86_64-apple-
darwin12.2.0/write_bmp.o OBJ.x86_64-apple-darwin12.2.0/write_ppm.o
OBJ.x86_64-apple-darwin12.2.0/write_xid.o -lgrass_driver.7.0.svn
-lgrass_gis.7.0.svn -L/usr/local/Cellar/cairo/1.12.12/lib -lcairo
-liconv
Undefined symbols for architecture x86_64:
   "_FcConfigGetCurrent", referenced from:
       _Cairo_set_font in Text.o
   "_FcConfigSubstitute", referenced from:
       _Cairo_set_font in Text.o
   "_FcDefaultSubstitute", referenced from:
       _Cairo_set_font in Text.o
   "_FcFontList", referenced from:
       _font_list_fc in Text.o
   "_FcFontMatch", referenced from:
       _Cairo_set_font in Text.o
   "_FcFontSetDestroy", referenced from:
       _font_list_fc in Text.o
   "_FcInit", referenced from:
       _font_list_fc in Text.o
       _Cairo_set_font in Text.o
   "_FcNameParse", referenced from:
       _Cairo_set_font in Text.o
   "_FcObjectSetBuild", referenced from:
       _font_list_fc in Text.o
   "_FcObjectSetDestroy", referenced from:
       _font_list_fc in Text.o
   "_FcPatternCreate", referenced from:
       _font_list_fc in Text.o
   "_FcPatternDestroy", referenced from:
       _font_list_fc in Text.o
   "_FcPatternGetString", referenced from:
       _font_list_fc in Text.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make: *** [/usr/local/src/grass_trunk/dist.x86_64-apple-
darwin12.2.0/lib/libgrass_cairodriver.7.0.svn.dylib] Error 1
epi:cairodriver epi$
}}}

this is not correct, the cairo lib installed on my machine are built as
universal in both arch 32 and 64 bit.

{{{
lipo -info /usr/local/Cellar/cairo/1.12.12/lib/cairo/libcairo-
trace.0.dylib /usr/local/Cellar/cairo/1.12.12/lib/libcairo-gobject.2.dylib
/usr/local/Cellar/cairo/1.12.12/lib/libcairo-script-interpreter.2.dylib
/usr/local/Cellar/cairo/1.12.12/lib/libcairo.2.dylib
Architectures in the fat file: /usr/local/Cellar/cairo/1.12.12/lib/cairo
/libcairo-trace.0.dylib are: i386 x86_64
Architectures in the fat file: /usr/local/Cellar/cairo/1.12.12/lib
/libcairo-gobject.2.dylib are: i386 x86_64
Architectures in the fat file: /usr/local/Cellar/cairo/1.12.12/lib
/libcairo-script-interpreter.2.dylib are: i386 x86_64
Architectures in the fat file:
/usr/local/Cellar/cairo/1.12.12/lib/libcairo.2.dylib are: i386 x86_64
epi:~ epi$

/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cache: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cache (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cache (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cat: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cat (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-cat (for architecture x86_64):
Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-list: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-list (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-list (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-match: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-match (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-match (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-pattern: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-pattern (for architecture
i386): Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-pattern (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-query: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-query (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-query (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-scan: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-scan (for architecture i386):
Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-scan (for architecture
x86_64): Mach-O 64-bit executable x86_64
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-validate: Mach-O universal
binary with 2 architectures
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-validate (for architecture
i386): Mach-O executable i386
/usr/local/Cellar/fontconfig/2.10.91/bin/fc-validate (for architecture
x86_64):Mach-O 64-bit executable x86_64
}}}

suspect :

seems that the GRASS Configure is not storing the fontconfig linking in
platform.make so it doesn't get into the cairo driver compilation.

--

Comment(by hamish):

added !{{{}}} for <code></code> readability

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1884#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>

#1884: grass7 - cairodriver fails to detect right architecture - OSX 10.8
-----------------------+----------------------------------------------------
Reporter: epifanio | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 7.0.0
Component: Compiling | Version: svn-trunk
Keywords: cairo | Platform: MacOSX
      Cpu: OSX/Intel |
-----------------------+----------------------------------------------------

Comment(by glynn):

Replying to [ticket:1884 epifanio]:

> seems that the GRASS Configure is not storing the fontconfig linking in
platform.make so it doesn't get into the cairo driver compilation.

configure sets CAIROLIB to whatever it gets from
{{{
pkg-config --libs cairo-ft cairo-fc cairo-pdf cairo-ps cairo-svg
}}}
plus anything added manually via the --with-cairo-libs and/or --with-
cairo-ldflags switches.

However: lib/cairodriver uses fontconfig directly, as well as via cairo.
The above list of undefined symbols is exactly the set of fontconfig
functions which lib/cairodriver/Text.c references directly.

So we probably need to add "fontconfig" to the pkg-config command. Try
r55040.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1884#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>

#1884: grass7 - cairodriver fails to detect right architecture - OSX 10.8
------------------------+---------------------------------------------------
  Reporter: epifanio | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: major | Milestone: 7.0.0
Component: Compiling | Version: svn-trunk
Resolution: fixed | Keywords: cairo
  Platform: MacOSX | Cpu: OSX/Intel
------------------------+---------------------------------------------------
Changes (by epifanio):

  * status: new => closed
  * resolution: => fixed

Comment:

Replying to [comment:2 glynn]:
> Replying to [ticket:1884 epifanio]:
>
>
> So we probably need to add "fontconfig" to the pkg-config command. Try
r55040.
>

This fixed the error, now cairodriver build fine without errors
Configure asked about missed cairo includes, fixed with :

{{{
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/X11/lib/pkgconfig/
}}}

Now WxGrass start fine after commenting this line :

{{{
#72 if not os.getenv("GRASS_WXBUNDLED"):
#73 CheckForWx()
}}}

in :
[http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/core/globalvar.py#L72]

and i'm able to display vector data in wxgui (using 2.9 cocoa)

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1884#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>