Opened 2 years ago

Last modified 2 years ago

#64637 assigned defect

py38-numpy: MyPaint fails to run on Mac OS X 10.6.8 due to numpy issues

Reported by: leeeoooooo Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: snowleopard Cc: ryandesign (Ryan Carsten Schmidt)
Port: py-numpy MyPaint

Description

When I installed MyPaint under Snow Leopard it installed python-3.9 as a prerequisite and built and installed successfully. But when I attempted to run the program it apparently called up python-3.8 and had its typical problem trying to use numpy. I'm including my recent Bash log.

Attachments (2)

Bash log MyPaint.txt (8.9 KB) - added by leeeoooooo 2 years ago.
Bash log 3-25-22.txt (21.4 KB) - added by leeeoooooo 2 years ago.
Bash log 3-25-22. MyPaint installs easily but on launch it gags on Python3.8-numpy.

Download all attachments as: .zip

Change History (11)

Changed 2 years ago by leeeoooooo

Attachment: Bash log MyPaint.txt added

comment:1 Changed 2 years ago by jmroot (Joshua Root)

Cc: ryandesign added
Keywords: MyPaint python-3.8 numpy removed
Owner: set to michaelld
Port: py-numpy added
Status: newassigned

Changed 2 years ago by leeeoooooo

Attachment: Bash log 3-25-22.txt added

Bash log 3-25-22. MyPaint installs easily but on launch it gags on Python3.8-numpy.

comment:2 Changed 2 years ago by leeeoooooo

With the update to Mac Ports I decided to try again installing MyPaint. Same problem. Installs but bails on startup.

comment:3 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: snowleopard added
Summary: MyPaint fails to run on Mac OS X 10.6.8 due to python-3.8 numpy issuespy38-numpy: MyPaint fails to run on Mac OS X 10.6.8 due to numpy issues

Seems like the problem is with numpy, not MyPaint.

ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-darwin.so, 2): Symbol not found: _Dragon4_PrintFloat_Intel_extended128
  Referenced from: /opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-darwin.so
  Expected in: flat namespace
 in /opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-darwin.so

There are no occurrences of Dragon4 in the MyPaint source that I can find. Meanwhile in numpy I see in dragon4.c that it only declares Dragon4_PrintFloat_Intel_extended128 if HAVE_LDOUBLE_INTEL_EXTENDED_16_BYTES_LE is defined. Later in dragon4.c it invokes Dragon4_PrintFloat_##format in two places, so I guess HAVE_LDOUBLE_INTEL_EXTENDED_16_BYTES_LE is false on your system yet ##format has expanded to Intel_extended128 for whatever reason. I don't see where format is defined.

comment:4 Changed 2 years ago by leeeoooooo

I do not have "HAVE_LDOUBLE_INTEL_EXTENDED_16_BYTES_LE" defined in my shell. I don't quite understand what it even means. I'm running on a MacBook1,1 with a 32-bit-only CoreDuo "Yonah" CPU.

comment:5 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

I don't mean defined in your shell. I mean defined by the build system, as determined during its configuration step from your compiler or OS capabilities.

comment:6 Changed 2 years ago by leeeoooooo

Maybe config was expecting something slightly beefier than my 32-bit-only Code Duo. That's why I'm still running Snow Leopard.

comment:7 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Undoubtedly nobody from the numpy project has tested on a system that old lately. Yet the point is that it is clearly a bug that different criteria are being used to decide when to declare a function vs. when to call that function. That seems like something that could be corrected. Whether it is a bug in numpy itself or in the way the portfile is using it I don't know, and I was hoping Michael would chime in.

comment:8 Changed 2 years ago by michaelld (Michael Dickens)

I'd strongly suspect that the NumPy folks aren't programming for a Core2Duo CPU, given how old it is. So, the tests to determine characteristics are very likely to be incorrect. I do have an OSX 10.6.8 Boot somewhere; let me see if I can get it going.

comment:9 Changed 2 years ago by leeeoooooo

Michael, thanks for the look-see. But please note: it isn't a Core2Duo... It's a 32-bit ONLY CoreDuo "Yonah" CPU.

Note: See TracTickets for help on using tickets.