Hi Michael,
I just tried building mpl from svn at work for the first time since
your changes, and wanted to let you know about a use case that isn't
convered by your checks. We build mpl by passing in -I and other
args, eg in a Makefile:
cd ${SRCDIR}/matplotlib/matplotlib; CC=${CC} CXX=${CXX}
PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
PYTHONPATH=${INSTALL_LOCAL}:/opt/app/g++lib6/python-2.4/lib/python2.4/site-packages/3rdParty/gtk-2.6
python setup.py build_ext -I
/opt/app/gnome-2.6/include:/opt/app/libpng/include:/opt/app/freetype-2.1.10/include:/opt/app/freetype-2.1.10/include/freetype2
-L /opt/app/gnome-2.6/lib:/opt/app/libpng/lib:/opt/app/freetype-2.1.10/lib
-R /opt/app/gnome-2.6/lib:/opt/app/freetype-2.1.10/lib:/opt/app/libpng/lib
build
and your freetype include checker is not finding ft2build.h and
failing, although the build process finds it. I can simply comment
out the return False in the include file checker and get the thing to
build, but I wonder if we can handle this case, or if not perhaps we
should simply warn but not fail.
Also, in the libpng check, I think you put the comma join in the wrong
place. Did you mean
print_message(
"Could not find 'libpng' headers in any of %s" %
', '.join(["'%s'" % x for x in module.include_dirs]))
John Hunter wrote:
Hi Michael,
I just tried building mpl from svn at work for the first time since
your changes, and wanted to let you know about a use case that isn't
convered by your checks. We build mpl by passing in -I and other
args, eg in a Makefile:
cd \{SRCDIR\}/matplotlib/matplotlib; CC={CC} CXX=\{CXX\}
PKG\_CONFIG\_PATH={PKG_CONFIG_PATH}
PYTHONPATH=${INSTALL_LOCAL}:/opt/app/g++lib6/python-2.4/lib/python2.4/site-packages/3rdParty/gtk-2.6
python setup.py build_ext -I
/opt/app/gnome-2.6/include:/opt/app/libpng/include:/opt/app/freetype-2.1.10/include:/opt/app/freetype-2.1.10/include/freetype2
-L /opt/app/gnome-2.6/lib:/opt/app/libpng/lib:/opt/app/freetype-2.1.10/lib
-R /opt/app/gnome-2.6/lib:/opt/app/freetype-2.1.10/lib:/opt/app/libpng/lib
build
and your freetype include checker is not finding ft2build.h and
failing, although the build process finds it. I can simply comment
out the return False in the include file checker and get the thing to
build, but I wonder if we can handle this case, or if not perhaps we
should simply warn but not fail.
Ah, I see. Yes, I'll turn the check into a warning. My main motivation was to make it more obvious why the build was failing when freetype couldn't be found (and to use pkg-config to look for freetype2 when possible). But you're right, you can't cover all the cases that way.
Also, in the libpng check, I think you put the comma join in the wrong
place. Did you mean
print_message(
"Could not find 'libpng' headers in any of %s" %
', '.join(["'%s'" % x for x in module.include_dirs]))
Yes, thanks.
Cheers,
Mike