Opened 4 years ago

Closed 4 years ago

#61136 closed defect (fixed)

pypy-tkinter @7.3.1_1: tklib_cffi.pypy-73.so is being used by the active pypy port

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: danchr (Dan Villiom Podlaski Christiansen)
Priority: Normal Milestone:
Component: ports Version: 2.6.3
Keywords: Cc:
Port: pypy-tkinter, pypy

Description

pypy-tkinter depends on pypy but installs some of the same files it does:

https://build.macports.org/builders/ports-10.7_x86_64-builder/builds/29991/steps/install-port/logs/stdio

Error: Failed to activate pypy-tkinter: Image error: /opt/local/lib/pypy/lib_pypy/_tkinter/tklib_cffi.pypy-73.so is being used by the active pypy port.  Please deactivate this port first, or use 'port -f activate pypy-tkinter' to force the activation.

For some reason we only see this on 10.7, not on later OS versions.

It looks like the pypy portfile uses --without-_tkinter but it installs tkinter anyway. Here's the log from the pypy build:

https://build.macports.org/builders/ports-10.7_x86_64-builder/builds/29990/steps/install-port/logs/stdio

Change History (2)

comment:1 Changed 4 years ago by danchr (Dan Villiom Podlaski Christiansen)

My best guess is that the means used for disabling tkinter don't actually work on the Python 2.7 version on PyPy, so that it in practice fell back to checking its precense — it picked up the system Tk. (Didn't older systems provide that?)

Gah… PyPy is really annoying to build and distribute… One day, I should fix that… (As an aside, I'd also like to adjust PyPy to use a regular directory layout and perhaps add support for to the Python PortGroup for using it, but that's more work for another day.)

Last edited 4 years ago by danchr (Dan Villiom Podlaski Christiansen) (previous) (diff)

comment:2 Changed 4 years ago by danchr (Dan Villiom Podlaski Christiansen)

Resolution: fixed
Status: assignedclosed

In b85e7799f49f591807fab9c1c952d1bcd2abea0f/macports-ports (master):

pypy: update to 7.3.2

split out pypy3 to pypy36 and pypy37 while at it, and prevent it from
picking up the system Tk on older operating systems

Fixes: #61136

Note: See TracTickets for help on using tickets.