wxHaskell   linux へのインストール

ホーム   目次


wxHaskell のインストール

このページでは、Linux Mint 18.3 Mate 64bit (Ubuntu 16.04 相当) へのインスール例を説明しています。

wxHaskellのインストールの手順は次のようになります。

  1. 可能ならメモリを2Gにしておきます。
    (wxHaskellのインストールには512MBが必要とのことですが、私の場合は、1.5Gでも「メモリ不足」というエラーが出ました)
  2. wxWidgetsのダウンロードとインストール
    (wxHaskellには、wxWidgets 3.0 以上が必要です。)
  3. Haskell Platformのダウンロードとインストール
    (ghc 8.0.2とcabal 1.23以上が必要です)
  4. wxHaskellのダウンロードとインストール
  5. libwxgtk-media のインストール

WxWidgetsのインストール

下記のリンクから「Latest Stable Release: 3.0.4」の「Source for Linex, macO、etc」をダウンロードして、お好きな場所に解凍してください。

Donwnloads - wxWidgets

ターミナルを起動して、解凍した「wxWidgets-3.0.4」ディレクトリへ移動し、次のコマンドを入力してください。

./configure --with-gtk --enable-unicode

「C++ コンパイラが必要」という内容のメッセージが出ましたら、次のコマンドでC++コンパイラをインストールしてください。

sudo apt-get install build-essential

インストールが終了しましたら、再び「./configure --with-gtk --enable-unicode」と入力してください。

「Gtk が必要」という内容のメッセージが出ましたら、次のコマンドでGtkをインストールしてください。

sudo apt-get install libghc-gtk3-dev

インストールが終了しましたら、再び「./configure --with-gtk --enable-unicode」と入力してください。


 Which libraries should wxWidgets use?
                                       STL                no
                                       jpeg               builtin
                                       png                sys
                                       regex              builtin
                                       tiff               builtin
                                       zlib               sys
                                       expat              sys
                                       libmspack          no
                                       sdl                no

    

上記のような画面が現れましたら、configure (環境設定) が完了しました。次のコマンドを入力して、今度はビルドをします。

make

この作業は一仕事できるくらい時間がかかります。ビルドが完了しましたら。次のようにコマンドして、今度はインストールします。

sudo make install

次のように表示されたら、wxWidgetsのインストールは完了しました。


------------------------------------------------------
 
 The installation of wxWidgets is finished.  On certain
 platforms (e.g. Linux) you'll now have to run ldconfig
 if you installed a shared library and also modify the
 LD_LIBRARY_PATH (or equivalent) environment variable.
 
 wxWidgets comes with no guarantees and doesn't claim
 to be suitable for any purpose.
 
 Read the wxWindows Licence on licencing conditions.
 
 ------------------------------------------------------
    

念のためにインストールの成否を確認します。次のように入力して「3.0.4」と表示されればインストールは成功しています。

wx-config --version

Haskell Platformのインストール

下記のリンクから「haskell-platform-8.0.2-unknown-posix--full-x86_64.tar.gz」をダウンロードして、お好きな場所に解凍してください。「8.0.2-a」の「Linux,64bit」の2番目です

Haskell Platform - Included Packages

ターミナルを起動して、解凍した場所へ移動してください。そして次のようにコマンドしてください。

sudo ./install-haskell-platform.sh

インスールが終了しましたら、次のようにコマンドしてバージョンを確認します。

ghc --version
The Glorious Glasgow Haskell Compilation System, version 8.0.2
cabal --version
cabal-install version 1.24.0.2

cabalは、1.23以上が必要です。cabalがないと言われたら、下記のようにコマンドしてインスールしてください。インストール終了後は、コンピューターを再ログインしてください。

sudo apt-get install haskell-platform

cabalのインストールに最初から成功していた場合も、2度目で成功した場合も、cabalをアップデートしておきます。

cabal update

wxHaskellのインストール

ターミナルに次のように入力して、wxHaskellをダウンローしてください。

git clone git://github.com/wxHaskell/wxHaskell.git

ダウンロードすると、自動的に解凍されて「wxHaskell」というディレクトリができていると思います。「wxHaskell」ディレクトリをお好きな場所へ移動してください。

ターミナルを起動して、wxHaskellディレクトのwxdirectディレクトリへ移動してください。

そして、次のようにコマンドして、wxdirectをインストールします。

cabal install

wxdirectのインストールが完了したら、wxcディレクトリへ移動して、次のようにコマンドして、wxcをインストールします。このインストールは外出できるくらい時間がかかります。

cabal install

wxcoreディレクトリへ移動して、次のようにコマンドして、wxcoreをインストールします。

cabal install

wxディレクトリへ移動して、次のようにコマンドして、wxをインストールします。

cabal install

libwxgtk-media のインストール

最後に、libwxgtk-media をインストールします。

このgtkライブラリは別途にインスールしなければなりません。このライブラリがインストールされていない場合は、wxHaskellアプリケーションをビルドすることはできますが、実行時に、次のようなエラーが出ます。

can't load .so/.DLL for: /usr/local/lib/libwx_gtk3u_xrc-3.0.so
(libwx_gtk3u_html-3.0.so.0: cannot open shared object file: No such file or
directory)

libwxgtk-media をインストールするには、ターミナルに次のように入力します。

sudo apt install libwxgtk-media3.0-dev

インストールが終了しましたら、念のために、システムを再ログインしてください。

wxHaskell の実行

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

frame.hs


import Graphics.UI.WX

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

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

ターミナルを起動して、frame.hs を保存したディレクトリに移動してださい。そして ghci frame.hsと入力してください。


ghci frame.hs
GHCi, version 8.0.2: https://www.haskell.org/ghc/  :? for help
[1 of 1] Compiling Main             ( frame.hs, interpreted )
Ok, modules loaded: Main.
*Main>
    

上記のように「Ok, modules loaded: Main.」と表示されれば読み込みに成功しています。
もし「Failed, modules loaded: none.」と表示された場合は、コードに間違いがあるか、ファイルタイプがUTF-8になっていないかなどの問題があります。読み込みが成功した場合はコマンドプロントに「main」と入力して実行します。

main

ウィンドウを閉じると、アプリケーションが終了します。

ghci を終了するには、コンソールに次のように入力します。

:q

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」ファイルをダブルクリックしても起動できます。

( Ubunt 18.04、Mint 19では、ビルドされた実行ファイルをダブルクリックしても、アプリケーションは起動しません。このことは、wxHaskellだけではなく、他のフレームワークでビルドした実行ファイルも同じです )

Ubuntu 14.04 と Mint Linux 17 へのインスール

Ubuntu 16.04 と Mint Linux 18 へインストールする場合との違いだけを説明します。

  1. 可能ならメモリを3Gにしておきます。
    (mint 18の場合は、2.0Gが必要でしたが、Mint 17の場合は2.0Gでも「メモリ不足」というエラーが出ました)
  2. gtkのインストールコマンドが Mint 18の場合と違います。
    (sudo apt-get install libghc-gtk-devになります)
  3. wxHaskellのインストール方法が違います。
    (ダウンロードする必要はなく、cabal install wxでOKです)
  4. wxHaskellの実行
    (Mint 17の場合は、ghciでの実行は出来ません。ghcのみの実行となります)
  5. Ubuntu 14.04、Ubuntu 17の場合も、wxWidgets 3.0.4をインストールしてください。


20858 visits
Posted: Jan. 08, 2019
Update: Jan. 09, 2019

ホーム   目次   ページトップ