# sitkUtils.PullVolumeFromSlicer makes Slicer crash

**URL:** <https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781>\
**Category:** Development\
**Tags:** bug\
**Created:** [January 12, 2020, 1:11pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781 "2020-01-12T13:11:23Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![blowekamp](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/blowekamp/32/1386_2.png) [@blowekamp](https://discourse.slicer.org/u/blowekamp)\
**Post date:** [February 4, 2020, 4:40pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/21 "2020-02-04T16:40:36Z")

</div>

Has anyone else compiled Slicer with SimpleITK on OSX? Does it have this same casting problem?

> [@pieper](#):
>
> Yes, my local build is `Debug` and my CMakeCache.txt says:
> 
> `Slicer_USE_SimpleITK_SHARED:BOOL=ON`

And your build does not exhibit this issue. Could you delete all the SITK build stuff and try with `Slicer_USE_SimpleITK_SHARED:BOOL=OFF`?

I wonder if anyone else has a local build of Slicer with SimpleITK enabled on OSX to check if they have this same issue?

---

<div class="post-metadata">

**Author:** ![Sam\_Horvath](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/sam_horvath/32/3092_2.png) [@Sam\_Horvath](https://discourse.slicer.org/u/Sam_Horvath)\
**Post date:** [February 4, 2020, 4:41pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/22 "2020-02-04T16:41:17Z")

</div>

I am actually not sure how to reproduce the factory setup (wiki info is out of date). @jcfr !!

I can set up up debug build on the factory. Steve, you posted earlier that your local (debug) build wasn’t crashing?

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [February 4, 2020, 5:30pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/23 "2020-02-04T17:30:45Z")

</div>

Right, my debug build with shared libraries does not crash. I’ll try non-shared as Brad suggested and report back.

---

<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:** [February 4, 2020, 5:46pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/24 "2020-02-04T17:46:01Z")

</div>

> [@Sam\_Horvath](#):
>
> I am actually not sure how to reproduce the factory setup (wiki info is out of date).

Which information is not up-to-date ? See [Documentation/Nightly/Developers/Factory - Slicer Wiki](https://www.slicer.org/wiki/Documentation/Nightly/Developers/Factory#factory-south.kitware)

What are you trying to do ?

---

<div class="post-metadata">

**Author:** ![Sam\_Horvath](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/sam_horvath/32/3092_2.png) [@Sam\_Horvath](https://discourse.slicer.org/u/Sam_Horvath)\
**Post date:** [February 4, 2020, 5:58pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/25 "2020-02-04T17:58:17Z")

</div>

I am not familiar with mac, and so I am not sure how the clang compiler interacts with the XCode setup (cmake finds the compiler through the xcode toolchain). I don’t know how the compiler is installed or from where.

The factory notes includes details about VMs on the mac machine which is very out of date for our current setup.

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [February 4, 2020, 6:41pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/26 "2020-02-04T18:41:32Z")

</div>

I can replicate the crash when I build in Debug with `Slicer_USE_SimpleITK_SHARED:BOOL=OFF`

Here’s the stack trace. As suspected the dynamic case results in a null pointer.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/6/a/6a69749504d6e5269f387988dcc33dd0dfaf02d4.jpeg)

Here’s some more info on the object it’s trying to convert:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/0/5/05b9e0cedb780d64141ff4edec21a9b3f1816e8f.jpeg)

---

<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:** [February 4, 2020, 7:06pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/27 "2020-02-04T19:06:59Z")

</div>

> [@Sam\_Horvath](#):
>
> clang compiler interacts with the XCode setup

This is the compiler provided by XCode installed on the machine. I updated the page.

---

<div class="post-metadata">

**Author:** ![blowekamp](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/blowekamp/32/1386_2.png) [@blowekamp](https://discourse.slicer.org/u/blowekamp)\
**Post date:** [February 5, 2020, 9:38pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/28 "2020-02-05T21:38:39Z")

</div>

Thanks for testing Steve! That was a big help to help reproduce the issue.

I believe the following correction is needed, but my build has not finished the clean rebuild. The partial rebuild failed but the nm inspection of the \_SimpleITK.so library indicated the symbols were exported as the prior working version.

```auto
diff --git a/SuperBuild/External_SimpleITK.cmake b/SuperBuild/External_SimpleITK.cmake
index 2e8f20106..cb3cd4710 100644
--- a/SuperBuild/External_SimpleITK.cmake
+++ b/SuperBuild/External_SimpleITK.cmake
@@ -88,7 +88,7 @@ ExternalProject_Execute(${proj} \"install\" \"${PYTHON_EXECUTABLE}\" Packaging/s
       -DSimpleITK_INSTALL_ARCHIVE_DIR:PATH=${Slicer_INSTALL_LIB_DIR}
       -DSimpleITK_INSTALL_LIBRARY_DIR:PATH=${Slicer_INSTALL_LIB_DIR}
       -DSimpleITK_INT64_PIXELIDS:BOOL=OFF
- -DSimpleITK_EXPLICIT_INSTATIATION_DEFAULT:BOOL=ON
+ -DSimpleITK_EXPLICIT_INSTANTIATION:BOOL=ON
       -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
       -DSimpleITK_USE_SYSTEM_ITK:BOOL=ON
       -DITK_DIR:PATH=${ITK_DIR}

```

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [February 5, 2020, 10:34pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/29 "2020-02-05T22:34:44Z")

</div>

Just changing the flag and rebuilding didn’t work, so I’m deleting all my Simple\* directories from the build tree and retrying.

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [February 5, 2020, 11:06pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/30 "2020-02-05T23:06:31Z")

</div>

Unfortunately setting `-DSimpleITK_EXPLICIT_INSTATIATION:BOOL=ON` didn’t work even after rebuilding all the SimpleITK code. It still crashes when I try to run a command in SimpleFilters.

Anything else to try?

---

<div class="post-metadata">

**Author:** ![blowekamp](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/blowekamp/32/1386_2.png) [@blowekamp](https://discourse.slicer.org/u/blowekamp)\
**Post date:** [February 6, 2020, 1:55pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/31 "2020-02-06T13:55:40Z")

</div>

Let us verify this build and installation as we have had problems getting a clear re-build of SimpleITK before.

To check the build SimpleITK library got install correctly and the symbols are as expected, please in the build directory run:

```auto
for f in $(find ./ -name _SimpleITK.\*.so); do nm -C $f | grep vtable\ for\ itk::ImageBase; echo "==>$f"; done

```

This should find the library in the SimpleITK-build directory and the one installed in Python’s site-packages.

This distinguishes between the working Slicers and the broken ones:

```auto
$ for f in $(find ./ -name _SimpleITK.\*.so); do nm -C $f | grep vtable\ for\ itk::ImageBase; echo "==>$f"; done
==>.//Slicer-2020-01-15.app/Contents/lib/Python/lib/python3.6/site-packages/SimpleITK-1.3.0.dev527-py3.6-macosx-10.11-x86_64.egg/SimpleITK/_SimpleITK.cpython-36m-darwin.so

00000000078234d8 D **vtable for itk::ImageBase** <1u>

0000000007823728 D **vtable for itk::ImageBase** <2u>

0000000007823978 D **vtable for itk::ImageBase** <3u>

==>.//Slicer-2019-12-28.app/Contents/lib/Python/lib/python3.6/site-packages/SimpleITK-1.3.0rc2.dev260-py3.6-macosx-10.11-x86_64.egg/SimpleITK/_SimpleITK.cpython-36m-darwin.so

==>.//Slicer-2020-01-30.app/Contents/lib/Python/lib/python3.6/site-packages/SimpleITK-1.3.0.dev527-py3.6-macosx-10.11-x86_64.egg/SimpleITK/_SimpleITK.cpython-36m-darwin.so

==>.//Slicer-2020-01-30.app/Contents/lib/Python/lib/python3.6/site-packages/SimpleITK-1.3.0.dev527-py3.6-macosx-10.11-x86_64.egg/SimpleITK/_SimpleITK.cpython-36m-darwin.so

```

---

<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:** [February 6, 2020, 5:45pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/32 "2020-02-06T17:45:53Z")

</div>

> [@pieper](#):
>
> `-DSimpleITK_EXPLICIT_INSTATIATION:BOOL=ON`

SHould we just change this in the nightly build and see if it fixes the issue? (worst case it does not fix the problem on Mac and breaks Windows builds, too - but these should be OK for one day)

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [February 6, 2020, 6:59pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/33 "2020-02-06T18:59:43Z")

</div>

> [@blowekamp](#):
>
> for f in $(find ./ -name \_SimpleITK.\*.so); do nm -C $f | grep vtable\ for\ itk::ImageBase; echo “==\>$f”; done

Here are my results. I’ll try deleting these python installation versions and rebuild using the same settings (non-shared, with explicit instantiation).

```auto
rock:s pieper$ for f in $(find ./ -name _SimpleITK.\*.so); do nm -C $f | grep vtable\ for\ itk::ImageBase; echo "==>$f"; done
000000000e683328 s vtable for itk::ImageBase<1u>
000000000e02f0d0 s vtable for itk::ImageBase<2u>
000000000e02c5f0 s vtable for itk::ImageBase<3u>
000000000e279818 s vtable for itk::ImageBase<4u>
000000000df04660 s vtable for itk::ImageBase<5u>
==>.//python-install/lib/python3.6/site-packages/SimpleITK-1.3.0.dev527-py3.6-macosx-10.14-x86_64.egg/SimpleITK/_SimpleITK.cpython-36m-darwin.so
==>.//python-install/lib/python3.6/site-packages/SimpleITK-1.3.0rc2.dev260-py3.6-macosx-10.14-x86_64.egg/SimpleITK/_SimpleITK.cpython-36m-darwin.so
000000000e683328 s vtable for itk::ImageBase<1u>
000000000e02f0d0 s vtable for itk::ImageBase<2u>
000000000e02c5f0 s vtable for itk::ImageBase<3u>
000000000e279818 s vtable for itk::ImageBase<4u>
000000000df04660 s vtable for itk::ImageBase<5u>
==>.//SimpleITK-build/SimpleITK-build/Wrapping/Python/build/lib.macosx-10.14-x86_64-3.6/SimpleITK/_SimpleITK.cpython-36m-darwin.so

```

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [February 6, 2020, 7:00pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/34 "2020-02-06T19:00:28Z")

</div>

> [@lassoan](#):
>
> SHould we just change this in the nightly build and see if it fixes the issue?

I would say yes, or we can wait until my build finishes.

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [February 6, 2020, 10:54pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/35 "2020-02-06T22:54:25Z")

</div>

I deleted and regenerated the files and this is what I get (slicer still crashes when I try to run a SimpleFilters operation).

```auto
rock:s pieper$ for f in $(find ./ -name _SimpleITK.\*.so); do nm -C $f | grep vtable\ for\ itk::ImageBase; echo "==>$f"; done
000000000e683328 s vtable for itk::ImageBase<1u>
000000000e02f0d0 s vtable for itk::ImageBase<2u>
000000000e02c5f0 s vtable for itk::ImageBase<3u>
000000000e279818 s vtable for itk::ImageBase<4u>
000000000df04660 s vtable for itk::ImageBase<5u>
==>.//python-install/lib/python3.6/site-packages/SimpleITK-1.3.0.dev527-py3.6-macosx-10.14-x86_64.egg/SimpleITK/_SimpleITK.cpython-36m-darwin.so
000000000e683328 s vtable for itk::ImageBase<1u>
000000000e02f0d0 s vtable for itk::ImageBase<2u>
000000000e02c5f0 s vtable for itk::ImageBase<3u>
000000000e279818 s vtable for itk::ImageBase<4u>
000000000df04660 s vtable for itk::ImageBase<5u>
==>.//SimpleITK-build/SimpleITK-build/Wrapping/Python/build/lib.macosx-10.14-x86_64-3.6/SimpleITK/_SimpleITK.cpython-36m-darwin.so

```

---

<div class="post-metadata">

**Author:** ![blowekamp](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/blowekamp/32/1386_2.png) [@blowekamp](https://discourse.slicer.org/u/blowekamp)\
**Post date:** [February 7, 2020, 3:09pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/36 "2020-02-07T15:09:24Z")

</div>

I was able to get back to my build. The symbols of the library are as expected and match that of the working Slicer distribution:

```auto
Slicer]$ for f in $(find ./ -name _SimpleITK.\*.so); do nm -C $f | grep vtable\ for\ itk::ImageBase; echo "==>$f"; done
00000000114cf1b0 D vtable for itk::ImageBase<1u>
00000000114cf400 D vtable for itk::ImageBase<2u>
00000000114cf650 D vtable for itk::ImageBase<3u>
0000000010d2d280 d vtable for itk::ImageBase<4u>
0000000010a15170 d vtable for itk::ImageBase<5u>
==>.//python-install/lib/python3.6/site-packages/SimpleITK-1.3.0.dev527-py3.6-macosx-10.13-x86_64.egg/SimpleITK/_SimpleITK.cpython-36m-darwin.so
00000000114cf1b0 D vtable for itk::ImageBase<1u>
00000000114cf400 D vtable for itk::ImageBase<2u>
00000000114cf650 D vtable for itk::ImageBase<3u>
0000000010d2d280 d vtable for itk::ImageBase<4u>
0000000010a15170 d vtable for itk::ImageBase<5u>
==>.//SimpleITK-build/SimpleITK-build/Wrapping/Python/build/lib.macosx-10.13-x86_64-3.6/SimpleITK/_SimpleITK.cpython-36m-darwin.so

```

Now, the from the GUI the python fails on `sitk.Image(10,10,sitk.sitkUInt8);

_corrected_  
From the command line with `PythonSlicer` there are unresolved sysmbols, which I guess is expected:

```auto
 .//python-install/bin/PythonSlicer -c "import SimpleITK as sitk; sitk.Image(10,10,sitk.sitkUInt8);"
dyld: lazy symbol binding failed: Symbol not found: __ZN3itk11ImageRegionILj2EEC1Ev
  Referenced from: /scratch/blowekamp/Slicer/python-install/lib/python3.6/site-packages/SimpleITK-1.3.0.dev527-py3.6-macosx-10.13-x86_64.egg/SimpleITK/_SimpleITK.cpython-36m-darwin.so
  Expected in: flat namespace

dyld: Symbol not found: __ZN3itk11ImageRegionILj2EEC1Ev
  Referenced from: /scratch/blowekamp/Slicer/python-install/lib/python3.6/site-packages/SimpleITK-1.3.0.dev527-py3.6-macosx-10.13-x86_64.egg/SimpleITK/_SimpleITK.cpython-36m-darwin.so
  Expected in: flat namespace

error: [/scratch/blowekamp/Slicer/python-install/bin/./python] exit abnormally - Report the problem.

```

---

<div class="post-metadata">

**Author:** ![blowekamp](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/blowekamp/32/1386_2.png) [@blowekamp](https://discourse.slicer.org/u/blowekamp)\
**Post date:** [February 7, 2020, 5:03pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/37 "2020-02-07T17:03:16Z")

</div>

I compiled SimpleITK v1.2.4 with the currently Slicer environment. I got simular terminations as before.

I did attach lldb to a running Slicer process and entered `sitk.Image(10,10,sitk.sitkUInt8)`:

This is the top of the stack trace I got:

```auto
 thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00000001063553ba dyld`__abort_with_payload + 10
    frame #1: 0x0000000106354bac dyld`abort_with_payload_wrapper_internal + 82
    frame #2: 0x0000000106354bde dyld`abort_with_payload + 9
    frame #3: 0x0000000106314a9d dyld`dyld::halt(char const*) + 343
    frame #4: 0x0000000106314bc7 dyld`dyld::fastBindLazySymbol(ImageLoader**, unsigned long) + 167
    frame #5: 0x00007fff7b20532e libdyld.dylib`dyld_stub_binder + 282
    frame #6: 0x000000016233f3c8 _SimpleITK.cpython-36m-darwin.so
    frame #7: 0x0000000152bd2c1a _SimpleITK.cpython-36m-darwin.so`void std:: __1::__ invoke_void_return_wrapper<void>:: __call<std::__ 1::__bind<void (itk::simple::Image::*&)(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int), itk::simple::Image*&, std::__1::placeholders:: __ph<1> const&, std::__ 1::placeholders:: __ph<2> const&, std::__ 1::placeholders:: __ph<3> const&, std::__ 1::placeholders:: __ph<4> const&, std::__ 1::placeholders::__ph<5> const&>&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int>(std::__1::__bind<void (itk::simple::Image::*&)(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int), itk::simple::Image*&, std::__1::placeholders:: __ph<1> const&, std::__ 1::placeholders:: __ph<2> const&, std::__ 1::placeholders:: __ph<3> const&, std::__ 1::placeholders:: __ph<4> const&, std::__ 1::placeholders::__ph<5> const&>&&&, unsigned int&&, unsigned int&&, unsigned int&&, unsigned int&&, unsigned int&&) [inlined] decltype(__f=0x00007ffeebeec2a8, __a0=0x00007ffeebeec2b8,__ args=0x00007ffeebeebcfc, __args=0x00007ffeebeebcf8,__ args=0x00007ffeebeebcf4, __args=0x00007ffeebeebcf0,__ args=0x00007ffeebeebcec)).*fp(std::__1::forward<unsigned int, unsigned int, unsigned int, unsigned int, unsigned int>(fp1))) std::__1::__invoke<void (itk::simple::Image::*&)(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int), itk::simple::Image*&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, void>(void (itk::simple::Image::*&&&)(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int), itk::simple::Image*&&&, unsigned int&&, unsigned int&&, unsigned int&&, unsigned int&&, unsigned int&&) at type_traits:4264

```

From googling, I believe this is due to missing symbols.

---

<div class="post-metadata">

**Author:** ![blowekamp](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/blowekamp/32/1386_2.png) [@blowekamp](https://discourse.slicer.org/u/blowekamp)\
**Post date:** [February 7, 2020, 8:56pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/38 "2020-02-07T20:56:04Z")

</div>

I was able to get the library working by setting “CMAKE\_CXX\_VISIBILITY\_PRESET=default” and disabling the SimpleITK’s explicit ITK library. This [SimpleITK PR](https://github.com/SimpleITK/SimpleITK/pull/968) will be required.

Because all the ITK symbols are at the library interface now the size is much larger:

483M .//python-install/lib/python3.6/site-packages/SimpleITK-1.2.4-py3.6-macosx-10.13-x86\_64.egg/SimpleITK/\_SimpleITK.cpython-36m-darwin.so

After `strip -x`:  
296M .//python-install/lib/python3.6/site-packages/SimpleITK-1.2.4-py3.6-macosx-10.13-x86\_64.egg/SimpleITK/\_SimpleITK.cpython-36m-darwin.so

By comparison the SimpleITK pypi binary contains all ITK IO, but doesn’t expose any symbols. The library is much smaller:  
179M .//lib/python3.6/site-packages/SimpleITK/\_SimpleITK.cpython-36m-darwin.so

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [February 7, 2020, 9:21pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/39 "2020-02-07T21:21:50Z")

</div>

Nice Brad 👍

Looks like that PR has been merged, so I’ll try a local build.

---

<div class="post-metadata">

**Author:** ![blowekamp](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/blowekamp/32/1386_2.png) [@blowekamp](https://discourse.slicer.org/u/blowekamp)\
**Post date:** [February 7, 2020, 9:37pm UTC](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781/40 "2020-02-07T21:37:06Z")

</div>

This is what I am working on compiling locally:

> **[blowekamp/Slicer](https://github.com/blowekamp/Slicer/tree/SimpleITKUseDefaultVisibility)**
>
> Multi-platform, free open source software for visualization and image computing. - blowekamp/Slicer

The change of visibility likely is not needed on Linux and Windows ( Have we verified SimpleITK is working on them currently?), so to minimize size it may be best to only change the visibility on OSX.

[Previous page](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781.md?page=1)

[Next page](https://discourse.slicer.org/t/sitkutils-pullvolumefromslicer-makes-slicer-crash/9781.md?page=3)
