[Scipy-tickets] [SciPy] #1700: minpack API types misfit on s390x

SciPy Trac scipy-tickets@scipy....
Thu Jul 12 16:18:13 CDT 2012


#1700: minpack API types misfit on s390x
----------------------------+-----------------------------------------------
 Reporter:  yarikoptic      |       Owner:  somebody   
     Type:  defect          |      Status:  new        
 Priority:  high            |   Milestone:  Unscheduled
Component:  scipy.optimize  |     Version:  0.10.0     
 Keywords:                  |  
----------------------------+-----------------------------------------------
 Original report with more glory details:
 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=681270

 in short -- when building on s390x (Debian unstable), gcc complaints:
 {{{
 > In file included from scipy/optimize/_minpackmodule.c:7:0:
 > scipy/optimize/__minpack.h: In function ‘minpack_hybrd’:
 > scipy/optimize/__minpack.h:291:3: warning: passing argument 2 of
 ‘hybrd_’ from incompatible pointer type [enabled by default]
 > scipy/optimize/__minpack.h:51:13: note: expected ‘int *’ but argument is
 of type ‘npy_intp *’
 > scipy/optimize/__minpack.h:291:3: warning: passing argument 19 of
 ‘hybrd_’ from incompatible pointer type [enabled by default]
 > scipy/optimize/__minpack.h:51:13: note: expected ‘int *’ but argument is
 of type ‘npy_intp *’
 > scipy/optimize/__minpack.h: In function ‘minpack_hybrj’:
 > scipy/optimize/__minpack.h:391:3: warning: passing argument 2 of
 ‘hybrj_’ from incompatible pointer type [enabled by default]
 > scipy/optimize/__minpack.h:52:13: note: expected ‘int *’ but argument is
 of type ‘npy_intp *’
 > scipy/optimize/__minpack.h:391:3: warning: passing argument 17 of
 ‘hybrj_’ from incompatible pointer type [enabled by default]
 > scipy/optimize/__minpack.h:52:13: note: expected ‘int *’ but argument is
 of type ‘npy_intp *’
 > scipy/optimize/__minpack.h: In function ‘minpack_lmdif’:
 > scipy/optimize/__minpack.h:489:3: warning: passing argument 3 of
 ‘lmdif_’ from incompatible pointer type [enabled by default]
 > scipy/optimize/__minpack.h:53:13: note: expected ‘int *’ but argument is
 of type ‘npy_intp *’
 > scipy/optimize/__minpack.h: In function ‘minpack_lmder’:
 > scipy/optimize/__minpack.h:585:3: warning: passing argument 3 of
 ‘lmder_’ from incompatible pointer type [enabled by default]
 > scipy/optimize/__minpack.h:54:13: note: expected ‘int *’ but argument is
 of type ‘npy_intp *’
 }}}

 and those are quite legit since lead to failed unittests and incorrect
 operation on simple code.

 What would be the correct way to handle this difference between npy_intp
 (long int) and int on s390x in regards to minpack interface?

 in my cruel patch (attached) for those variables in question above I just
 reserved an int variable which I assigned (casted) a corresponding value
 before passing  to the corresponding fortran function.

 Since this bug is holding off migration of pymvpa2 into Debian
 testing/wheezy, I marked it with priority High.

 Thanks in advance

-- 
Ticket URL: <http://projects.scipy.org/scipy/ticket/1700>
SciPy <http://www.scipy.org>
SciPy is open-source software for mathematics, science, and engineering.


More information about the Scipy-tickets mailing list