Skip to content
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

depends: fix bitcoin-qt back-compat with older freetype versions at runtime #14348

Merged
merged 1 commit into from Sep 29, 2018

Conversation

Projects
None yet
7 participants
@theuni
Copy link
Member

theuni commented Sep 28, 2018

Fixes #14339. Thanks to @fanquake for confirming.

A few years ago, libfreetype introduced FT_Get_Font_Format() as an alias for FT_Get_X11_Font_Format(), but FT_Get_X11_Font_Format() was kept for abi backwards-compatibility.

Our qt bump to 5.9 introduced a call toFT_Get_Font_Format(). Replace it with FT_Get_X11_Font_Format() in order to remain compatibile with older freetype, which is still used by e.g. Ubuntu Trusty.

Needs 0.17 backport.

depends: fix bitcoin-qt back-compat with older freetype versions at r…
…untime

A few years ago, libfreetype introduced FT_Get_Font_Format() as an alias for
FT_Get_X11_Font_Format(), but FT_Get_X11_Font_Format() was kept for abi
backwards-compatibility.

Our qt bump to 5.9 introduced a call to FT_Get_Font_Format(). Replace it with
FT_Get_X11_Font_Format() in order to remain compatibile with older freetype,
which is still used by e.g. Ubuntu Trusty.
@theuni

This comment has been minimized.

Copy link
Member Author

theuni commented Sep 28, 2018

As an aside, there are several shared libs that we build in order to link qt against, but that we don't actually ship. libfreetype is one of them. We should downgrade those to the minimum viable versions in order to detect these issues at build-time.

@fanquake fanquake added this to the 0.17.0 milestone Sep 28, 2018

@theuni

This comment has been minimized.

Copy link
Member Author

theuni commented Sep 28, 2018

For reference, here's the current implementation in freetype's git:
https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/base/ftfntfmt.c

@laanwj laanwj modified the milestones: 0.17.0, 0.17.1 Sep 28, 2018

@laanwj

This comment has been minimized.

Copy link
Member

laanwj commented Sep 28, 2018

utACK 430bf6c

@luke-jr

This comment has been minimized.

Copy link
Member

luke-jr commented Sep 28, 2018

Would downgrading our freetype depends-build make this automagically work, or cause the Qt build to fail?

@theuni

This comment has been minimized.

Copy link
Member Author

theuni commented Sep 28, 2018

@luke-jr Should do the latter.

It would either fail to compile due to a missing FT_Get_Font_Format() definition, or if that happened to be hard-coded somewhere, it would fail to link due to the unresolved symbol.

@jonasschnelli

This comment has been minimized.

Copy link
Member

jonasschnelli commented Sep 28, 2018

Tested ACK 430bf6c on Ubuntu 14.04.05 via a Gitian Build (https://bitcoin.jonasschnelli.ch/build/811).

@fanquake

This comment has been minimized.

Copy link
Member

fanquake commented Sep 29, 2018

tACK 430bf6c

I tested the changes here: #14339 (comment)

laanwj added a commit that referenced this pull request Sep 29, 2018

depends: fix bitcoin-qt back-compat with older freetype versions at r…
…untime

A few years ago, libfreetype introduced FT_Get_Font_Format() as an alias for
FT_Get_X11_Font_Format(), but FT_Get_X11_Font_Format() was kept for abi
backwards-compatibility.

Our qt bump to 5.9 introduced a call to FT_Get_Font_Format(). Replace it with
FT_Get_X11_Font_Format() in order to remain compatibile with older freetype,
which is still used by e.g. Ubuntu Trusty.

Github-Pull: #14348
Rebased-From: 430bf6c
Tree-SHA512: fd22b824e7251a7975d9e9222eff06d2b04ebf30e13aeccab580596c042b3abe2f62da1f0ef75106b0b171368ee1062ef2f459cfa435aa54826766a9005b80df

@laanwj laanwj removed the Needs backport label Sep 29, 2018

@laanwj laanwj merged commit 430bf6c into bitcoin:master Sep 29, 2018

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

laanwj added a commit that referenced this pull request Sep 29, 2018

Merge #14348: depends: fix bitcoin-qt back-compat with older freetype…
… versions at runtime

430bf6c depends: fix bitcoin-qt back-compat with older freetype versions at runtime (Cory Fields)

Pull request description:

  Fixes #14339. Thanks to @fanquake for confirming.

  A few years ago, libfreetype introduced ```FT_Get_Font_Format()``` as an alias for ```FT_Get_X11_Font_Format()```, but ```FT_Get_X11_Font_Format()``` was kept for abi backwards-compatibility.

  Our qt bump to 5.9 introduced a call to```FT_Get_Font_Format()```. Replace it with ```FT_Get_X11_Font_Format()``` in order to remain compatibile with older freetype, which is still used by e.g. Ubuntu Trusty.

  Needs 0.17 backport.

Tree-SHA512: 89c7b268c7d397c5195f5fb6f27473dbf5bdd6c85f7c6f6b35b49c719df1dbc117e105275f1d31bc2b80fecf5f8a852dc89247c4e4537a788f8e76ad34c72d64
@DrahtBot

This comment has been minimized.

Copy link
Contributor

DrahtBot commented Sep 29, 2018

Gitian builds for commit 0809e68 (master):

Gitian builds for commit b43ca245bfcc8797bafecc07b082c7fac75bbf40 (master and this pull):

uhliksk added a commit to fxtc/fxtc that referenced this pull request Oct 18, 2018

depends: fix bitcoin-qt back-compat with older freetype versions at r…
…untime

A few years ago, libfreetype introduced FT_Get_Font_Format() as an alias for
FT_Get_X11_Font_Format(), but FT_Get_X11_Font_Format() was kept for abi
backwards-compatibility.

Our qt bump to 5.9 introduced a call to FT_Get_Font_Format(). Replace it with
FT_Get_X11_Font_Format() in order to remain compatibile with older freetype,
which is still used by e.g. Ubuntu Trusty.

Github-Pull: bitcoin#14348
Rebased-From: 430bf6c
Tree-SHA512: fd22b824e7251a7975d9e9222eff06d2b04ebf30e13aeccab580596c042b3abe2f62da1f0ef75106b0b171368ee1062ef2f459cfa435aa54826766a9005b80df

HashUnlimited pushed a commit to HashUnlimited/chaincoin that referenced this pull request Oct 25, 2018

depends: fix bitcoin-qt back-compat with older freetype versions at r…
…untime

A few years ago, libfreetype introduced FT_Get_Font_Format() as an alias for
FT_Get_X11_Font_Format(), but FT_Get_X11_Font_Format() was kept for abi
backwards-compatibility.

Our qt bump to 5.9 introduced a call to FT_Get_Font_Format(). Replace it with
FT_Get_X11_Font_Format() in order to remain compatibile with older freetype,
which is still used by e.g. Ubuntu Trusty.

Github-Pull: bitcoin#14348
Rebased-From: 430bf6c
Tree-SHA512: fd22b824e7251a7975d9e9222eff06d2b04ebf30e13aeccab580596c042b3abe2f62da1f0ef75106b0b171368ee1062ef2f459cfa435aa54826766a9005b80df
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.