Freetype config recommendation for installing matplotlib from Source

All,

I needed to install matplotlib from source along with all dependencies, and I found a “gotcha” related to how setupext.py discovers freetype2 dependencies.

The default is to use

freetype-config --version

which uses a custom binary provided by freetype to list the version number and linker dependencies. Versions 2.4 and 2.5 of freetype use pkg-config to also provide this information but matplotlib skips it.

setting

PKG_CONFIG_PATH=

or using setup.cfg

basedirlist=

will not fix the problem if your PATH variable points to the freetype-config binary in your system path first.

If freetype-config is no longer necessary for matplotlib to compile, I would recommend using pkg-config to get the linker and compiler flags, so that typical end-user fixes to paths will work as desired.

BTW, a clean install of freetype.2.5.2 will not compile with matplotlib without including a soft link
ln -s /freetype2 /freetype

I think this a problem with the freetype package. They have references to changes in the structure of their includes in version 2.5.1.

Cheers,

–Jim

What version of matplotlib are you using? The present behavior is (supposed to) only use freetype-config if pkg-config isn't available on the path.

https://github.com/matplotlib/matplotlib/pull/1941

Mike

···

On 03/11/2014 05:00 PM, Jim Parker wrote:

All,
  I needed to install matplotlib from source along with all dependencies, and I found a "gotcha" related to how setupext.py discovers freetype2 dependencies.

The default is to use
freetype-config --version

which uses a custom binary provided by freetype to list the version number and linker dependencies. Versions 2.4 and 2.5 of freetype use pkg-config to also provide this information but matplotlib skips it.

setting
PKG_CONFIG_PATH=<path-to-custom-dependency>

or using setup.cfg

basedirlist=<path-to-custom-dependency>

will not fix the problem if your PATH variable points to the freetype-config binary in your system path first.

If freetype-config is no longer necessary for matplotlib to compile, I would recommend using pkg-config to get the linker and compiler flags, so that typical end-user fixes to paths will work as desired.

BTW, a clean install of freetype.2.5.2 will not compile with matplotlib without including a soft link
ln -s <include-dir>/freetype2 <include-dir>/freetype

I think this a problem with the freetype package. They have references to changes in the structure of their includes in version 2.5.1.

Cheers,
--Jim

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech

_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

--
                    _

\/|o _|_ _. _ | | \.__ __|__|_|_ _ _ ._ _
>>(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | |

http://www.droettboom.com

Michael,

I’m using matplotlib-1.3.1, and as mentioned above I manually set PKG_CONFIG_PATH prior to running to ensure the dependencies are found.

The initial output from the matplotlib build shows that it is finding the 2.5.2 version

i.e. output from
python setup.py build is

freetype: yes [version 17.1.11]

Cheers,

–Jim

···

On Wed, Mar 12, 2014 at 8:54 AM, Michael Droettboom <mdroe@…31…> wrote:

  What version of matplotlib are you

using? The present behavior is (supposed to) only use
freetype-config if pkg-config isn’t available on the path.

  [https://github.com/matplotlib/matplotlib/pull/1941](https://github.com/matplotlib/matplotlib/pull/1941)



  Mike




  On 03/11/2014 05:00 PM, Jim Parker wrote:

All,

                      I needed to install matplotlib from source

along with all dependencies, and I found a
“gotcha” related to how setupext.py discovers
freetype2 dependencies.

The default is to use

freetype-config --version

                which uses a custom binary provided by freetype to

list the version number and linker dependencies.
Versions 2.4 and 2.5 of freetype use pkg-config to
also provide this information but matplotlib skips
it.

setting

PKG_CONFIG_PATH=

          or using setup.cfg
        basedirlist=<path-to-custom-dependency>
      will not fix the problem if your PATH variable points to the

freetype-config binary in your system path first.

      If freetype-config is no longer necessary for matplotlib to

compile, I would recommend using pkg-config to get the linker
and compiler flags, so that typical end-user fixes to paths
will work as desired.

      BTW, a clean install of freetype.2.5.2 will not compile

with matplotlib without including a soft link

      ln -s <include-dir>/freetype2

/freetype

      I think this a problem with the freetype package.  They

have references to changes in the structure of their includes
in version 2.5.1.

Cheers,

–Jim

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
[http://p.sf.net/sfu/13534_NeoTech](http://p.sf.net/sfu/13534_NeoTech)
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
[https://lists.sourceforge.net/lists/listinfo/matplotlib-devel](https://lists.sourceforge.net/lists/listinfo/matplotlib-devel)

                   -- _ |\/|o _|_ _. _ | | \.__ __|__|_|_ _ _ ._ _ | ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | | [http://www.droettboom.com](http://www.droettboom.com)

Learn Graph Databases - Download FREE O’Reilly Book

“Graph Databases” is the definitive new guide to graph databases and their

applications. Written by three acclaimed leaders in the field,

this first edition is now available. Download your free book today!

http://p.sf.net/sfu/13534_NeoTech


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel