Xcode 12 Beta 3 Released and Xcode 12 for Universal Apps Deprecated

The Xcode 12 Beta 3 image has just been released and can be selected as follows:

macos:
    xcode: 12.0.0

Changes In This Release

With Xcode 12 beta 3, Apple has “merged” Xcode 12 and Xcode 12 for Universal Apps into a single release.

Users who were selecting Xcode 12 for Universal Apps with the 12.0.0-UA image identifier will be automatically redirected to the new Xcode 12 beta 3 image (12.0.0).

As a result of Xcode now being a Universal App, and including the Apple Silicon tooling, the resulting size of Xcode itself has grown, meaning there is around 6GB less free space on the new Xcode 12 beta 3 image.

Additionally, the underlying macOS version has been bumped up to 10.15.5 from 10.15.4.


Major Software Changes from 11.x series

We will no longer be shipping Python 2 in our images due to it hitting EOL status and causing issues during installation as it is no longer maintained by Homebrew. If you require Python 2, we would suggest moving to a previous Xcode image, or creating your own tap for the Python 2 package.

We have bumped OpenJDK to version 11 (LTS) from OpenJDK 8 due to the latter being deprecated.


Image Info

Xcode 12.0 Build version 12A8169g is installed at /Applications/Xcode-12.beta.3.app

The following runtimes are installed:

  • iOS 13.5
  • iOS 14.0
  • tvOS 13.4
  • tvOS 14.0
  • watchOS 6.2
  • watchOS 7.0

The full manifest of installed software can be found here.

1 Like

@bytesguy We’re seeing problems with Bundler and a Gemfile with Fastlane in this release:

current directory:
 /Users/distiller/project-temp/vendor/bundle/gems/digest-crc-0.6.1/ext/digest
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -rrubygems
/Users/distiller/project-temp/vendor/bundle/gems/rake-13.0.1/exe/rake
RUBYARCHDIR\=/Users/distiller/project-temp/vendor/bundle/extensions/universal-darwin-19/2.6.0/digest-crc-0.6.1
RUBYLIBDIR\=/Users/distiller/project-temp/vendor/bundle/extensions/universal-darwin-19/2.6.0/digest-crc-0.6.1
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -S
extconf.rb
checking for stdint.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/$(RUBY_BASE_NAME)
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:467:in
`try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:585:in
`block in try_compile'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:534:in
`with_werror'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:585:in
`try_compile'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1109:in
`block in have_header'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:959:in
`block in checking_for'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in
`block (2 levels) in postpone'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in
`open'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in
`block in postpone'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in
`open'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:357:in
`postpone'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:958:in
`checking_for'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1108:in
`have_header'
	from extconf.rb:3:in `<main>'
rake aborted!
Command failed with status (1): [/System/Library/Frameworks/Ruby.framework/...]
/Users/distiller/project-temp/vendor/bundle/gems/digest-crc-0.6.1/ext/digest/Rakefile:32:in
`block (3 levels) in <top (required)>'
/Users/distiller/project-temp/vendor/bundle/gems/digest-crc-0.6.1/ext/digest/Rakefile:31:in
`chdir'
/Users/distiller/project-temp/vendor/bundle/gems/digest-crc-0.6.1/ext/digest/Rakefile:31:in
`block (2 levels) in <top (required)>'
/Users/distiller/project-temp/vendor/bundle/gems/rake-13.0.1/exe/rake:27:in
`<main>'
Tasks: TOP => default => crc16_genibus/crc16_genibus_ext.bundle =>
crc16_genibus/Makefile
(See full trace by running task with --trace)

rake failed, exit code 1

Gem files will remain installed in
/Users/distiller/project-temp/vendor/bundle/gems/digest-crc-0.6.1 for
inspection.
Results logged to
/Users/distiller/project-temp/vendor/bundle/extensions/universal-darwin-19/2.6.0/digest-crc-0.6.1/gem_make.out

An error occurred while installing digest-crc (0.6.1), and Bundler
cannot continue.
Make sure that `gem install digest-crc -v '0.6.1' --source
'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  xcode-install was resolved to 2.6.6, which depends on
    fastlane was resolved to 2.154.0, which depends on
      google-cloud-storage was resolved to 1.27.0, which depends on
        digest-crc


Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/Users/distiller/project-temp/vendor/bundle/gems/unf_ext-0.0.7.7/ext/unf_ext
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r
./siteconf20200731-708-iqflvj.rb extconf.rb
checking for -lstdc++... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/$(RUBY_BASE_NAME)
	--with-static-libstdc++
	--without-static-libstdc++
	--with-stdc++lib
	--without-stdc++lib
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:467:in
`try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:546:in
`block in try_link0'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tmpdir.rb:93:in
`mktmpdir'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:543:in
`try_link0'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:570:in
`try_link'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:789:in
`try_func'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1016:in
`block in have_library'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:959:in
`block in checking_for'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in
`block (2 levels) in postpone'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in
`open'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in
`block in postpone'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in
`open'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:357:in
`postpone'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:958:in
`checking_for'
from
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1011:in
`have_library'
	from extconf.rb:6:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can
be found here:

/Users/distiller/project-temp/vendor/bundle/extensions/universal-darwin-19/2.6.0/unf_ext-0.0.7.7/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
/Users/distiller/project-temp/vendor/bundle/gems/unf_ext-0.0.7.7 for inspection.
Results logged to
/Users/distiller/project-temp/vendor/bundle/extensions/universal-darwin-19/2.6.0/unf_ext-0.0.7.7/gem_make.out

An error occurred while installing unf_ext (0.0.7.7), and Bundler
cannot continue.
Make sure that `gem install unf_ext -v '0.0.7.7' --source
'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  xcode-install was resolved to 2.6.6, which depends on
    fastlane was resolved to 2.154.0, which depends on
      faraday-cookie_jar was resolved to 0.0.6, which depends on
        http-cookie was resolved to 1.0.3, which depends on
          domain_name was resolved to 0.5.20190701, which depends on
            unf was resolved to 0.1.4, which depends on
            
  unf_ext


Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/Users/distiller/project-temp/vendor/bundle/gems/json-2.3.1/ext/json/ext/generator
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r
./siteconf20200731-708-lc0n6a.rb extconf.rb
creating Makefile

current directory:
/Users/distiller/project-temp/vendor/bundle/gems/json-2.3.1/ext/json/ext/generator
make "DESTDIR=" clean

current directory:
/Users/distiller/project-temp/vendor/bundle/gems/json-2.3.1/ext/json/ext/generator
make "DESTDIR="
compiling generator.c
In file included from generator.c:1:
In file included from ./../fbuffer/fbuffer.h:5:
In file included from
/Applications/Xcode-12.beta.3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby.h:33:
/Applications/Xcode-12.beta.3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10:
fatal error: 'ruby/config.h' file not found
#include "ruby/config.h"
         ^~~~~~~~~~~~~~~
/Applications/Xcode-12.beta.3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10:
note: did not find header 'config.h' in framework 'ruby' (loaded from
'/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks')
1 error generated.
make: *** [generator.o] Error 1

make failed, exit code 2

Gem files will remain installed in
/Users/distiller/project-temp/vendor/bundle/gems/json-2.3.1 for inspection.
Results logged to
/Users/distiller/project-temp/vendor/bundle/extensions/universal-darwin-19/2.6.0/json-2.3.1/gem_make.out

An error occurred while installing json (2.3.1), and Bundler cannot
continue.
Make sure that `gem install json -v '2.3.1' --source 'https://rubygems.org/'`
succeeds before bundling.

In Gemfile:
  xcode-install was resolved to 2.6.6, which depends on
    fastlane was resolved to 2.154.0, which depends on
      json

Exited with code exit status 5 

We set the Ruby version to 2.6.6 but nothing :disappointed:, still the same error. Thoughts ?

@vikt0r.sigler :wave: This release of Xcode has been particularly buggy, so it wouldn’t surprise me if this is a knock on effect caused by the latest Command Line Tools (simply getting the tools installed was a bit of a nightmare in itself). Beta 4 will likely be out in the next couple of days (if Apple stick to their release cadence), so if you can hold out to try that then we can go from there :slight_smile:

If beta 4 is still causing problems then please feel free to drop in a ticket to support so we can look at this a bit further and try and determine if it’s environment related or not. Thanks!

1 Like