2020.06.09: macOS packages will *not* be available until build machine is updated to macOS 10.13.6

Tomorrow, we plan to initiate the update the build machine responsible to build:

Implications for users

  • Preview Slicer package and extensions may not be available for one or two days

Implications for developers

This should allow us to update the minimum deployment target to 10.13 and build against the latest version of Qt5. See COMP: Update minimum required CMAKE_OSX_DEPLOYMENT_TARGET to 10.13 by jamesobutler · Pull Request #4940 · Slicer/Slicer · GitHub

cc: @jamesobutler

Update: The upgrade process has been initiated. Thanks for your patience :pray:

1 Like

The upgrade has been completed of both the firmware and the operating system have been completed :tada: (see below)

Next steps:

image

2 Likes

It would also be good if you can update https://www.slicer.org/wiki/Documentation/Nightly/Developers/Factory#Software

I re-initiated the XCode update on the factory-south-macos build machine.

Once this is done I will start the Qt build using 5.15.0 branch doing the following:

$ ./Build-qt.sh -s macosx10.14 -d 10.13 -j 4

[...]

This script will build Qt for Darwin system

QT_VERSION      : 5.15.0
OPENSSL_VERSION : 1.1.1d

[...]

Script options (macOS):

 -a OSX architectures ............................ x86_64
 -d OSX deployment target ........................ 10.13
 -s OSX sysroot .................................. macosx10.14

It looks like the XCode update is incompatible :confused:

Now downloading XCode 10.1 from https://developer.apple.com/download/more/

That seems to be the latest version supporting 10.13.6 (see here)

Indeed, version 10.2 and beyond requires macOS 10.14.3 or later (see here)

For the record, the version currently installed is:

/usr/bin/xcodebuild -version
Xcode 8.2.1
Build version 8C1002

After downloading the file Xcode_10.1.xip it will be available in ~/Downloads, then here are the steps:

  • double-click on it from finder, it extracts to Xcode.app
  • sudo mv /Application/Xcode.app /Applications/Xcode-8.2.1.app
  • sudo mv ~/Downloads/Xcode.app /Applications/

Nest step is to download and install the command line tool:

image

Once the file is downloaded, double-click on the .dmg file, and then double click again on the .pkg file and following instructions.

After starting Xcode, you will be prompted with additional installation instructions.

XCode 10.1 is now installed:

$ /usr/bin/xcodebuild -version
Xcode 10.1
Build version 10B61

$ gcc --version 
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

image

Qt5 build is moving along. I edited the instruction posted above. macosx10.14 had to be specified as the SDK root (instead of macosx10.13)

The corresponding dashboard script have also been updated.

Note: Build of Slicer ‘Stable’ release extensions has been disabled on macOS

Assuming the Qt5 build completes, we should expect tonight Slicer preview build to complete without issues.

1 Like

It turns out that Qt has been built in the wrong directory which caused the regular build to fail.

Qt is now being rebuilt following these instructions:

cd /Volumes/Dashboards/Support
./qt-easy-build/Build-qt.sh -s macosx10.14 -d 10.13 -j 4

This will ensure the Qt will be available in the expected directory /Volumes/Dashboards/Support/qt-everywhere-build-5.15.0

I haven’t tried myself, but as of 5.14.0 Qt is relocatable. See https://www.qt.io/blog/qt-is-relocatable

Good to know. It turns out I deleted the previous directory and restarted the build.

Updates:

  • Qt 5.15 has been built on the factory
  • Slicer build failed with malformed mach-o: load commands size error.
    • A first attempt to address the problem was implemented in Slicer/DashboardScripts@26a343 by changing the basename from Slicer to S.
    • With that change to number of failed tests went from 77 to 44

Next steps:

  • Update to use P instead of Preview and S instead of Stable to address remaining failures.

Related posts:

Updates:

Updates:

  • Reducing the path addressed some more issues there are remaining malformed mach-o: load commands size errors

Next steps:

I will probably go with option (1), this means we will have to rebuild Qt5, update cronjobs, …

We should look into (2) if we still have these issues after transitioning to the latest VTK, in this case we will have less libraries (no more *PythonD.dylib)

1 Like

Updates:

  • Volume has been renamed from Dashboards to D
  • Cronjobs updated
  • Misc python virtual env recreated
  • Dashboard scripts updated (see Slicer/DashboardScripts@2e56a8b)
  • Qt5 build in progress

:crossed_fingers: If the timing is right, and we forgot nothing … tomorrow build should look better !

Updates: