Opened 5 years ago

Closed 3 years ago

#60272 closed defect (wontfix)

py27-matplotlib @2.2.5_0 +qt5+webagg: failed to build, command execution failed

Reported by: thomasrussellmurphy (Thomas Russell Murphy) Owned by: reneeotten (Renee Otten)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: py-matplotlib

Description

I'm trying to use py27-matplotlib as a dependency of gqrx. After its first failure and cleaning, it's now the next port in line for installation and fails as:

--->  Fetching archive for py27-matplotlib
--->  Attempting to fetch py27-matplotlib-2.2.5_0+qt5+webagg.darwin_18.x86_64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/py27-matplotlib
--->  Attempting to fetch py27-matplotlib-2.2.5_0+qt5+webagg.darwin_18.x86_64.tbz2 from https://packages.macports.org/py27-matplotlib
--->  Attempting to fetch py27-matplotlib-2.2.5_0+qt5+webagg.darwin_18.x86_64.tbz2 from http://aus.us.packages.macports.org/macports/packages/py27-matplotlib
--->  Fetching distfiles for py27-matplotlib
--->  Verifying checksums for py27-matplotlib
--->  Extracting py27-matplotlib
--->  Applying patches to py27-matplotlib
--->  Configuring py27-matplotlib
--->  Building py27-matplotlib
Error: Failed to build py27-matplotlib: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-matplotlib/py27-matplotlib/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port gqrx failed

Header of attached log with system info

:debug:sysinfo macOS 10.14 (darwin/18.7.0) arch i386
:debug:sysinfo MacPorts 2.6.2
:debug:sysinfo Xcode 11.3.1
:debug:sysinfo SDK 10.14
:debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 10.14

Attachments (1)

py27-matplotlib-failure.log (20.1 KB) - added by thomasrussellmurphy (Thomas Russell Murphy) 5 years ago.
build failure log

Download all attachments as: .zip

Change History (7)

Changed 5 years ago by thomasrussellmurphy (Thomas Russell Murphy)

Attachment: py27-matplotlib-failure.log added

build failure log

comment:1 Changed 5 years ago by mf2k (Frank Schima)

Cc: reneeotten removed
Owner: set to reneeotten
Port: py-matplotlib added; py27-matplotlib removed
Status: newassigned

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

hi Thomas,

sorry for the trouble... I can indeed reproduce this locally; it only doesn't work for PY27, it's fine for the PY3 subports. I'll look into this.

However, if you only need it for the gqrx port, I doubt you actually need to install with the qt5 variant. So as a temporary work-around I think you should be able to install py27-matplotlib with the default variants selected (i.e., do sudo port install py27-matplotlib).

comment:3 Changed 5 years ago by thomasrussellmurphy (Thomas Russell Murphy)

Hello Renee,

It looks like my variants configuration specified the +qt5, so manually selecting port install py27-matplotlib -qt5 has allowed port install gqrx to continue. Thanks for looking into this.

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

so the actual problem is this:

objc[50613]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called.
objc[50613]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
qt5agg: no  [Check timed out]

and has to do with some issue in the multiprocessing (I think it worked fine before the update of py-pyobjc).. Anwyway, there doesn't seem to be an obvious reason to use multiprocessing for this (and it will use another method when import multiprocessing fails). So I just patched setupext.py to not use multiprocessing and then it works fine. I'll commit the change shortly.

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

ah, this is also used in the Gtk3 backend. Also, removing the multiprocessing will give trouble when both Qt4 and Qt5 are installed on a system... so there is actually a reason to use this. Let me see if there is a more general solution.

comment:6 Changed 3 years ago by reneeotten (Renee Otten)

Resolution: wontfix
Status: assignedclosed

okay, I've looked at this again and cannot find a suitable solution for it... Given the fact that Python 2.7 is EOL for a while already I am not going to spend more time on this and will close the ticket as "won't fix" - it is not an issue anymore on recent versions of matplotlib that are available for Python 3.x.

Note: See TracTickets for help on using tickets.