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

**URL:** https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935
**Category:** Development
**Tags:** maintenance
**Created:** [June 8, 2020, 10:41pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935 "2020-06-08T22:41:41Z")
**Posts on this page:** 18
**Page:** 1

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 8, 2020, 10:41pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/1 "2020-06-08T22:41:41Z")

</div>

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

- Slicer macOS application installer distributed on [https://download.slicer.org](https://download.slicer.org)
- corresponding Slicer extensions

## 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](https://github.com/Slicer/Slicer/pull/4940)

cc: @jamesobutler

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/4/f/4fbf3c22e3fbb515b190c6e543a89b6ba01a6e3d.png)

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 9, 2020, 11:43pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/2 "2020-06-09T23:43:26Z")

</div>

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

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 10, 2020, 12:57am UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/3 "2020-06-10T00:57:20Z")

</div>

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

Next steps:

- Update XCode
- Update Qt5 installation
- Integrate [COMP: Update minimum required CMAKE\_OSX\_DEPLOYMENT\_TARGET to 10.13 by jamesobutler · Pull Request #4940 · Slicer/Slicer · GitHub](https://github.com/Slicer/Slicer/pull/4940) and [factory-south-macos: Update nightly builds to use Qt 5.15.0 by jamesobutler · Pull Request #27 · Slicer/DashboardScripts · GitHub](https://github.com/Slicer/DashboardScripts/pull/27)

![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/a/e/ae27df49efdf1da5382cfe83d3f51491b033e316.png)

---

<div class="post-metadata">

### Author: ![jamesobutler](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jamesobutler/32/7511_2.png) [@jamesobutler](https://discourse.slicer.org/u/jamesobutler)
#### Post date: [June 10, 2020, 1:26am UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/4 "2020-06-10T01:26:41Z")

</div>

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

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 12, 2020, 4:28pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/5 "2020-06-12T16:28:18Z")

</div>

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](https://github.com/jcfr/qt-easy-build/tree/5.15.0) branch doing the following:

```auto
$ ./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

```

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 12, 2020, 4:41pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/6 "2020-06-12T16:41:50Z")

</div>

It looks like the XCode update is incompatible 😕

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/a/c/acd02e4728a4567851504c39f4afaef3482d5a52.png)

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 12, 2020, 5:02pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/7 "2020-06-12T17:02:06Z")

</div>

Now downloading XCode 10.1 from [https://developer.apple.com/download/more/](https://developer.apple.com/download/more/)

That seems to be the latest version supporting 10.13.6 (see [here](https://developer.apple.com/documentation/xcode_release_notes/xcode_10_1_release_notes))

Indeed, version 10.2 and beyond requires macOS 10.14.3 or later (see [here](https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes))

For the record, the version currently installed is:

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

```

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 12, 2020, 5:57pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/8 "2020-06-12T17:57:24Z")

</div>

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](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/6/9/69f6c618d10746d2e4f82f1c09a28f61fdbbe92d.png)

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:

```auto
$ /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](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/2/a/2a22a8af39a3fc90d73a0321df47c669a377fd28.png)

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 12, 2020, 7:28pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/9 "2020-06-12T19:28:29Z")

</div>

Qt5 build is moving along. I edited the instruction posted [above](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/5). `macosx10.14` had to be specified as the SDK root (instead of `macosx10.13`)

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 12, 2020, 8:03pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/10 "2020-06-12T20:03:35Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 15, 2020, 6:30pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/11 "2020-06-15T18:30:28Z")

</div>

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:

```auto
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`

---

<div class="post-metadata">

### Author: ![jamesobutler](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jamesobutler/32/7511_2.png) [@jamesobutler](https://discourse.slicer.org/u/jamesobutler)
#### Post date: [June 15, 2020, 7:44pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/12 "2020-06-15T19:44:06Z")

</div>

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

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 15, 2020, 8:34pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/13 "2020-06-15T20:34:50Z")

</div>

> [@jamesobutler](#):
>
> I haven’t tried myself, but as of 5.14.0 Qt is relocatable

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

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 18, 2020, 1:05pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/14 "2020-06-18T13:05:02Z")

</div>

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](https://github.com/Slicer/DashboardScripts/commit/26a343d5670b97aac7b7d004f95041c6f6692231) 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:

- [MacOS Sierra (10.12.6) dynamic linker errors](https://discourse.slicer.org/t/macos-sierra-10-12-6-dynamic-linker-errors/2339)
- [Building on Mac 10.14 Mojave](https://discourse.slicer.org/t/building-on-mac-10-14-mojave/4554/30)

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 18, 2020, 2:08pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/15 "2020-06-18T14:08:31Z")

</div>

Updates:

- Dashboard script have been updated to use `P` instead of `Preview` and `S` instead of `Stable`. See [Slicer/DashboardScripts@e234e01](https://github.com/Slicer/DashboardScripts/commit/e234e0154ae5becba26259148cb251ff605e69cb)
- Directory `/Volumes/Dashboards/Preview` has been deleted
- Previous `macOS` entry has been deleted from [http://slicer.cdash.org/index.php?project=SlicerPreview](http://slicer.cdash.org/index.php?project=SlicerPreview)
- macOS build has been manually restarted

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 18, 2020, 10:40pm UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/16 "2020-06-18T22:40:40Z")

</div>

Updates:

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

Next steps:

- Evaluate these options:
  - (1) Further reduce the path length by renaming the volume from `/Volumes/Dashboards` to `/Volumes/D`
  - (2) Look into adapting the `ld` wrapper developed to address similar issue in NixOS:
    - [https://github.com/NixOS/nixpkgs/pull/27536](https://github.com/NixOS/nixpkgs/pull/27536) and [https://github.com/NixOS/nixpkgs/issues/22810](https://github.com/NixOS/nixpkgs/issues/22810)
    - [https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/bintools-wrapper/macos-sierra-reexport-hack.bash](https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/bintools-wrapper/macos-sierra-reexport-hack.bash)

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`)

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 19, 2020, 12:26am UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/17 "2020-06-19T00:26:06Z")

</div>

Updates:

- Volume has been renamed from `Dashboards` to `D`
- Cronjobs updated
- Misc python virtual env recreated
- Dashboard scripts updated (see [Slicer/DashboardScripts@2e56a8b](https://github.com/Slicer/DashboardScripts/commit/2e56a8b97b681b0e8d3a596b92f9de7cfb3194ae))
- Qt5 build in progress

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

---

<div class="post-metadata">

### Author: ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)
#### Post date: [June 20, 2020, 2:48am UTC](https://discourse.slicer.org/t/2020-06-09-macos-packages-will-not-be-available-until-build-machine-is-updated-to-macos-10-13-6/11935/18 "2020-06-20T02:48:38Z")

</div>

Updates:

- There are no more `malformed mach-o: load commands size` error 👍
- Remaining errors are related to OpenSSL issues, these will be addressed in [https://github.com/Slicer/Slicer/pull/4992](https://github.com/Slicer/Slicer/pull/4992)
