On Wed, Aug 01, 2018 at 07:23:34AM -0400, Daniel Dickman wrote:
> On Wed, Jul 25, 2018 at 7:26 AM, Daniel Dickman <didick...@gmail.com> wrote:
> >
> >
> >> On Jul 21, 2018, at 5:35 AM, Landry Breuil <lan...@openbsd.org> wrote:
> >>
> >> Hi,
> >>
> >> building any port that depends at runtime on py-numpy on macppc fails
> >> now with undef symbols, here example with py3-laspy:
> >>
> >> ===> py3-laspy-1.5.1 depends on: py3-numpy-* -> py3-numpy-1.14.5
> >> ....
> >> Traceback (most recent call last):
> >>  File "./setup.py", line 4, in <module>
> >>    import laspy
> >>  File 
> >> "/usr/obj/ports/py-laspy-1.5.1-python3/laspy-1.5.1/laspy/__init__.py", 
> >> line 5, in <module>
> >>    from laspy import base
> >>  File "/usr/obj/ports/py-laspy-1.5.1-python3/laspy-1.5.1/laspy/base.py", 
> >> line 7, in <module>
> >>    import numpy as np
> >>  File "/usr/local/lib/python3.6/site-packages/numpy/__init__.py", line 
> >> 166, in <module>
> >>    from . import random
> >>  File "/usr/local/lib/python3.6/site-packages/numpy/random/__init__.py", 
> >> line 99, in <module>
> >>    from .mtrand import *
> >> ImportError: Cannot load specified object
> >> python3.6:/usr/local/lib/python3.6/site-packages/numpy/random/mtrand.so: 
> >> undefined symbol '_savegpr_24'
> >> python3.6:/usr/local/lib/python3.6/site-packages/numpy/random/mtrand.so: 
> >> undefined symbol '_restgpr_24_x'
> >
> > It seems to be due to mtrand.c in numpy 1.14.3. If I roll back to the 
> > version of that file used in numpy 1.14.2 then things seem to be fixed on 
> > macppc.
> >
> > Not sure if the problem is due to the upgrade of Cython or some other 
> > problem (they used Cython 0.28.2 instead of 0.26.1).
> >
> > I should be able to commit a fix shortly but want to see if I can dig a bit 
> > more into the issue and will try to report this upstream as well to see if 
> > there are any thoughts there.
> >
> > Thanks for reporting.
> 
> I *think* I've tracked down the breakage to Cython's recent use of
> __attribute__((optimize("Os"))) in the generated code. I have to
> double check this but it looks like removing this attribute from
> mtrand.c might fix things.
> 
> The Cython commit that introduced that change is this one:
> https://github.com/cython/cython/commit/969765b6b9f22d5bae6206ff1ce0055f116bce94
> 
> So if my assumptions are correct, then I'm not sure if:
> 1) other things using Cython on OpenBSD/macppc could be broken too
> (therefore cc'ing Cython MAINTAINER as fyi)
> 2) gcc on macppc could benefit from any changes or not.

Nice findings ! :)

Reply via email to