このページでは、Linux Mint 18.3 Mate 64bit (Ubuntu 16.04 相当) へのインスール例を説明しています。
wxHaskellのインストールの手順は次のようになります。
下記のリンクから「Latest Stable Release: 3.0.4」の「Source for Linex, macO、etc」をダウンロードして、お好きな場所に解凍してください。
ターミナルを起動して、解凍した「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-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をダウンローしてください。
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 をインストールします。
この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 のインストールは完了しました。次のソースコードを記述して、お好きなところに UTF-8 で保存してください。ここでは、frame.hs という名前にました。ファイルの拡張子は .hs になります。
import Graphics.UI.WX
main :: IO ()
main = start $ do
frame []
return ()
ターミナルを起動して、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 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 16.04 と Mint Linux 18 へインストールする場合との違いだけを説明します。
sudo apt-get install libghc-gtk-dev
になります)cabal install wx
でOKです)Ubuntu 14.04、Ubuntu 17の場合も、wxWidgets 3.0.4をインストールしてください。