On Tue, Dec 09, 2003 at 07:26:06PM +0100, Grzegorz Nieweglowski wrote:
>Stefan Dirsch wrote:
>> I had the same problem and reverted one line of the change by using
>> the following patch.
>> (...)
>
>Thanks, but it didn't work for me. However, I managed to solve it on my box
>by adding a
>
>#include <freetype/config/ftheader.h>
>
>to all "troublemaking" files.
>
>I looked at the 4.3.99.15-4.3.99.16.diff.bz2 patch. The idea behind that
>patch was correct, removing clutter and really trying to push freetype
>references out of the local tree, replacing '#include "foo"' with
>'#include <FT_FOO>'. But I did noticed something else: there really
>shouldn't be ANY need for me to add my own include: See, the patch
>always added a

The patch is necessary for building against freetype 2.1.7, because
changes in header file names were hidden behind these macros.

>#include <ft2build.h>
>
>And my /usr/include/ft2build.h looks like this:
>
>       #ifndef __FT2_BUILD_UNIX_H__
>       #define __FT2_BUILD_UNIX_H__
>       #include <freetype/config/ftheader.h>
>       #endif /* __FT2_BUILD_UNIX_H__ */
>
>So it should automatically include the file freetype/config/ftheader.h.
>Unless __FT2_BUILD_UNIX_H__ was already defined.
>
>*Or* the compiler directive '#include <ft2build.h>' wasn't picking up the
>/usr/include/ft2build.h file...
>
>So I checked the access time on /usr/include/ft2build.h...
>
>...and I was right. Nothing had accessed it.
>
>My conclusion: I'm using gcc-3.2.3. And that is probably the key to the
>whole mess. Newer releases of gcc treat the '-I' command line options
>a bit differently now, the include directories are searched in
>a different order than they would have been searched with earlier
>versions of gcc. And this bad, bad thing that happens when you try to
>use an external freetype is that gcc (at least my gcc) picks some
>includes from /usr/include/freetype2, and some from xc/extras/freetype2.

My first question is, do you have a clean 4.3.99.901 tree?  If you
extracted the source tarball on top of an older one, some files
that have since been deleted will still be there and might be
affecting your build.

The next question is, is '-I/usr/include -I/usr/include/freetype2'
on the gcc command lines as it should be?  Can you send the actual
build log extract for the failing part?

Also, check the depend stuff in the Makefile that gets created to
see which "ft2build.h" file it thinks is getting used.

>I found that I really don't even need any patches. All I have to do is
>remove all ft2build.h files from the xc tree and it will build nicely.
>So it is obviously something related to the order in which my gcc picks
>up header files. Because no-one else reported this, I guess it's
>a gcc-version-incompatibility thing.
>
>But that's the way it goes with newer tools, for example twm won't
>compile with my flex-2.5.31. Compilation fails with
>
><stdout>: In function `yylex':
><stdout>:837: error: `yy_prev_more_offset' undeclared (first use in this
>function)
><stdout>:837: error: (Each undeclared identifier is reported only once
><stdout>:837: error: for each function it appears in.)
>
>not that I care, I don't need twm, but I think that xfree86 developers
>really could update their devel tools, some of us users are maybe using
>more up-to-date tools and XFree86 just won't compile for us :/

If you can figure out what the problem is and send a patch for it,
that would be most welcome.  It has to work with older versions of
flex, as well as lex too.

David
-- 
David Dawes
developer/release engineer                      The XFree86 Project
www.XFree86.org/~dawes
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to