Re: fontconfig error



On Sun, Aug 27, 2006 at 04:18:19PM -0700, Sergei Steshenko wrote:
> But my point is this:
> 
> 1) the world is a mess;

Definitely.

> 2) to deal with the above mess 'configure' (autoconf, automake) were invented;
> 3) 'configure' is supposed to check all prerequisites - if they are in place,
> 'configure' should complete successfully (0 exit status);
> 4) if 'configure' completes successfully, 'make' should just work.

This of course contradicts with point 1)...

configure typically checks only for a minimum required
version.  It normally suffices because things are backward
compatible.  But since the world is a mess, newer versions
sometimes break dependent programs too.  Usually because the
dependency and the dependent part do not agree on what
compatible means, i.e., what exactly the interfaces are.

> In this case ( https://bugs.freedesktop.org/show_bug.cgi?id=7862 )
> 'configure' did complete successfully, but 'make' failed.

As explained above, below, and in the FreeType document
referred earlier in this thread.

> So, that's why I consider this to be a bug. I.e., I'm taking a tarball, I run
> 'configure', 'configure' does not complain about anything, but 'make' fails.

The bug is the use of internal FreeType headers.

The bug has been fixed and recent fontconfig does not use
them any more.

> I didn't find anything in the tarball about patches.

How can the fontconfig 2.3.2 tarball contain anything about
patches fixing *future* issues?

If they predicted the issues, they would fix the problems
right away.  Putting information about patches someone will
make in the future to fix a problem that does not exist yet
into the source tarball would be a bit strange.

> So, to me it looks like the fontconfig team released a tarball which
> can't be compiled using the documented by the fontconfig team way,

No, you got it all wrong.  Please read the FreeType document
referred earlier in this thread.

1. FreeType used to install internal headers people were not
expected to use in public libraries and programs.

2. However people -- among them fontconfig people -- did use
the internal headers.

3. At the time the fontconfig tarball was made, it compiled
fine with the supported versions of FreeType.

4. FreeType people realized everyone and his dog uses the
internal headers they should not use in public, and removed
them.

5. Now old fontconfig does not build with new FreeType.

Quite obviously, the old fontconfig does not contain any
check for too new FreeType, because if its developers
expected future FreeType to remove the headers they would
not use them in the first place.

> Because the source can't be compiled using the documented by the authors' team
> way, it's a bug - rememebr, 'configure' does not complain and exists with
> 0 status.

Even if there was a zillion of bugs, to fix them in an
already released version you would need a time machine.
Therefore version 2.3.2 will continue to contain the bug.
A newer version fixing the problems was already released.
A patch for the old version exists too.  What else do you
want?

> Regarding the
> 
> http://freetype.sourceforge.net/freetype2/patches/fontconfig-2.3.2-noftinternals.patch
> 
> patch - it appears to affect these files:
> 
> fcfreetype.c
> fcftglue.c
> fcftglue.h
> Makefile.am
> Makefile.in
> 
> files.
> 
> Because of Makefile.am, Makefile.in files - is it correct to assume that the patch
> should be applied before 'configure' is run ?

Of course.  In fact, since it patches Makefile.am, the
question should be `is it necessary to re-run automake?'
Fortunately it consistently patches Makefile.am and
Makefile.in therefore configure is enough.

Yeti


--
Anonyms eat their boogers.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]