Opened 5 years ago

Last modified 5 years ago

#59094 new defect

Error after updating XCode to 11.0

Reported by: eisGeist Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.0
Keywords: Cc: cainesi, thenickdude (Nicholas Sherlock)
Port:

Description

Dear Sirs,

since yesterday, after I updated XCode to most recent release 11.0, I've been not able to run "sudo port upgrade updated".

I receive two error messages:

  • Unable to determine location of a macOS SDK;
  • Unable to open port: can't read "configure.sdkroot": Unable to determine location of a macOS SDK.

I downloaded the most recent release of MacPorts and reinstalled it. As before "sudo port selfupdate" runs smoothly but had no success in completing "sudo port upgrade updated".

Can you provide any help/hint about this? Many thanks in advance!

Best regards,

Attachments (1)

Poppler - main.log (472.4 KB) - added by eisGeist 5 years ago.
Poppler error log

Download all attachments as: .zip

Change History (12)

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

Please attach a log file so we can determine if this is one of the known issues with Xcode 11 or a new one.

comment:2 Changed 5 years ago by eisGeist

Can you please help me in providing you with the log file?

comment:3 Changed 5 years ago by cluesch (Daniel Kluge)

I had the same issue after running the XCode upgrade, the log-file in question would be /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/base/config.log which contains the following helpful message:

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.

So you have to run sudo xcodebuild -license again after the upgrade, as you have on initial install of XCode. The problematic part is actually that selfupdate fails silently, because without the license accepted it does:

localhost% sudo port selfupdate
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.5.4 installed,
MacPorts base version 2.6.0 downloaded.
--->  Updating the ports tree
--->  MacPorts base is outdated, installing new version 2.6.0
Installing new MacPorts release in /opt/local as root:admin; permissions 0755

localhost%

Notice that there is no error, but it actually doesn't do anything either, the error will just be in the log file. If you accept the license, it will go through:

localhost% sudo port selfupdate
'--->  Updating MacPorts base sources using rsync
MacPorts base version 2.5.4 installed,
MacPorts base version 2.6.0 downloaded.
--->  Updating the ports tree
--->  MacPorts base is outdated, installing new version 2.6.0
Installing new MacPorts release in /opt/local as root:admin; permissions 0755

Not all sources could be fully synced using the old version of MacPorts.
Please run selfupdate again now that MacPorts base has been updated.
localhost%

However now you will have a new warning whenever you compile something, I guess this is a follow-on issue from the new SDK or SDK selection in the configuration:

localhost% sudo port upgrade outdated
Warning: Unable to determine location of the macOS 10.14 SDK.  Using the default macOS SDK.
Warning: Unable to determine location of the macOS 10.14 SDK.  Using the default macOS SDK.
Warning: Unable to determine location of the macOS 10.14 SDK.  Using the default macOS SDK.
--->  Computing dependencies for openssl

comment:4 in reply to:  3 Changed 5 years ago by jmroot (Joshua Root)

Replying to cluesch:

The problematic part is actually that selfupdate fails silently

That's #56549.

comment:5 in reply to:  2 Changed 5 years ago by jmroot (Joshua Root)

Replying to eisGeist:

Can you please help me in providing you with the log file?

When a port fails to build, there will be a message saying Error: See /opt/local/var/macports/logs/<some_port_specific_path>/main.log for details. That main.log is the file we need to see.

Changed 5 years ago by eisGeist

Attachment: Poppler - main.log added

Poppler error log

comment:6 Changed 5 years ago by eisGeist

I uninstalled Xcode and MacPorts then I reinstalled both of them to start from scratch.

I tried to install Gimp but the process stopped when installing poppler-0.80.0_0.darwin_18.x86_64. I attached the main.log file pointed int the following terminal output.

This is the output displayed on Teminal window:

Error: Failed to build poppler: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_poppler/poppler/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port gimp failed
--->  Some of the ports you installed have notes:
  dbus has the following notes:
    Startup items (named 'dbus-system, dbus-session') have been generated that will aid in starting dbus with launchd. They are disabled by default. Execute the following command to start them, and to cause them
    to launch at startup:
    
        sudo port load dbus
  ffmpeg has the following notes:
    *******
    ******* This build of ffmpeg includes GPLed code and
    ******* is therefore licensed under GPL v2 or later.
    *******
    ******* The following modules are GPLed:
    *******
    *******      postproc
    *******      libx264
    *******      libx265
    *******      libxvid
    *******
    ******* To include all nonfree, GPLed and LGPL code use variant +nonfree.
    ******* To remove nonfree and GPLed code leaving only LGPL code remove the
    ******* +gpl2 variant.
    *******
  gawk has the following notes:
    readline support has been removed from gawk. If you need to run gawk interactively, install rlwrap:
    
    sudo port install rlwrap
    
    and run gawk using rlwrap:
    
    rlwrap gawk ...
  libpsl has the following notes:
    libpsl API documentation is provided by the port 'libpsl-docs'.
  py37-pygments has the following notes:
    To make the Python 3.7 version of Pygments the one that is run when you execute the commands without a version suffix, e.g. 'pygmentize', run:
    
    port select --set pygments py37-pygments
  python27 has the following notes:
    To make this the default Python or Python 2 (i.e., the version run by the 'python' or 'python2' commands), run one or both of:
    
        sudo port select --set python python27
        sudo port select --set python2 python27
  python36 has the following notes:
    To make this the default Python or Python 3 (i.e., the version run by the 'python' or 'python3' commands), run one or both of:
    
        sudo port select --set python python36
        sudo port select --set python3 python36
  python37 has the following notes:
    To make this the default Python or Python 3 (i.e., the version run by the 'python' or 'python3' commands), run one or both of:
    
        sudo port select --set python python37
        sudo port select --set python3 python37

Is there any other information I can provide to help you suggest to me what to do to have MacPorts up and running?

Many thanks in advance.

comment:7 Changed 5 years ago by kencu (Ken)

You are running into a problem we are dealing with all over MacPorts right now:

:info:build clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk' [-Wmissing-sysroot]

We have found we have baked the MacOSX10.14.sdk into build files all over the place, and now that SDK is gone (replaced by MacOSX10.15.sdk) we are getting widespread wreckage.

If you are really eager to get going, this workaround will most likely work out 59113#comment:14. It would not appear to be able to do any harm at all.

I can confirm it works to install poppler using Xcode 11 on Mojave:

$ port -v installed poppler
The following ports are currently installed:
  poppler @0.80.0_0 (active) platform='darwin 18' archs='x86_64' date='2019-09-29T11:54:24-0700'

If you can wait, there are various potential fixes making their way through the vetting process.

Last edited 5 years ago by kencu (Ken) (previous) (diff)

comment:8 Changed 5 years ago by kencu (Ken)

You could also try symlinking the MacOSX.sdk to MacOSX10.14.sdk (which is a lie, but ...) and that would also most likely get you going, with unknown long-term consequences based on the SDK differences... I feel more comfortable with the actual MacOSX10.14.sdk being used, but it was easy for me to do that.

Or of course, you can downgrade to Xcode 10 and revisit Xcode 11 later when we get it sorted out. That is what I am actually doing myself, because I don't have a pressing need for anything in Xcode 11 that isn't already available in Xcode 10.

Last edited 5 years ago by kencu (Ken) (previous) (diff)

comment:9 Changed 5 years ago by eisGeist

Kencu, thank you for your reply. I guess I'll try to downgrade Xcode to version 10 and give it a try.

comment:10 Changed 5 years ago by cainesi

Cc: cainesi added

comment:11 Changed 5 years ago by thenickdude (Nicholas Sherlock)

Cc: thenickdude added
Note: See TracTickets for help on using tickets.