Opened 4 years ago
Last modified 4 years ago
#62345 new defect
Not prompted to agree to xcode license when circular dependencies exist due to that very problem
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.
Attachments (1)
Change History (7)
Changed 4 years ago by nathanielvirgo
Attachment: | macports output.txt added |
---|
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 machine → Not prompted to agree to xcode license when installing py39-matplotlib |
comment:4 Changed 4 years ago by jmroot (Joshua Root)
Component: | ports → base |
---|---|
Keywords: | catalina removed |
Summary: | Not prompted to agree to xcode license when installing py39-matplotlib → Not prompted to agree to xcode license when circular dependencies exist due to that very problem |
I would guess a circular dependency was created because of the use of a compiler provided by a port, due to the Xcode compiler being unusable. The circular dependency made it fail during dependency calculation, whereas the error about the Xcode license is only printed after that, when starting to build a port from source. I'm not sure how we would go about fixing that.
comment:5 follow-up: 6 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to nathanielvirgo:
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.
Note that MacPorts was not telling you to submit a bug report. It is explaining to you how to submit a bug report if you believe a bug exists. We should reword the message to make this clearer; it is a frequent cause of misunderstanding.
so I guess the problem might be with the qhull port.
Nope, the output clearly showed the qhull was installed successfully. The problem is after that.
comment:6 Changed 4 years ago by nathanielvirgo
Replying to ryandesign:
Replying to nathanielvirgo:
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.
Note that MacPorts was not telling you to submit a bug report. It is explaining to you how to submit a bug report if you believe a bug exists. We should reword the message to make this clearer; it is a frequent cause of misunderstanding.
My apologies, that was an attempt at humour more than anything else - the point is that no error was reported in this case, *other* than the instructions on how to submit a bug report.
so I guess the problem might be with the qhull port.
Nope, the output clearly showed the qhull was installed successfully. The problem is after that.
Yep, I noted the actual issue both in the text at the top of my report and in my comment after it. I wouldn't say this is clear from a user point of view though - the error appears immediately after the lines pertaining to qhull, so I didn't have a lot else to go on.
full output of "sudo port install py39-matplotlib" the first time I ran it