wxHaskell   macOS へのインストール

ホーム   目次


macOS へのインストール

macOS へのインストールは、macOS 10.11で成功しました。おそらく、どのバージョンにもインストールできるだろうと思います。

macOS へのインストールは次の手順になります。

  1. Home brew のインストール
  2. wxWidgets のインストール
  3. Haskell Platform のインストール
  4. wxHaskell のインストール

Gtk2Hsに比べると少し簡単です。

Home brew のインストール

まず、Home brew をインストールします。Home brew は、wxWidgets をインストールするために使いますが、Apple Command Line Tools も自動でインストールしてくれます。Home brewは、インストールする時に、Command Line Toolsも自動的にインストールしてくれます。すでにCommand Line Toolsが存在していた場合はHome brewだけをインストールしてくれます。

Home brew のインストールは、ターミナルを起動して次のように入力します。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

なお、Home brewのインストールコードは変更になる場合があります。下記オフィシャルサイトに表示されているイントールコードをコピーして使うほうが良いでしょう。

macOS用パッケージマネージャー - Homebrew

Home brew のインストール後、問題がないか、次のように入力して確認します。

brew doctor

macOSのバージョンについての警告は無視してください。それ以外の警告には、表示される指示にしたがって、できるだけ対応してください。対応後は、ターミナルを一度閉じて、再び「brew doctor」を実行することを繰り返して、macOSのバージョンについての警告以外は消すようにします。

wxWidgetsのインストール

wxWidgetsをインストールするために、Home brewを使います。ターミナルに次のように入力してエンターキーを押してください。

brew install wxWidgets

もし、Javaのインストールを促されるダイログが表示されましたら、指示に従ってJavaをインストールしてください。

Haskell Platform のインストール

いろいろ試してみた結果、現在(2019年1月2日時点)のwxHaskellには、Haskell Platform 8.0.2a Full が良いみたいです。下記サイトより 8.0.2a Full をダウンロードしてインストールしてください。

Haskell Platform - Included Packages

Haskellが無事にインストールされたかどうか、Haskellのインタープリタを起動して確認してみます。ターミナルに次のように ghci と入力してください。

ghci
GHCi, version 8.0.2: https://www.haskell.org/ghc/ :? for help
Prelude>

上記のように表示されたら、Haskell Platformは無事にインストールされています。

ghci (Haskellのインタープリタ) を終了するには :q と入力します。ghciのコマンドは : (コロン)で始まります。

Prelude> :q
Leaving GHCI.

wxHaskell のインストール

ターミナルに次のように入力してください。

cabal install wx cabal-macosx

インストール修了後、もし次のサンプルがコンパイルできないようでしたら、ターミナルを一度閉じてからもう一度開いてください。

macOS での実行

上記で macOS へのインストールは完了しました。次のソースコードを記述して、お好きなところに UTF-8 で保存してください。ここでは、「frame.hs」という名前にしました。ファイルの拡張子は .hs になります。

frame.hs


import Graphics.UI.WX

main :: IO ()
main = start $ do
    frame []
    return ()
    

ghci (インタープリタ) による実行

残念ながら、macOSではghciでwxHaskellを実行することはできません。このことは、wxHaskellのオフシャルサイトにも明記されています。

WxHaskell - HaskellWiki

ghc (コンパイラ) による実行

ターミナルに「ghc frame.hs」と入力してコンパイルします。

ghc frame.hs
[1 of 1] Compiling Main ( frame.hs, frame.o )
Linking frame ...

上記のように表示されればコンパイルは成功しています。

frame.hs:4:31: error:
lexical error in string/character literal (UTF-8 decoding error)

上記のように表示されればどこかが間違っています。修正して、再度コンパイルします。

無事にコンパイルできた場合は、ターミナルに次のように入力して実行します。

./frame

コンバイルされた「frame」ファイルをダブルクリックしても起動できますが、ターミナルも開いてしまいます。これを修正するには、まず新規フォルダを作成して、そのフォルダの中に「frame」ファイルを入れます。そしてフォルダの名前を「frame.app」に変更します。これでダブルクリックで起動できる。普通のアプリケーションになります。当然ターミナルも開きません。なお、アプリケーションファルダの「.app」は表示されません。

このようなフォルダをアプリケーションバンドルと呼びますが、自動的にアプリケーションバンドルを作ってくれるツールもあるみたいです。詳しくは、 WxHaskell - HaskellWikiをみてください。

Java のインストール

wxHaskellのインストール時に「Java Runtime が必要です」というダイヤログが出る場合があります。Java をまだインストールしていない場合は、念のために下記サイトからJava をインストールしておきます。

Java SE - Downloads | Oracle Technology Network | Oracle

no-pie エラー

恐らく、Haskell Platform 8.4.3だけだと思いますが、「no-pie エラー」というのが出る場合があります。その場合は次のようにして一部ファイルを書き換えます。

ターミナルに次のように入力してください。

cd /Library/Frameworks/GHC.framework/Versions/Current/usr/lib
sudo su
...パスワード入力...
chmod o+w ghc-バージョン番号
cd ghc-バージョン番号
chmod o+w settings
exit

次にお使いのテキストエディタで「/Library/Frameworks/GHC.framework/Versions/Current/usr/lib/ghc-バージョン番号/settings」ファイルを開いて、次の行のYESをNOに書き換えて保存してください。

, ("C compiler supports -no-pie","YES")

, ("C compiler supports -no-pie","NO")
に書き換える。


20861 visits
Posted: Jan. 02, 2019
Update: Jan. 02, 2019

ホーム   目次   ページトップ