#39836: when xcode license was not accepted there should be a helpful error message --------------------------+-------------------------------- Reporter: fabian@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: 2.1.3 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Changes (by larryv@…): * component: ports => base Old description:
For example I just installed valgrind and got this error (for some reason xcode didn't have the EULA marked as accepted anymore):
$ sudo port install valgrind ... ---> Building valgrind Error: org.macports.build for port valgrind returned: command execution failed To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets Error: Processing of port valgrind failed frankfa@palmtree:~/repo/nativesdk (1) $ sudo port install valgrind ---> Computing dependencies for valgrind ---> Building valgrind Error: org.macports.build for port valgrind returned: command execution failed Please see the log file for port valgrind for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_valgrind/valgrind/main.log To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets Error: Processing of port valgrind failed
So I $ cat /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_valgrind/valgrind/main.log ... :info:build You have not agreed to the Xcode license agreements, please run 'xcodebuild -license' (for user-level acceptance) or 'sudo xcodebuild -license' (for system-wide acceptance) from within a Terminal window to review and agree to the Xcode license agreements. ...
And the error is clear. However, for less experienced users, it might be very confusing. How about adding a less generic error message for this case, or maybe even run xcodebuild -license for the user if this happens.
New description: For example I just installed valgrind and got this error (for some reason xcode didn't have the EULA marked as accepted anymore): {{{ $ sudo port install valgrind ... ---> Building valgrind Error: org.macports.build for port valgrind returned: command execution failed To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets Error: Processing of port valgrind failed frankfa@palmtree:~/repo/nativesdk (1) $ sudo port install valgrind ---> Computing dependencies for valgrind ---> Building valgrind Error: org.macports.build for port valgrind returned: command execution failed Please see the log file for port valgrind for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_valgrind/valgrind/main.log To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets Error: Processing of port valgrind failed }}} So I {{{ $ cat /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_valgrind/valgrind/main.log ... :info:build You have not agreed to the Xcode license agreements, please run 'xcodebuild -license' (for user-level acceptance) or 'sudo xcodebuild -license' (for system-wide acceptance) from within a Terminal window to review and agree to the Xcode license agreements. ... }}} And the error is clear. However, for less experienced users, it might be very confusing. How about adding a less generic error message for this case, or maybe even run xcodebuild -license for the user if this happens. -- Comment: We should not (and probably cannot) agree to the license for the user, but perhaps we can test for license acceptance before starting a build and fail more gracefully. -- Ticket URL: <https://trac.macports.org/ticket/39836#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X