# SlicerElastix extension not available on Mac

**URL:** https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531
**Category:** Support
**Tags:** registration, build, extensions-manager
**Created:** [October 25, 2018, 7:57pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531 "2018-10-25T19:57:04Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)
#### Post date: [October 25, 2018, 7:57pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/1 "2018-10-25T19:57:04Z")

</div>

Hi all,

I wanted to show a Mac user the SlicerElastix extension but it was not there. After a bit of investigation, it turns out that it does not build at least since February.  
Here’s the [latest dashboard](http://slicer.cdash.org/index.php?project=SlicerPreview&filtercount=1&showfilters=1&field1=label&compare1=63&value1=Elastix) and the [error](http://slicer.cdash.org/viewBuildError.php?buildid=1411238) (and the [oldest available dashboard](http://slicer.cdash.org/index.php?project=SlicerPreview&date=2018-02-17&filtercount=1&showfilters=1&field1=label&compare1=63&value1=Elastix)).

Does anyone know what is needed in order to fix this? Can someone who usually develops on Mac check it out? Elastix is a great registration tool, we should have it in 4.10.

Thanks,  
csaba

---

<div class="post-metadata">

### Author: ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)
#### Post date: [November 5, 2018, 8:06pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/2 "2018-11-05T20:06:16Z")

</div>

@Sunderlandkyl managed to compile it locally. There were tons of warnings but no errors.

@jcfr It seems on the [dashboard](http://slicer.cdash.org/viewBuildError.php?buildid=1423261) that the same thing happened as for Kyle, but the warnings are somehow treated as errors. Maybe fixing the wrong parsing of the log would solve the problem?

Thanks!

---

<div class="post-metadata">

### Author: ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)
#### Post date: [November 5, 2018, 10:20pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/3 "2018-11-05T22:20:43Z")

</div>

I think build log parsing is only used for categorizing messages for dashboard display and does not have an effect on the build process (build error is detected by getting non-zero exit value of compiler and linker process).

@Sunderlandkyl could you try to build with latest Elastix version?

---

<div class="post-metadata">

### Author: ![Sunderlandkyl](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/sunderlandkyl/32/79987_2.png) [@Sunderlandkyl](https://discourse.slicer.org/u/Sunderlandkyl)
#### Post date: [November 5, 2018, 11:16pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/4 "2018-11-05T23:16:34Z")

</div>

@lassoan Compiles fine using the most recent Elastix version in the master branch (once some paths are changed in elastix\_patch.cmake).

---

<div class="post-metadata">

### Author: ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)
#### Post date: [November 5, 2018, 11:45pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/5 "2018-11-05T23:45:15Z")

</div>

Great! Could you please send a pull request with the necessary changes and the git hash you have tested with? Maybe build will succeed with this new version. Thank you!

---

<div class="post-metadata">

### Author: ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)
#### Post date: [November 6, 2018, 2:32pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/6 "2018-11-06T14:32:37Z")

</div>

Or we could use the master instead of a hash.

---

<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: [November 7, 2018, 6:36am UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/7 "2018-11-07T06:36:57Z")

</div>

> [@Sunderlandkyl](#):
>
> Compiles fine using the most recent Elastix version in the master branch

Nice work finding out the source of the problem 👍

> [@cpinter](#):
>
> Or we could use the master instead of a hash.

That said, I recommend against using the master branch in the actual extension code. This will make integration in custom application difficult as checking the code on day1 and on day2 could lead to different behavior and could make the reproduction of results very challenging, and the tracking of error difficult.

---

<div class="post-metadata">

### Author: ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)
#### Post date: [November 7, 2018, 1:58pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/8 "2018-11-07T13:58:53Z")

</div>

> [@jcfr](#):
>
> checking the code on day1 and on day2 could lead to different behavior

Not sure I agree.

- Fixed hash: You build the custom app on day 1, with extension hash A. Then you build custom app on day 2 with extension hash B. There is a bug related to extension. You need to go to the extension index and see which hash was used on day 1 and 2, and compare the two hashes
- Master: You build the custom app on day 1, with extension hash A. Then you build custom app on day 2 with extension hash B. There is a bug related to extension. You need to go to the extension repository and see what was the head each time. Compare the two hashes.

To me the two workflows seem to take the same amount of effort, except if there were many commits on day 1 in the second case, but le’s face it it’s very unlikely.  
On the other hand when you change anything in an extension that you want to make its way into the release you need to update the hash every single time in extension index, which is significant overhead, not mentioning the fact that it’s easy to forget about.

---

<div class="post-metadata">

### Author: ![Sunderlandkyl](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/sunderlandkyl/32/79987_2.png) [@Sunderlandkyl](https://discourse.slicer.org/u/Sunderlandkyl)
#### Post date: [November 7, 2018, 3:19pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/9 "2018-11-07T15:19:09Z")

</div>

The build is still failing in the same way as before, so changing the elastix version did not seem to have an effect: [http://slicer.cdash.org/viewBuildError.php?buildid=1425226](http://slicer.cdash.org/viewBuildError.php?buildid=1425226).

---

<div class="post-metadata">

### Author: ![fedorov](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/fedorov/32/14_2.png) [@fedorov](https://discourse.slicer.org/u/fedorov)
#### Post date: [November 7, 2018, 3:51pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/10 "2018-11-07T15:51:05Z")

</div>

> [@cpinter](#):
>
> Master: You build the custom app on day 1, with extension hash A. Then you build custom app on day 2 with extension hash B. There is a bug related to extension. You need to go to the extension repository and see what was the head each time. Compare the two hashes.

I don’t think this will be easy, and sometime it may not be possible. If you have SlicerElastix that depends on elastix “master” branch, it might be challenging to figure out which exact hash was checked out based on the specific time of the build. Imagine the scenario when prolific elastix developers make several commits on the night (morning in Europe) when Slicer dashboards checks out SlicerElastix.

+1 for FixedHash of the elastix repo and “master” for SlicerElastix in SlicerElastix.s4ext.

---

<div class="post-metadata">

### Author: ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)
#### Post date: [November 7, 2018, 3:56pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/11 "2018-11-07T15:56:01Z")

</div>

> [@fedorov](#):
>
> +1 for FixedHash of the elastix repo and “master” for SlicerElastix in SlicerElastix.s4ext

I was talking about the ExtensionIndex, not the Elastix external in the superbuild extension. So I agree with this.

---

<div class="post-metadata">

### Author: ![fedorov](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/fedorov/32/14_2.png) [@fedorov](https://discourse.slicer.org/u/fedorov)
#### Post date: [November 7, 2018, 3:58pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/12 "2018-11-07T15:58:21Z")

</div>

Sorry for my confusion!

ps I thought @jcfr was talking about actual hash for elastix, not SlicerElastix.

---

<div class="post-metadata">

### Author: ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)
#### Post date: [November 7, 2018, 4:06pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/13 "2018-11-07T16:06:30Z")

</div>

Probably he did and I was the one who misunderstood 🙂

We also use fixed hash for superbuild extension dependencies, and I agree with @jcfr’s concerns about that.

---

<div class="post-metadata">

### Author: ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)
#### Post date: [November 7, 2018, 10:25pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/14 "2018-11-07T22:25:20Z")

</div>

I’ve updated SlicerElastix to use a specific Elastix hash.

---

<div class="post-metadata">

### Author: ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)
#### Post date: [November 12, 2018, 3:01pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/18 "2018-11-12T15:01:31Z")

</div>

The build still fails. The errors still look like warnings, most of them (all of the ones I read) the type "overrides a member function but is not marked ‘override’ ".

It still seems to me that the problem is only with parsing the output, given that @Sunderlandkyl built it successfully.  
@jcfr could you take a look at this [dashboard entry](http://slicer.cdash.org/viewBuildError.php?buildid=1429401) please? You’ll probably see the problem immediately.

---

<div class="post-metadata">

### Author: ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)
#### Post date: [November 12, 2018, 7:42pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/19 "2018-11-12T19:42:56Z")

</div>

Log parser in CTest may misinterpret messages, but this does not affect the build process. Only return value of compiler, linker, etc. process execution matters. The easiest would be to restart the build on the factory machine. Then most likely the warnings would not be displayed again and you would immediately see the actual build error message.

---

<div class="post-metadata">

### Author: ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)
#### Post date: [February 21, 2019, 3:29pm UTC](https://discourse.slicer.org/t/slicerelastix-extension-not-available-on-mac/4531/20 "2019-02-21T15:29:16Z")

</div>

For the record, Mac build of SlicerElastix is available as of February 13.
