Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
GitHub or Developer Community with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
libgdiplus 2.10.9 fails to build with freetype 2.5.1:
./gdiplus-private.h:33:10: fatal error: 'freetype/tttables.h' file not found
1 error generated.
The freetype CHANGES file explains the problem:
CHANGES BETWEEN 2.5 and 2.5.1
II. IMPORTANT CHANGES
- The header file layout has been changed. After installation,
all files are now located in `<prefix>/include/freetype2'.
Applications that use (a) `freetype-config' or FreeType's
`pkg-config' file to get the include directory for the compiler,
and (b) the documented way for header inclusion like
don't need any change to the source code.
It builds if you tweak the path in gdiplus-private.h.
diff --git a/src/gdiplus-private.h b/src/gdiplus-private.h
index 59edf9e..df8fb17 100644
@@ -30,7 +30,7 @@
That is not the correct change to make; this is:
This is also a problem on Debian Jessie and Ubuntu Trusty.
Created attachment 5917 [details]
Ryan Schmidt's patch
The MacPorts patch works nicely on Linux. I'm attaching a copy of it for convenience.
Created attachment 5918 [details]
Ryan Schmidt's patch
Really attaching it this time
This really needs a configure test, and based on the configure test, determine what to include.
I disagree. Ryan Schmidt's patched version of the code works with any version of FreeType, on both Linux and Mac, so no configuration test is needed. (I've tested it.) It's actually the way it should have been coded in the first place, and is in line with what the documentation says to do. Although the FreeType header files have moved location, pkg-config takes care of that.
Note that Brian Reiter's patch shown in his comment is different, and would need a configuration test.
Turns out, we already apply this patch on master
Yeah, I just noticed that and was in the middle of writing a comment to say so!
Debian (and therefore Ubuntu) already uses this in the form of a patch to an
unofficial tarball made from commit 506df13. However, it really would be nice
to have an official release of 2.11 with a tarball. Since Debian Testing is already using 506df13 + this fix, I assume it is stable enough to consider releasing it.