installing on macOS 13.5

52 views
Skip to first unread message

Randy Heiland

unread,
Oct 16, 2023, 1:47:52 PM10/16/23
to Morpheus users
Hello, I'm just wondering if there are any known issues installing/running Morpheus on macOS 13.5? It happens to be Apple silicon (arm64), but I don't think that's relevant, given Rosetta, and the fact that I can run other x86_64 binaries.

I attempted the homebrew install: https://morpheus.gitlab.io/download/2.3.4/#i-classfab-fa-applei-macos . After a fairly lengthy download/install of deps, I attempt to run/open morpheus-gui but it refuses. Same with just trying to run morpheus:

(base) M1P/usr/local/Cellar/morpheus/2.3.4/Morpheus.app/Contents/MacOS$ ./morpheus-gui
Illegal instruction: 4
(base) M1P/usr/local/Cellar/morpheus/2.3.4/Morpheus.app/Contents/MacOS$ ./morpheus
Illegal instruction: 4

I see it has these lib deps, but I do not have the ones in /usr/lib:

(base) M1P/usr/local/Cellar/morpheus/2.3.4/Morpheus.app/Contents/MacOS$ otool -L morpheus

morpheus:
/usr/local/opt/libomp/lib/libomp.dylib (compatibility version 5.0.0, current version 5.0.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
/usr/local/opt/libtiff/lib/libtiff.6.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1500.65.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.100.3)

I also attempted to build from source, but it also failed (can share more about that later if helpful).

thanks,
Randy

Randy Heiland

unread,
Oct 16, 2023, 5:45:54 PM10/16/23
to Morpheus users
Sorry for the noise. It's resolved now. I had/have a confusing dual homebrew situation on my Mac Silicon machine. I have two versions: one that installs x86_64 pkgs; one installs arm64 pkgs. When I install morpheus with the latter, it works fine. Hopefully useful for anyone else with this dual brew headache.
-Randy

Randy Heiland

unread,
Oct 30, 2023, 9:26:06 AM10/30/23
to Morpheus users
I spoke too soon, apparently. Yes, the GUI runs OK, but I cannot seem to actually run a simulation. In the JobQueue panel, it says "Starting Job <#>", however the simulation never runs. I'm trying to run Examples->CPM->CellSorting_2D. Also, I get "graph generation failed" in the graph panel.
This is using:
Version 2.2.5, revision 15.09.2021
Resource identification: Morpheus (RRID:SCR_014975)

M1P/Applications/Morpheus.app/Contents/MacOS$ file morpheus-gui
morpheus-gui: Mach-O 64-bit executable x86_64

I can run this same example OK on Windows and display .png output results (and the graph panel displays OK too).

Any suggestions?
thanks, Randy

Diego Jahn

unread,
Nov 1, 2023, 9:29:48 AM11/1/23
to Morpheus users
Hi Randy,

we've added ARM support starting with Morpheus 2.2.6. Is there a specific reason you need to run Morpheus 2.2.5 from the year 2021 (and not 2.3.4 as in your first post)?

Unless there is some compelling reason, could you please try to install and run the latest Morpheus release via Homebrew, which is currently v2.3.5? On an Apple silicon Mac, this should be done by running brew install morpheus or brew upgrade morpheus without Rosetta, i.e. with arch printing arm64 and not i386. Depending on the existing Morpheus installation(s) on your machine, you may first need to do a brew uninstall morpheus in a Rosetta Terminal or with arch -x86_64 prepended and/or delete the /Applications/Morpheus.app file if you'd like to create a shortcut to the new Homebrew Morpheus installation for ARM with ln -sf $(brew --prefix)/opt/morpheus/Morpheus.app /Applications as described on the release page.

Please let us know if you have any further questions.

Best,
Diego

Diego Jahn

unread,
Nov 2, 2023, 7:09:26 AM11/2/23
to Morpheus users
Hi Randy,

I've got your detailed output. Thanks for that. Now it all makes sense.

I'm posting my answer here in the Morpheus user group in case anyone else also comes across the problem again and is looking for help. So this is what happens at the moment:

$ brew install morpheus
==> Downloading https://imc.zih.tu-dresden.de/morpheus/packages/mac/Morpheus-2.2.5.2.dmg
################################################################################################################ 100.0%
==> Installing Cask morpheus
==> Moving App 'Morpheus.app' to '/Applications/Morpheus.app'
  morpheus was successfully installed!

Please add our Morpheus Homebrew tap with brew tap morpheus-lab/morpheus before you type brew install morpheus. Otherwise Homebrew will only be able to find the old Morpheus 2.2.5 Homebrew cask from a tap that ships with Homebrew. We don't provide DMG files/casks anymore, but Homebrew formulas from our own tap, that means basically installation routines that tell Homebrew how to build Morpheus on your machine. When the latter tap is added, Homebrew chooses the latest Morpheus formula over the outdated casks/DMGs.

Greetings,
Diego

Randy Heiland

unread,
Nov 5, 2023, 9:27:21 AM11/5/23
to Diego Jahn, Morpheus users
Still not having any luck. Here's what I now get. (Note: I have 2 versions of brew: one for x86_64 and one for arm64. I've aliased "brew_arm64" to be for the latter). Apologies for the verbose post, but hoping it may help track down the issues.

(base) M1P/opt/homebrew/Cellar$ brew_arm64 tap morpheus-lab/morpheus
(base) M1P/opt/homebrew/Cellar$ brew_arm64 install morpheus
==> Downloading https://formulae.brew.sh/api/formula.jws.json
######################################################################################################################### 100.0%
==> Downloading https://formulae.brew.sh/api/cask.jws.json
######################################################################################################################### 100.0%
Warning: Treating morpheus as a formula. For the cask, use homebrew/cask/morpheus
==> Fetching dependencies for morpheus-lab/morpheus/morpheus: xz, sqlite, qt and sdl2
==> Fetching xz
==> Downloading https://ghcr.io/v2/homebrew/core/xz/manifests/5.4.5
######################################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/xz/blobs/sha256:05d853bc61d9bf9ed3ca2e5e54bc240f1924fb9085618387f7f6ce90b25b1d9
######################################################################################################################### 100.0%
==> Fetching sqlite
==> Downloading https://ghcr.io/v2/homebrew/core/sqlite/manifests/3.44.0
######################################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/sqlite/blobs/sha256:6f82ff67c5b161e9f7d36a1b10c66de756806d6325d4f5233eb0edfb3e4
######################################################################################################################### 100.0%
==> Fetching qt
==> Downloading https://ghcr.io/v2/homebrew/core/qt/manifests/6.6.0
Already downloaded: /Users/heiland/Library/Caches/Homebrew/downloads/8885d98ccadde3e2108826ab8f27e724c21b9b424263abcc6104d054a278a944--qt-6.6.0.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/qt/blobs/sha256:da6b8e4dfcb405b4c4d3b1846b42b4fa0e77c27df4cefc122aaa296e0c56b07
Already downloaded: /Users/heiland/Library/Caches/Homebrew/downloads/cea12a6f10c6d42558d32e4623cca450a4a7375aef41824cfbb38ce6394da03d--qt--6.6.0.arm64_ventura.bottle.tar.gz
==> Fetching sdl2
==> Downloading https://ghcr.io/v2/homebrew/core/sdl2/manifests/2.28.5
######################################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/sdl2/blobs/sha256:901a5a95703bcc37cf9eb77385dd29cc02363e3f26a7f42cf4c1d4661f68a
######################################################################################################################### 100.0%
==> Fetching morpheus-lab/morpheus/morpheus
==> Downloading https://gitlab.com/morpheus.lab/morpheus/-/archive/v2.3.5/morpheus-v2.3.5.tar.gz
Already downloaded: /Users/heiland/Library/Caches/Homebrew/downloads/d5688170e62f19984b9cc2b0c86c26bf61b18bdbe271e6c5a0bfc22ca5a6daf7--morpheus-v2.3.5.tar.gz
==> Installing morpheus from morpheus-lab/morpheus
==> Installing dependencies for morpheus-lab/morpheus/morpheus: xz, sqlite, qt and sdl2
==> Installing morpheus-lab/morpheus/morpheus dependency: xz
==> Downloading https://ghcr.io/v2/homebrew/core/xz/manifests/5.4.5
Already downloaded: /Users/heiland/Library/Caches/Homebrew/downloads/4e81fda476fb634a7e1ac650019bfe768a65d6c387015992df4cd75adf9b3fce--xz-5.4.5.bottle_manifest.json
==> Pouring xz--5.4.5.arm64_ventura.bottle.tar.gz
🍺  /opt/homebrew/Cellar/xz/5.4.5: 163 files, 2.6MB
==> Installing morpheus-lab/morpheus/morpheus dependency: sqlite
==> Downloading https://ghcr.io/v2/homebrew/core/sqlite/manifests/3.44.0
Already downloaded: /Users/heiland/Library/Caches/Homebrew/downloads/b6e7cd31f42971fa5388d696a09f9cc3c6e7c5b49c3d0d49b9324db1a268b203--sqlite-3.44.0.bottle_manifest.json
==> Pouring sqlite--3.44.0.arm64_ventura.bottle.tar.gz
🍺  /opt/homebrew/Cellar/sqlite/3.44.0: 11 files, 4.7MB
==> Installing morpheus-lab/morpheus/morpheus dependency: qt
==> Downloading https://ghcr.io/v2/homebrew/core/qt/manifests/6.6.0
Already downloaded: /Users/heiland/Library/Caches/Homebrew/downloads/8885d98ccadde3e2108826ab8f27e724c21b9b424263abcc6104d054a278a944--qt-6.6.0.bottle_manifest.json
==> Pouring qt--6.6.0.arm64_ventura.bottle.tar.gz
Warning: This keg was marked linked already, continuing anyway
🍺  /opt/homebrew/Cellar/qt/6.6.0: 14,393 files, 623.2MB
==> Installing morpheus-lab/morpheus/morpheus dependency: sdl2
==> Downloading https://ghcr.io/v2/homebrew/core/sdl2/manifests/2.28.5
Already downloaded: /Users/heiland/Library/Caches/Homebrew/downloads/69242923b0fe826356c5beda2144d666bf7a966023b1f573199627a9a4667c10--sdl2-2.28.5.bottle_manifest.json
==> Pouring sdl2--2.28.5.arm64_ventura.bottle.tar.gz
🍺  /opt/homebrew/Cellar/sdl2/2.28.5: 93 files, 6.4MB
==> Installing morpheus-lab/morpheus/morpheus
==> cmake . -DMORPHEUS_RELEASE_BUNDLE=ON
==> make install
Last 15 lines from /Users/heiland/Library/Logs/Homebrew/morpheus/02.make:
make[5]: *** [src/CMakeFiles/sbml-static.dir/sbml/packages/comp/extension/CompSBMLDocumentPlugin.cpp.o] Error 1
make[5]: *** [src/CMakeFiles/sbml-static.dir/sbml/packages/comp/sbml/ExternalModelDefinition.cpp.o] Error 1
20 errors generated.
make[5]: *** [src/CMakeFiles/sbml-static.dir/sbml/packages/comp/extension/CompSBasePlugin.cpp.o] Error 1
20 errors generated.
20 errors generated.
make[5]: *** [src/CMakeFiles/sbml-static.dir/sbml/packages/comp/sbml/CompBase.cpp.o] Error 1
make[5]: *** [src/CMakeFiles/sbml-static.dir/sbml/packages/comp/sbml/Deletion.cpp.o] Error 1
make[4]: *** [src/CMakeFiles/sbml-static.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [3rdparty/libSBML/libSBML-prefix/src/libSBML-stamp/libSBML-build] Error 2
make[1]: *** [3rdparty/libSBML/CMakeFiles/libSBML.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 79%] Built target MorpheusSIM

And trying to just re-run after this "Waiting for " message, gives me the same error.
------------------------------------------------------------------

Because of the "Warning: Treating morpheus as a formula. For the cask, use homebrew/cask/morpheus", I also attempted this:

(base) M1P/opt/homebrew/Cellar$ brew_arm64 install --cask morpheus
==> Downloading https://formulae.brew.sh/api/cask.jws.json

==> Downloading https://imc.zih.tu-dresden.de/morpheus/packages/mac/Morpheus-2.2.5.2.dmg
Already downloaded: /Users/heiland/Library/Caches/Homebrew/downloads/420e05b4cf3db77920e5248df2b294935be7d39ab415c936dd3b4c4a9a46471c--Morpheus-2.2.5.2.dmg

==> Installing Cask morpheus
==> Moving App 'Morpheus.app' to '/Applications/Morpheus.app'
🍺  morpheus was successfully installed!

However, when I then run this app, it still doesn't "Start" a simulation (see screenshot).

------------------------------------------------------------------

Finally, a 3rd approach was to build from source (for arm64). After some experimentation, I ended up building libSBML from source, then using:

(base) M1P~/git/morpheus/build$ cmake .. -DLIBSBML_LIBRARY="/Users/heiland/dev/libsbml-5.20.2/build/src/libsbml.5.dylib" -DLIBSBML_INCLUDE_DIR=/Users/heiland/dev/libsbml-5.20.2/src

(base) M1P~/git/morpheus/build$ make

and it builds, but then I get:
(base) M1P~/git/morpheus/build$ gui/morpheus-gui
qSetGlobalQHashSeed: forced seed value is not 0, cannot guarantee that the hashing functions will produce a stable value.QFactoryLoader::QFactoryLoader() checking directory path "/Users/heiland/git/morpheus/build/gui/platforms" ...
qt.qpa.plugin: Could not find the Qt platform plugin "cocoa" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Abort trap: 6

Happy to provide the full results from 'make' if it would help. Out of curiosity, is there a cmake flag to bypass SBML as a dependency?

thanks, Randy

--
You received this message because you are subscribed to a topic in the Google Groups "Morpheus users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/morpheus-users/4uUgC3bUcwM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to morpheus-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/morpheus-users/1d0d6386-0dea-459e-8f70-c018c087b567n%40googlegroups.com.

Randy Heiland

unread,
Nov 7, 2023, 12:57:29 PM11/7/23
to Morpheus users

Let me follow-up with some happier news. Only a different Mac M1 (arm64) where I updated to Sonoma 14.1 and only had the arm64 flavor of homebrew installed, I followed the"brew tap morpheus-lab/morpheus" and "brew install morpheus" and it is running fine, including simulations and model graphs. I'll try to figure out the problems with my other Mac eventually.

Randy
Reply all
Reply to author
Forward
0 new messages