On 07.12.2014 01:38, Gordon Messmer wrote:
I'm packaging graph-tool for RHEL. I'd like to contribute the spec for distribution so that your users can easily build packages on Red Hat systems, and you can offer them for distribution if you choose to do so.
Thank you for your efforts, and for noticing the problems you mentioned. Are you packaging this just for yourself, or do you intend to distribute it in a repository?
I did notice a couple of problems while packaging.
First, your build scripts appear to install into the general library path(distutils.sysconfig.get_python_lib()) when it should install to the platform-dependent library path (distutils.sysconfig.get_python_lib(1)). According to the manual, I believe you should be using pyexecdir rather than pythondir. http://www.gnu.org/software/automake/manual/html_node/Python.html
Second, numpy headers appear to be included incorrectly.
>>> print numpy.get_include.__doc__
Return the directory that contains the NumPy \*.h header files.
Extension modules that need to compile against NumPy should use this function to locate the appropriate include directory. $ python -c 'import numpy; print "-I" + numpy.get_include()' -I/usr/lib64/python2.7/site-packages/numpy/core/include
However, arrayobject.h is included directly where the correct path should be numpy/arrayobject.h. Because the headers don't include that prefix, the spec file includes a static path for the headers.
These issues are now fixed in the git version. Thanks!
Similarly, the cairomm headers are included without a prefix.
# pkg-config --cflags cairomm-1.0 -I/usr/include/cairomm-1.0 -I/usr/include/cairo -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12
cairommconfig.h is included, when the correct path is cairomm/cairommconfig.h.
For me the cairommconfig.h file is included in /usr/lib/cairomm-1.0/include/cairommconfig.h so, the is no cairomm prefix... Best, Tiago -- Tiago de Paula Peixoto <tiago@skewed.de>