fspica / pylibtiff

Automatically exported from code.google.com/p/pylibtiff
Other
0 stars 0 forks source link

bittools extension fails to compile on Fedora 18 (python 2.7.3, gcc 4.7.2, numpy 1.7.0) #23

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I checked out rev. 89 from svn and attempted to build from source in the usual 
way (python setup.py build / sudo python setup.py install), but the build 
choked on the bittools extension. A log is attached. It looks as though the 
problem may be numpy-1.7.0-related. (I just watched someone successfully 
install on an Ubuntu 12.04 system with numpy 1.6.2, same gcc and python.)

Original issue reported on code.google.com by chalkdus...@gmail.com on 10 Apr 2013 at 1:33

Attachments:

GoogleCodeExporter commented 9 years ago
it defines #define NPY_NO_DEPRECATED_API which is wrong
it should be:
#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION

though it requires 1.6 API, specifically PyArray_CORDER instead of NPY_CORDER, 
so this can't be done.
quickfix is probably to just allow deprecated api by removing the broken define.

Original comment by jtaylor....@googlemail.com on 20 Apr 2013 at 3:33

GoogleCodeExporter commented 9 years ago
Just for the record book, I am having this same problem. I'm using a Mac OSX 
10.7 with fink (python 2.7.4, numpy 1.7.1, libtiff 4.0.3, pylibtiff rev89). I 
will likely have to downgrade to an older numpy. A coworker had the same 
problem and here are the specific lines you need to change to get this patched. 
Is this a problem in the way pylibtiff is using numpy?

Index: libtiff/src/tif_lzw.c
===================================================================
--- libtiff/src/tif_lzw.c (revision 89)
+++ libtiff/src/tif_lzw.c (working copy)
@@ -45,7 +45,7 @@

 #include <Python.h>
-#define NPY_NO_DEPRECATED_API
+//#define NPY_NO_DEPRECATED_API
 #define PY_ARRAY_UNIQUE_SYMBOL PyArray_API
 #include "numpy/arrayobject.h"

Index: libtiff/src/bittools.c
===================================================================
--- libtiff/src/bittools.c  (revision 89)
+++ libtiff/src/bittools.c  (working copy)
@@ -1,5 +1,5 @@
 #include <Python.h>
-#define NPY_NO_DEPRECATED_API
+// #define NPY_NO_DEPRECATED_API
 #define PY_ARRAY_UNIQUE_SYMBOL PyArray_API
 #include "numpy/arrayobject.h"

Original comment by dho...@gmail.com on 23 Apr 2013 at 9:49

GoogleCodeExporter commented 9 years ago
I have tried to address this issue in the latest revision (r92). 
As far as I can tell, NPY_CORDER is supported as far back as numpy 1.0. I doubt 
anyone is still using an older version than this but just in case I've added a 
check so it shouldn't break for < v1.0 (at least not for this reason).
It would be great if anyone experiencing this issue can verify that it is fixed 
in this revision.

Original comment by richca...@gmail.com on 20 May 2013 at 2:52

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
OK, so my first effort at a fix didn't work on v1.3. Second effort (r93) should 
work better.

Original comment by richca...@gmail.com on 21 May 2013 at 10:16