[GRASS5] Without FreeType

I have 5.7 configured without FreeType and compilation fails in grass51/display/drivers/lib:

Text3.c:14:22: ft2build.h: No such file or directory
Text3.c:15:10: #include expects "FILENAME" or <FILENAME>
Text3.c:25: parse error before '*' token

Radim

Radim Blazek wrote:

I have 5.7 configured without FreeType and compilation fails in
grass51/display/drivers/lib:

Text3.c:14:22: ft2build.h: No such file or directory
Text3.c:15:10: #include expects "FILENAME" or <FILENAME>
Text3.c:25: parse error before '*' token

One consequence of the recent updates to the display drivers is that
FreeType is no longer an optional dependency. If you don't have it,
you can't build the display drivers.

The --with[out]-freetype option only affects d.text.freetype.

--
Glynn Clements <glynn@gclements.plus.com>

On Fri, Nov 05, 2004 at 10:35:22AM +0100, Radim Blazek wrote:

I have 5.7 configured without FreeType and compilation fails in
grass51/display/drivers/lib:

Text3.c:14:22: ft2build.h: No such file or directory
Text3.c:15:10: #include expects "FILENAME" or <FILENAME>
Text3.c:25: parse error before '*' token

Radim

Currently I try to make the Freetype support optional.
However, I have a mysterious problem (for me):

configure ... --without-freetype

cd cvsgrass57/display/drivers/lib
make clean
make
...
ranlib /hardmnt/thuille0/ssi/software/cvsgrass57/dist.i686-pc-linux-gnu/lib/libgrass_driver.a

#check where Freetype is present:
grep -l FT_ *
Text3.c

# check if it was compiled:
ls OBJ.i686-pc-linux-gnu/Text*
OBJ.i686-pc-linux-gnu/Text2.o OBJ.i686-pc-linux-gnu/Text.o OBJ.i686-pc-linux-gnu/Text_size.o
# -> no, perfect. BUT:

nm /hardmnt/thuille0/ssi/software/cvsgrass57/dist.i686-pc-linux-gnu/lib/libgrass_driver.a | grep FT
         U FT_Done_Face
         U FT_Done_FreeType
         U FT_Init_FreeType
         U FT_Load_Char
         U FT_New_Face
         U FT_Render_Glyph
         U FT_Set_Char_Size
         U FT_Set_Transform

How come?

Getting this cleaned up I could fix the XDRIVER (maybe).
Any help appreciated...

Markus

Markus Neteler wrote:

Currently I try to make the Freetype support optional.
However, I have a mysterious problem (for me):

configure ... --without-freetype

cd cvsgrass57/display/drivers/lib
make clean
make
...
ranlib /hardmnt/thuille0/ssi/software/cvsgrass57/dist.i686-pc-linux-gnu/lib/libgrass_driver.a

#check where Freetype is present:
grep -l FT_ *
Text3.c

# check if it was compiled:
ls OBJ.i686-pc-linux-gnu/Text*
OBJ.i686-pc-linux-gnu/Text2.o OBJ.i686-pc-linux-gnu/Text.o OBJ.i686-pc-linux-gnu/Text_size.o
# -> no, perfect. BUT:

nm /hardmnt/thuille0/ssi/software/cvsgrass57/dist.i686-pc-linux-gnu/lib/libgrass_driver.a | grep FT
         U FT_Done_Face
         U FT_Done_FreeType
         U FT_Init_FreeType
         U FT_Load_Char
         U FT_New_Face
         U FT_Render_Glyph
         U FT_Set_Char_Size
         U FT_Set_Transform

How come?

Did you run "make clean" after making the changes?

The build rule for static libraries typically uses "ar cr ...", which
will create the library if it doesn't already exist, then insert all
of the object files into the library, replacing any copies which
already exist. It doesn't delete any existing library.

If there was an old version of the library lying around, it will still
contain Text3.o (you can check with "ar t ..."). However, that
shouldn't matter; object files in an archive which aren't required in
order to satisfy dependencies won't be included in the executable.

--
Glynn Clements <glynn@gclements.plus.com>