MacOS Mojave Slicer4.10 install

Operating system: MacOX Mojave
Slicer version: 4.10
Expected behavior: Running the installed Slicer app
Actual behavior: OSX linker load command limit reached

Hello there,
I’ve installed Slicer4.10 from source on my Mac with Mojave. The install process went fine but when I execute Slicer, I get the error message from the OSX linker:

dyld: malformed mach-o: load commands size (36160) > 32768

Any ideas on how to solve it are welcome !
Thank you
Roland

Hi @Roland -

This is your local build? On one mac I was having similar issue so now I build with a short build tree path (e.g. I use /sq5). But you can probably also get away with longer paths.

-Steve

Hi @pieper
Thank you for your reply. Yes, this is a local build. Do build tree paths make a difference in the linker loading commands ? (Sorry for the noob question) I wish I could avoid building again as the full process is very lengthy (~5h).
Roland

Parallel builds speed up the process greatly. Use ‘make -jN’ where N is the number of parallel build/compile processes you want to run. On my 3.5 year old MacBook pro I usually run make -j6, increasing or decreasing N depending on whatever else I’m doing while the build is running. The entire build finishes in about an hour (more or less).

Hope this helps.

Hi @hherhold
Thanks for the answer. Yes, I’ve been doing parallel build no worries, although recently.
Do you suggest as @pieper did, to use short tree build ?
Best,

For large projects, maximum source and/or build folder paths are limited an all platforms due to various reasons. Since the Slicer build path is not relocatable, you need to rebuild from scratch in a shorter path.

Since running into the same problem you had, I’ve switched to shorter paths and stayed that way.

Hi guys,
So the morale of the story would be to parallel build with a shorter path.
Thank you, I will give it a try.
Will keep you posted if successful.
Best,

1 Like

Just a quick comment, since this seems to be a common issue, it would be good to have it documented somewhere ?

It was already mentioned in the build instructions but I added more details and examples when this topic came up here. See these sections:

1 Like

Hi there,
I’ve finally installed Slicer on /Slicer from the 4.10 revision. However, I’ve got the following error message when trying to install extensions:

No extensions found for mac osx:64-bit, revision: '0dc589e'. Please try a different combination

Any ideas why ? That’s be helpful to know.
Thank you.
Kind regards,

If you build your own Slicer, you are also expected to build all extensions, to ensure ABI compatibility.

Once you have built Slicer, it is easy to build all extensions, since their build is fully automated. You can bundle any extension in your custom build so that your users don’t need to install any extensions.

You can also try to replicate build environment of official Slicer builds on your computer (so that your custom Slicer build is ABI compatible with extensions in the official app store) force your repository revision (by default a git hash) match a Slicer stable or nightly release revision (still SVN revision numbers) and then your extension manager will find the corresponding extensions.

Hi @lassoan
Thank you for the reply. Although I’ve tried that for the OpenIGTLink extension but it doesn’t find it. Does the extension build need to be placed somewhere precisely ?
Thanks again
Roland

After you have built the extrnsion, you need to add the folders where the shared libraries are to the additional module paths.

You can also specify the extension source code folder when you configure your Slicer build and then the extension gets bundled in the package that you build.