Capella 5 on Mac

Hi
Great to see the release!
I struggle to get it up and running on my Mac runing Big Sur OS.

Tried the normal chmod but without nay success. Anyone else has the same issue?
Have not removed the old Java yet as I need to have a working installation until I get this one up and running

Thanks!
//John

This is the first topic I see on installing Capella 5.0 on Mac. I am going to see internally if somebody has tried it. I know we’ve had an issue on Linux…
Stephane LACRAMPE
ObeoSoft Canada

Thanks
I get zsh: exec format error when i read in the terminal that is opened up during execution

So,

  • I removed all the prev. java versions on my mac.
  • Downloaded latest Java (15 in my case) and installed the dmg
  • Downloaded a fresh copy and extracted it
  • moved it to where I wanted it
  • ran chmod a+x capella/Eclipse.app/Contents/MacOS/capella from the terminal to make capella executable

Now it works.
Great job on the new release

Hi John,

Capella 5.0 bundles contain an AdoptOpenJDK 14.0.2.
It seems that there are several issues with the macOS bundle:

  • the bundle extraction does not keep the execution permissions (it might be better if the build produces some tar.gz archive)
  • macOS can see the app as damaged (some actions can be needed to let GateKeeper or the quarantine mecanism accept the application.
  • the packaged JRE is not well referenced from Capella to be taken by default.

Here are the full steps I needed to do to be able to launch Capella 5.0 on macOS 10.15.7 with the JRE 14.0.2 provided in the Capella bundle:

  • Extract capella-5.0.0.202012021234-macosx-cocoa-x86_64.zip
  • Move the resulting folder (or its subfolders capella and samples) to another folder/location
  • Open a terminal and navigate to this capella folder
  • Restore permissions
    • Navigate to the Capella content folder: cd Eclipse.app/Contents/MacOS
    • Restore the execution permission on the capella executable chmod a+x capella
    • Navigate back to the capella folder: cd ../../../
    • Navigate to the JRE content folder: `cd jre/Contents/Home/bin/``
    • Restore the execution permission on all executables: chmod a+x *
  • Avoid macOS to see the app and internal JRE as damaged
    • navigate back to the capella folder
    • execute ‘xattr -d com.apple.quarantine Eclipse.app’
    • execute ‘xattr -d com.apple.quarantine jre’
    • navigate to jre/Content
      • navigate to MacOS folder and execute xattr -d com.apple.quarantine libjli.dylib
      • navigate to Home/lib folder and execute xattr -d com.apple.quarantine libjli.dylib
      • navigate to Home/lib/server folder and execute xattr -d com.apple.quarantine *
      • navigate to Home/bin folder and execute xattr -d com.apple.quarantine *
    • an optimized command might do this all in once, but this allow to explictly change what is needed.
  • Force Capella 5.0 to use the provided AdoptOpenJDK 14.0.2
    • open capella/capella.ini file in an editor like VS Code, Atom, …
    • add the following lines before the -vmargs section:
      -vm
      ../../../jre/Contents/Home/bin/

Bug 569651 has been created a few weeks ago to tracks this issue.
I have added a comment to indicate that the macOS version of the capella.ini file must also be modified to target the JRE 14.0.2 which is included in the bundle. I have also added a link to this post.

1 Like

This is gold! Please, ensure these instructions are sent to the Capella Wiki as well. It took me a while to find this, which could be much quicker and pleasant if it was there. Many thanks, @Maxime!

Hi,

I have submitted a pull request on the Capella build to fix several issues :

  • macOS bundle:
    • Capella.app instead of Eclipse.app, jre included inside and targeted as vm to use vm from capella.ini
    • Sample placed at the location targeted by the Import Capella Samples wizard
    • Corrected permissions to have an executable product
    • tar.gz archive to keep those permissions
  • Linux bundle
    • Corrected permissions to have an executable product
    • tar.gz archive to keep those permissions

It might still needs some adjustments around the permissions, I will find time in early January to improve the PR.

Regards

Update of my previous message to move steps to avoid “App is damaged and cannot be opened errors” on macOS in a better place

macOS process to be able to launch Capella 5.0 on macOS 10.15.7 with the JRE 14.0.2 provided in the Capella bundle:

  • Extract capella-5.0.0.202012021234-macosx-cocoa-x86_64.zip
  • Move the resulting folder (or its subfolders capella and samples) to another folder/location
  • Open a terminal and navigate to this capella folder
  • Avoid macOS to see the app and internal JRE as damaged
    • Execute ‘xattr -d com.apple.quarantine Eclipse.app’
    • Execute ‘xattr -d com.apple.quarantine jre’
    • Navigate to jre/Content
      • Navigate to MacOS folder and execute xattr -d com.apple.quarantine libjli.dylib
      • Navigate to Home/lib folder and execute xattr -d com.apple.quarantine libjli.dylib
      • Navigate to Home/lib/server folder and execute xattr -d com.apple.quarantine *
      • Navigate to Home/bin folder and execute xattr -d com.apple.quarantine *
    • an optimized command might do this all in once, but this allow to explicitly change what is needed.
  • Restore permissions
    • Navigate to the Capella content folder: cd Eclipse.app/Contents/MacOS
    • Restore the execution permission on the capella executable chmod a+x capella
    • Navigate back to the capella folder: cd ../../../
    • Navigate to the JRE content folder: `cd jre/Contents/Home/bin/``
    • Restore the execution permission on all executables: chmod a+x *
  • Force Capella 5.0 to use the provided AdoptOpenJDK 14.0.2
    • open capella/capella.ini file in an editor like VS Code, Atom, …
    • add the following lines before the -vmargs section:
      -vm
      ../../../jre/Contents/Home/bin/

Bug 569651 has been created a few weeks ago to tracks this issue.
I have added a comment to indicate that the macOS version of the capella.ini file must also be modified to target the JRE 14.0.2 which is included in the bundle. I have also added a link to this post.

With the last version of the proposed pull request:

  • macOS bundle:
    • extract the tar.gz archive content, execute xattr -d com.apple.quarantine Capella.app, launch Capella
    • the bundle is launched with the integrated JVM, the “Capella Sample” import wizard works fine.
  • Linux bundle :
    • extract the tar.gz archive content, launch capella
    • the bundle is launched with the integrated JVM, the “Capella Sample” import wizard works fine.

Notes:

  • The result is not yet available
  • As indicated on the Capella download page:

Mac and Linux versions have not been field-tested.

Hi,

Capella 5.0.0 for Mac and Linux versions have been re-released to fix this packaging issue.
You can download them from Capella website or here for the Mac version.

Regards,
Philippe

3 Likes

The latest version is working for me on macOS Big Sur (11.1) after running xattr -d com.apple.quarantine /Applications/Capella.app in terminal. As suggested above this should be mentioned in the wiki or maybe a readme within the download.

2 Likes

This file is damaged. How can I download the last version for Mac?

Hi,
You can download the latest version on Download section

Notice that there is 2 versions of the mac download, you need to download the one that fits your mac (64 bit or aarch64)

The download uses mirrors. Sometimes a mirror can be blocked for some reasons (proxy, firewall, etc). You can try by downloading from another mirror or by using the direct link.

Regards
Philippe

1 Like