Opened 4 years ago

Last modified 4 years ago

#62345 new defect

Not prompted to agree to xcode license when installing py39-matplotlib — at Version 3

Reported by: nathanielvirgo Owned by:
Priority: Normal Milestone:
Component: base Version: 2.6.4
Keywords: Cc:
Port:

Description (last modified by nathanielvirgo)

I had a confusing issue when trying to install py39-matplotlib and its dependencies on a fresh macports install on a new machine. You can see my report below, which was written when I didn't understand the reason for the issue.

The issue was revealed when running sudo port install python39 - in that case I was prompted to agree to the xcode user license, and everything worked. However, I had originally tried to run sudo port install py39-matplotlib instead, since I knew I would want to use matplotlib and numpy as well as Python. In that case I wasn't prompted to agree to the license, and instead got a mysterious error message that told me to submit a report without revealing what the problem was.

So the issue is about error reporting - the xcode license error should be displayed when trying to install Python as a dependency, rather than just when trying to install the Python port directly.

---

Here is my original report. For the resolution see my comment below.

I have installed macports on a new* machine running macos 10.15.7 Catalina. I am trying to install py39-matplotlib and its dependencies (which of course include Python and numpy). I am getting the error message below.

The error message does not give a lot of information. I assume there is a log file somewhere that contains the real error, but this is not noted in the error message itself and I don't know where to find it. I am happy to update this if someone can tell me where to look.

After installing the macos command line tools, XCode and macports, I did

 % sudo port selfupdate

which told me macports was already at the latest version, and then I entered

 % sudo port install py39-matplotlib

I will attach the full output of this command as a file. The last few lines were

--->  Fetching archive for qhull
--->  Attempting to fetch qhull-2020.2_0.darwin_19.x86_64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/qhull
--->  Attempting to fetch qhull-2020.2_0.darwin_19.x86_64.tbz2.rmd160 from https://ywg.ca.packages.macports.org/mirror/macports/packages/qhull
--->  Installing qhull @2020.2_0
--->  Activating qhull @2020.2_0
--->  Cleaning qhull
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port py39-matplotlib failed
--->  Some of the ports you installed have notes:
  OpenBLAS has the following notes:
    This version is built based on a base architecture for convenience, 
    which may not be optimized for your system. To build a version 
    customized for your machine, use the +native variant
  tcl has the following notes:
    The Sqlite3 Tcl package is now being provided by the sqlite3-tcl port:
    sudo port install sqlite3-tcl

so I guess the problem might be with the qhull port. Running the command a second time only gives this output

% sudo port install py39-matplotlib
--->  Computing dependencies for py39-matplotlibWarning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option

The following dependencies will be installed: 
 Xft2
 brotli
 cairo
 clang-9.0
 cmake
 curl
 fftw-3
 fontconfig
 freetype
 gdbm
 lcms2
 libomp
 libpsl
 libuv
 llvm-9.0
 openjpeg
 openssl
 ossp-uuid
 perl5
 perl5.28
 py39-Pillow
 py39-cairo
 py39-cycler
 py39-cython
 py39-dateutil
 py39-kiwisolver
 py39-nose
 py39-numpy
 py39-olefile
 py39-parsing
 py39-setuptools
 py39-six
 py39-tkinter
 py39-tornado
 py39-tz
 python39
 tk
 webp
 xar
 xorg-libX11
 xorg-libXScrnSaver
 xorg-libXext
 xorg-libxcb
 xorg-xcb-util
 xrender
Continue? [Y/n]: y
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port py39-matplotlib failed

This output is the same regardless of running sudo port clean qhull or sudo port clean py39-matplotlib.

I am submitting this ticket because the error message tells me to.

[*] the machine is a 2019 Intel Mac but has only been used for a few weeks and does't have much installed.

Change History (4)

Changed 4 years ago by nathanielvirgo

Attachment: macports output.txt added

full output of "sudo port install py39-matplotlib" the first time I ran it

comment:1 Changed 4 years ago by nathanielvirgo

Description: modified (diff)

comment:2 Changed 4 years ago by nathanielvirgo

I have made some progress on this, and managed to get the port to install.

I think there is still a bug here, which is that the relevant error message was never displayed when trying to install py39-matplotlib directly, rather than installing Python by itself first. I will edit the issue to make clear that this was the problem.

When I ran

% sudo port install python39

I was given the following error message:

% sudo port install python39       
Password:
Error: It seems you have not accepted the Xcode license; most ports will fail to build.
Error: Agree to the license by opening Xcode or running `sudo xcodebuild -license'.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port python39 failed

After running sudo xcodebuild -license, everything worked fine. (I installed python39 first, and then py39-matplotlib after that.) The only problem is that I was not prompted to agree to the license when trying to install py39-matplotlib directly, rather than python39.

comment:3 Changed 4 years ago by nathanielvirgo

Description: modified (diff)
Port: qhull maybe - it's not clear removed
Summary: Error installing py39-matplotlib or one of its dependencies (possibly qhull) on new machineNot prompted to agree to xcode license when installing py39-matplotlib
Note: See TracTickets for help on using tickets.