[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft] Errors when compiling freetype 2.3.5 on tru64 5.1b
From: |
Werner LEMBERG |
Subject: |
Re: [ft] Errors when compiling freetype 2.3.5 on tru64 5.1b |
Date: |
Sun, 04 May 2008 11:10:49 +0200 (CEST) |
> > cpp -I/usr/local/include \
> > -I/usr/local/freetype2/freetype-2.3.5/objs \
> > -I./builds/unix \
> > -I/usr/local/freetype2/freetype-2.3.5/include \
> > -DFT_CONFIG_OPTION_SYSTEM_ZLIB \
> > "-DFT_CONFIG_CONFIG_H=<ftconfig.h>" \
> > -DFT2_BUILD_LIBRARY \
> > "-DFT_CONFIG_MODULES_H=<ftmodule.h>" \
> > builds/unix/ftsystem.c \
> > -DPIC \
> > > ftsystem.cpp
> >
> > Inspect this file and check where `FT_Int' is defined. There should
> > be a line
> >
> > typedef signed int FT_Int;
> >
> > be defined before any usage of it.
>
> It is defined and before being used.
No, it isn't! The first occurrence of FT_Int is in line 7960:
extern FT_Int
FT_Trace_Get_Count( void );
but FT_Int is defined in line 10470:
typedef signed int FT_Int;
I'm now sure that there's a severe mangling of FreeType 1 and
FreeType 2 header files: If you do a `grep /usr/local/', you see this:
# 1 "/usr/local/include/ft2build.h"
# 1 "/usr/local/freetype2/freetype-2.3.5/include/freetype/config/ftheader.h"
# 1 "/usr/local/freetype2/freetype-2.3.5/include/freetype/internal/internal.h"
# 723 "/usr/local/freetype2/freetype-2.3.5/include/freetype/config/ftheader.h"
# 57 "/usr/local/include/ft2build.h"
# 1 "/usr/local/freetype2/freetype-2.3.5/include/freetype/config/ftoption.h"
# 1 "/usr/local/freetype2/freetype-2.3.5/include/freetype/config/ftstdlib.h"
# 1 "/usr/local/include/standards.h"
# 56 "/usr/local/include/standards.h"
# 37 "/usr/local/freetype2/freetype-2.3.5/include/freetype/config/ftstdlib.h"
# 67 "/usr/local/freetype2/freetype-2.3.5/include/freetype/config/ftstdlib.h"
# 82 "/usr/local/freetype2/freetype-2.3.5/include/freetype/config/ftstdlib.h"
# 106 "/usr/local/freetype2/freetype-2.3.5/include/freetype/config/ftstdlib.h"
# 124 "/usr/local/freetype2/freetype-2.3.5/include/freetype/config/ftstdlib.h"
# 162 "/usr/local/freetype2/freetype-2.3.5/include/freetype/config/ftstdlib.h"
# 175 "/usr/local/freetype2/freetype-2.3.5/include/freetype/config/ftstdlib.h"
# 1 "/usr/local/freetype2/freetype-2.3.5/include/freetype/internal/ftdebug.h"
# 1 "/usr/local/include/freetype/freetype.h"
# 1 "/usr/local/include/freetype/fterrid.h"
# 34 "/usr/local/include/freetype/freetype.h"
# 1 "/usr/local/include/freetype/ftnameid.h"
# 35 "/usr/local/include/freetype/freetype.h"
The problematic line is after inclusion of `ftdebug.h': This header
file loads FT_FREETYPE_H, which expands to <freetype/freetype.h>, and
since you have `/usr/local/include' before
`/usr/local/freetype2/freetype-2.3.5/include', the wrong `freetype.h'
(from FreeType 1) gets loaded.
With other words, `-I/usr/local/include' must come after
`-I/usr/local/freetype2/freetype-2.3.5/include'.
Werner