Difference between revisions of "EiffelOnMac"

m
(Using Homebrew)
 
(27 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
[[Category:Macintosh]]
 
[[Category:Macintosh]]
  
This page gives you an overview about how to get EiffelStudio running on your Mac (Leopard, Snow Leopard, Lion or Mountain Lion).
+
This page gives you an overview about how to get EiffelStudio running on your Mac (Mavericks or above).
  
 
==Requirements==
 
==Requirements==
  
*You will need to install '''Xcode''' from the App Store. (On old versions of OS X, Xcode was on your OSX-Installation disk, or you downloaded it from Apple's developer web site.) After installing Xcode, make sure to install the command line tools by going to the Xcode preferences and under '''Downloads''' install the '''Command Line Tools''' components.
+
*'''X11 (XQuartz)''': install version 2.7.5 minimum from http://xquartz.macosforge.org.
 +
*You will need to install '''Xcode''' from the App Store. After installing Xcode, make sure to install the command line tools by typing:
 +
<pre>
 +
xcode-select --install
 +
</pre>
 +
This will popup a dialog asking if you want to install the command line developer tools.  
  
*X11:
+
{{Note|If you have an OS older than 10.10 (e.g. 10.9.5) you might have a problem installing Xcode from the App Store. You can then go to https://developer.apple.com/downloads/ (Apple ID needed). Remember to install the command line tools.}}
** On OS X 10.8 (Mountain Lion): install it from http://xquartz.macosforge.org.
+
** On OS X 10.5, 10.6 and 10.7: nothing to be done.
+
** ON OS X 10.4 and older: install it from your OS X installation disk.
+
  
{{Note|Advanced users may not need to install Xcode as long as you install the '''development tools'''. Even though you save in download time, you might waste  a lot of time trying to fix missing dependencies. In other words, unless you are feeling adventurous, do install Xcode.}}
+
{{Note| Advanced users may not need to install Xcode as long as you install the '''development tools'''. Even though you save in download time, you might waste  a lot of time trying to fix missing dependencies. In other words, unless you are feeling adventurous, do install Xcode.}}
  
 
== Installation ==
 
== Installation ==
  
 
=== Using MacPorts ===
 
=== Using MacPorts ===
The following should work on Mac OS X 10.4 and later.
 
 
 
MacPorts is a tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install [http://guide.macports.org/#installing MacPorts].
 
MacPorts is a tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install [http://guide.macports.org/#installing MacPorts].
  
 
Now simply type (from a bash [http://guides.macrumors.com/Terminal terminal]):
 
Now simply type (from a bash [http://guides.macrumors.com/Terminal terminal]):
 
<pre>
 
<pre>
sudo port install eiffelstudioXX
+
sudo port install eiffelstudio
 
</pre>
 
</pre>
where 'XX' stands for the EiffelStudio version you want to install (for example eiffelstudio72) and after some time (compiling on a 2.4 GHz Intel Mac takes about an hour) you're ready to go.  
+
This will actually compile and install the whole EiffelStudio delivery. This takes about 15 minutes on a 2013 Mac.
  
Older development packages are available under the name eiffelstudioYY, etc. All packages can be installed simultaneously because they are located in different directories.
+
When a new release of EiffelStudio becomes available, it may take some weeks before it's available from MacPorts. You can check by running this command:
 +
<pre>
 +
port info eiffelstudio
 +
</pre>
  
When a new release of the same version EiffelStudio becomes available, you can upgrade like so:
+
Once the new release is available, you can upgrade like so:
 
<pre>
 
<pre>
 
sudo port selfupdate
 
sudo port selfupdate
Line 36: Line 39:
 
</pre>
 
</pre>
  
=== Issues with old versions of EiffelStudio ===
+
=== Using Homebrew ===
* '''EiffelStudio 7.1''' had a bug preventing Vision2 applications from compiling out of the box. You can work around this by editing /Applications/MacPorts/Eiffel71/library/vision2/vision2.ecf and removing line 147:
+
 
+
<pre>
+
<custom name="vision_implementation" excluded_value="gtk34"/>
+
</pre>
+
  
 +
{{Warning|As of 2015, the graphical version of EiffelStudio won't work in Homebrew due to a bug in the GTK package included in Homebrew. However all the command line tools will work.}}
  
* '''EiffelStudio 6.8''' was broken by GTK+-2.0 version 2_24_5_0+x11. A fix is to install gtk2 2_24_4_0+x11 (the previous minor version), or to deactivate the former and activate the latter if you already have both installed.
+
A light-weight alternative to installing MacPorts is [https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Installation.md#installation Homebrew].
 +
Once Homebrew is installed type the following commands to install EiffelStudio (from a bash [http://guides.macrumors.com/Terminal terminal]):
  
 
<pre>
 
<pre>
sudo port deactivate gtk2 @2_24_5_0+x11
+
brew update
sudo port activate gtk2 @2_24_4_0+x11
+
brew install eiffelstudio
 
</pre>
 
</pre>
  
 
=== Using binary packages ===
 
=== Using binary packages ===
  
{{Warning|This method does not work at the moment. Please install EiffelStudio using MacPorts.<br/>See [[Talk:EiffelOnMac|Discussion]] for more information.}}
+
{{Warning|This method still requires an initial installation via MacPorts or Homebrew.}}
  
# Install the latest version of [http://xquartz.macosforge.org/trac/wiki/WikiStart XQuartz]: [http://xquartz.macosforge.org/downloads/X11-2.4.0.dmg download]
+
Download the latest .tar.bz2 package from the Eiffel Software site that matches MacPorts or Homebrew. Then follow the same [https://docs.eiffel.com/book/eiffelstudio/eiffelstudio-linux instructions as the Linux version] to setup the environment variables needed to run EiffelStudio. Keep the ISE_PLATFORM value to macosx-x86-64.
# Install the EiffelStudio 6.4 Mac package: [http://dfurrer.com/files/eiffelstudio64.dmg download]
+
  
This installer was created using MacPorts as well as using the mpkg command. For more information take a look at the [http://guide.macports.org MacPorts Guide]
+
== Starting EiffelStudio installed via MacPorts ==
 
+
== Starting EiffelStudio ==
+
  
 
Simply navigate to /Applications/MacPorts/Eiffel''XX'' and double click the EiffelStudio icon.
 
Simply navigate to /Applications/MacPorts/Eiffel''XX'' and double click the EiffelStudio icon.
  
 
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.
 
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.
 +
 +
==Hints==
 +
* Pick and Drop works with Apple-key + mouse click.
 +
* To set up the correct (default) browsers use "open" as your command-line browser in Tools>Preferences...
 +
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:
 +
** Use the toolbar instead.
 +
** Reassign these shortcuts in EiffelStudio (Tools>Preferences).
 +
** Reassign the Exposé keys in System Preferences.
  
 
== FAQ ==
 
== FAQ ==
===I get a crash with a Permission denied: Operating system error, how do I fix it?===
 
 
Delete the .ec directory in your home directory.
 
 
===I get an error with precompiles, why is that ?===
 
 
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue you have to disable the precompiles with those versions or upgrade to a recent version of EiffelStudio.
 
 
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project>Project menu. In the 'Groups>Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}
 
 
 
 
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' > '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}
 
 
 
=== How can I make EiffelStudio on the Mac look nicer? ===
 
=== How can I make EiffelStudio on the Mac look nicer? ===
 
* From macports, install the gtk2 (if not already installed) and gtk-chtheme packets. Then run gtk-chtheme and you get a nice GUI to choose your theme. Additional GTK themes can be put in  /opt/local/share/themes/ (There a thousands of them on the web, for example here : [http://art.gnome.org/themes/gtk2 http://art.gnome.org/themes/gtk2])
 
* From macports, install the gtk2 (if not already installed) and gtk-chtheme packets. Then run gtk-chtheme and you get a nice GUI to choose your theme. Additional GTK themes can be put in  /opt/local/share/themes/ (There a thousands of them on the web, for example here : [http://art.gnome.org/themes/gtk2 http://art.gnome.org/themes/gtk2])
Line 96: Line 87:
  
 
===The latest release of EiffelStudio isn't available yet via MacPorts===
 
===The latest release of EiffelStudio isn't available yet via MacPorts===
 +
 +
If you want to upgrade to the latest release of EiffelStudio, but it isn't available yet via MacPorts, the easiest and quickest thing is to install from binary packages as noted above. Nonetheless, if you really want to install it via MacPorts, here's how.
  
 
MacPorts installs a particular version of EiffelStudio by following the rules defined in a '''Portfile'''. For example, http://trac.macports.org/browser/trunk/dports/lang/eiffelstudio71/Portfile is the Portfile for EiffelStudio 7.1. The person who maintains EiffelStudio for MacPorts has to write this file and upload it, but they might not have done so yet. You could make enquiries about when it will be available, but if you want to get the latest urgently it isn't hard to write your own Portfile and run it locally. Here's how.
 
MacPorts installs a particular version of EiffelStudio by following the rules defined in a '''Portfile'''. For example, http://trac.macports.org/browser/trunk/dports/lang/eiffelstudio71/Portfile is the Portfile for EiffelStudio 7.1. The person who maintains EiffelStudio for MacPorts has to write this file and upload it, but they might not have done so yet. You could make enquiries about when it will be available, but if you want to get the latest urgently it isn't hard to write your own Portfile and run it locally. Here's how.
Line 112: Line 105:
 
# sudo portindex
 
# sudo portindex
 
# You should now be able to install in the usual way, e.g., sudo port install eiffelstudio72
 
# You should now be able to install in the usual way, e.g., sudo port install eiffelstudio72
 
==Hints==
 
* Pick and Drop works with Apple-key + mouse click.
 
* To set up the correct (default) browsers use "open" as your command-line browser in Tools>Preferences...
 
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:
 
** Use the toolbar instead.
 
** Reassign these shortcuts in EiffelStudio (Tools>Preferences).
 
** Reassign the Exposé keys in System Preferences.
 
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.
 

Latest revision as of 21:03, 13 May 2016


This page gives you an overview about how to get EiffelStudio running on your Mac (Mavericks or above).

Requirements

  • X11 (XQuartz): install version 2.7.5 minimum from http://xquartz.macosforge.org.
  • You will need to install Xcode from the App Store. After installing Xcode, make sure to install the command line tools by typing:
xcode-select --install

This will popup a dialog asking if you want to install the command line developer tools.

Information.png Note: If you have an OS older than 10.10 (e.g. 10.9.5) you might have a problem installing Xcode from the App Store. You can then go to https://developer.apple.com/downloads/ (Apple ID needed). Remember to install the command line tools.

Information.png Note: Advanced users may not need to install Xcode as long as you install the development tools. Even though you save in download time, you might waste a lot of time trying to fix missing dependencies. In other words, unless you are feeling adventurous, do install Xcode.

Installation

Using MacPorts

MacPorts is a tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install MacPorts.

Now simply type (from a bash terminal):

sudo port install eiffelstudio

This will actually compile and install the whole EiffelStudio delivery. This takes about 15 minutes on a 2013 Mac.

When a new release of EiffelStudio becomes available, it may take some weeks before it's available from MacPorts. You can check by running this command:

port info eiffelstudio

Once the new release is available, you can upgrade like so:

sudo port selfupdate
sudo port upgrade outdated

Using Homebrew

Warning.png Warning: As of 2015, the graphical version of EiffelStudio won't work in Homebrew due to a bug in the GTK package included in Homebrew. However all the command line tools will work.

A light-weight alternative to installing MacPorts is Homebrew. Once Homebrew is installed type the following commands to install EiffelStudio (from a bash terminal):

brew update
brew install eiffelstudio

Using binary packages

Warning.png Warning: This method still requires an initial installation via MacPorts or Homebrew.

Download the latest .tar.bz2 package from the Eiffel Software site that matches MacPorts or Homebrew. Then follow the same instructions as the Linux version to setup the environment variables needed to run EiffelStudio. Keep the ISE_PLATFORM value to macosx-x86-64.

Starting EiffelStudio installed via MacPorts

Simply navigate to /Applications/MacPorts/EiffelXX and double click the EiffelStudio icon.

Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.

Hints

  • Pick and Drop works with Apple-key + mouse click.
  • To set up the correct (default) browsers use "open" as your command-line browser in Tools>Preferences...
  • The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:
    • Use the toolbar instead.
    • Reassign these shortcuts in EiffelStudio (Tools>Preferences).
    • Reassign the Exposé keys in System Preferences.

FAQ

How can I make EiffelStudio on the Mac look nicer?

  • From macports, install the gtk2 (if not already installed) and gtk-chtheme packets. Then run gtk-chtheme and you get a nice GUI to choose your theme. Additional GTK themes can be put in /opt/local/share/themes/ (There a thousands of them on the web, for example here : http://art.gnome.org/themes/gtk2)

Typing ec or estudio on the command line doesn't work

To run the ec compiler from your shell, set up variables similar to these (e.g. in ~/.profile):

# Setting variables for EiffelStudio.
export ISE_EIFFEL=/Applications/MacPorts/Eiffel66
export ISE_PLATFORM=macosx-ppc (or macosx-x86)
export ISE_PROJECTS=$HOME
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin
export PATH=$ES_PATH:$PATH

The latest release of EiffelStudio isn't available yet via MacPorts

If you want to upgrade to the latest release of EiffelStudio, but it isn't available yet via MacPorts, the easiest and quickest thing is to install from binary packages as noted above. Nonetheless, if you really want to install it via MacPorts, here's how.

MacPorts installs a particular version of EiffelStudio by following the rules defined in a Portfile. For example, http://trac.macports.org/browser/trunk/dports/lang/eiffelstudio71/Portfile is the Portfile for EiffelStudio 7.1. The person who maintains EiffelStudio for MacPorts has to write this file and upload it, but they might not have done so yet. You could make enquiries about when it will be available, but if you want to get the latest urgently it isn't hard to write your own Portfile and run it locally. Here's how.

http://guide.macports.org/#development.local-repositories explains how to do it.

  1. Go to https://sourceforge.net/projects/eiffelstudio/files and download the relevant PorterPackage file.
  2. Run openssl to find out the checksum of the PorterPackage file. E.g., for EiffelStudio 7.2 the command is openssl rmd160 ~/Downloads/PorterPackage_72_91284_gpl.tar.
  3. Open /opt/local/etc/macports/sources.conf in a text editor (with super user privileges). Insert a line as explained on http://guide.macports.org, e.g., file:///Applications/MacPorts/ports
  4. Create the Portfile in a text editor, e.g., file:///Applications/MacPorts/ports/lang/eiffelstudio72/Portfile
  5. Go to the ports directory, e.g., cd /Applications/MacPorts/ports
  6. sudo portindex
  7. You should now be able to install in the usual way, e.g., sudo port install eiffelstudio72