-
-
Notifications
You must be signed in to change notification settings - Fork 301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix Cairo for Windows #1697
Fix Cairo for Windows #1697
Conversation
Thanks! Would be good to get that in as an important step to get the OSGeo4W tests back... Should probably be backported!? |
This is most likely not a good solution, will need to look at this closer. |
Since Cairo 1.10 the call to |
I'm not sure which library version is being used at present, looking at |
It's now OSGeo4W v2: |
Then I assume the patch is applied to that, to make GRASS compile at all (CAIRO_HAS_FC_FONT is not set there either). |
Sure. Since Nov 2020 without any related reports. I guess fontconfig / cairo is rarely used in GRASS - or GRASS itself is rarely used. |
9f4d83e
to
423830f
Compare
The Cairo text functions work with the patch, only the Fontconfig parts were disabled. That's why the patch and my initial attempt wasn't good enough for fixing this. There are three different situations to account to:
Now I updated this PR to take all 3 cases into account. I have tested with a Cairo 1.16 build with Fontconfig support. |
I branched #1683, rebased it against master and cherry-picked this Cairo fix. Compilation finished successfully:
|
So I take it a missing fontconfig in cairo isn't a problem or restriction for GRASS? |
My understanding is there are more possibilities with fontconfg, e.g. I get:
It shouldn't be a problem though without fontconfig, I believe FreeType2 is looking up available fonts in the limited manner.
and compare with what should be available on your system . |
Thanks @nilason for digging into this! Do you consider this to be ready to be merged? |
Yes, I think this can safely be merged. |
I will leave this open just a couple of days more, I there are no objections I will proceed with merging and back porting. |
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Now I merged to master and backported to 7.8 branch. |
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Changes with Cairo 1.10, lead to three different situations to account to regarding Fontconfig support: - Cairo <1.10 has Fontconfig as a requirement (no CAIRO_HAS_FC_FONT) - Cairo => 1.10 compiled with Fontconfig (CAIRO_HAS_FC_FONT is defined) - Cairo => 1.10 compiled without Fontconfig (CAIRO_HAS_FC_FONT is not defined) This updates to take all cases into consideration.
Windows compilation with OSGeo4W fails on building lib/cairodriver:
This is an attempt to address this.
Based on patch at https://github.com/jef-n/OSGeo4W/blob/master/src/grass/osgeo4w/patch.