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.
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.
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.
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
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)