Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#57870 closed defect (fixed)

Trying to install py36-matplotlib from the current macports (macports version 2.5.4) fails, as py36-matplotlib depends on an obsolete package py36-pyobj-cocoa.

Reported by: nealeyoung Owned by: danchr (Dan Villiom Podlaski Christiansen)
Priority: Normal Milestone:
Component: ports Version: 2.5.4
Keywords: Cc: seanfarley (Sean Farley), nealeyoung
Port: py36-pyobjc-cocoa

Description

### Bug report

Trying to install py36-matplotlib from the current macports (macports version 2.5.4) fails, as py36-matplotlib depends on an obsolete package py36-pyobj-cocoa.

Here are macports instructions that demonstrate the problem

% sudo port selfupdate  # updates to MacPorts base version 2.5.4

% sudo port info py36-matplotlib
....
Library Dependencies: ... py36-pyobjc-cocoa ...
...

% sudo port info py36-pyobjc-cocoa
....
Description:          This port is obsolete.
...

% sudo port install py36-matplotlib +cairo 
--->  Computing dependencies for py36-matplotlib
The following dependencies will be installed:  py36-pyobjc-cocoa
Continue? [Y/n]: 
--->  Configuring py36-pyobjc-cocoa
Error: py36-pyobjc-cocoa is obsolete; please uninstall it.
Error: Failed to configure py36-pyobjc-cocoa: obsolete port
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-pyobjc-cocoa/py36-pyobjc-cocoa/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port py36-matplotlib failed

Matplotlib version

  • Operating system: Mac OSX 10.14.1
  • Matplotlib version: py36-matplotlib @3.0.2
  • Python version: Python 3.6.8 installed in /opt/local/bin/python

I believe all relevant packages were installed via macports.

Change History (7)

comment:1 Changed 5 years ago by nealeyoung

Cc: nealeyoung added

comment:2 Changed 5 years ago by reneeotten (Renee Otten)

This was an unintended side-effect of updating the py-pyobjc port (see here). For new installations py-matplotlib this could be fixed by updating the dependency as I have done in PR3370. For updating the port however there is an additional issue that ideally would get solved before merging that PR. In short, stay tuned... hopefully resolved soon!

comment:3 Changed 5 years ago by jmroot (Joshua Root)

Owner: set to danchr
Port: py36-pyobjc-cocoa added
Status: newassigned

Yes, the PR was merged without adequate review. The old pyobjc framework ports need to be replaced_by the new unified pyobjc port and all ports that depend on the former need to be updated to depend on the latter. That's assuming that combining all the separate frameworks into one port is even a good idea (why does upstream release them as separate pypi packages?)

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

I backed out the commit that broke it:

https://github.com/macports/macports-ports/commit/c4ab41a6a6b3658e05339c23e23041e0980d4ea8

I'll make sure to check matplotlib when re-doing the PR.

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

Resolution: fixed
Status: assignedclosed

comment:6 Changed 5 years ago by nealeyoung

FYI, now I was able to install py36-matplotlib, but it installed both py36-pyobjc and py36-pyobjc-cocoa.

comment:7 in reply to:  6 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to nealeyoung:

but it installed both py36-pyobjc and py36-pyobjc-cocoa.

As it should.

Note: See TracTickets for help on using tickets.