Help us understand the problem. What is going on with this article?

MacでF#

More than 5 years have passed since last update.

Mac (10.9.1) に F# 開発環境を入れたという話。どうせなら 64bit でやりたかったので、Mono と F# をビルドするところから。基本的には、Use F# on Mac OSX | The F# Software Foundationの「Option 3: Install F# 3.0 (64-bit) from source」に従えばよい。

Mono のビルドとインストール

準備作業として、

  • autoconf automake libtool が入っていなかった。これらは Xcode インストール済でも、別途入れる必要がある。全部 brew が用意されているので、$ brew install autoconf とかで入れた。

あとは、ガイドに従う。※ 下記 --prefix=/usr/local は一例。

$ git clone https://github.com/mono/mono
$ cd mono
$ ./autogen.sh --prefix=/usr/local --enable-nls=no
$ make

ここまで進めると、残念ながら、以下の結果に。

...
make[6]: gmcs: No such file or directory
make[6]: *** [build/deps/basic-profile-check.exe] Error 1
*** The compiler 'gmcs' doesn't appear to be usable.
*** You need Mono version 2.4 or better installed to build MCS
*** Check mono README for information on how to bootstrap a Mono installation.
make[5]: *** [do-profile-check] Error 1
make[4]: *** [profile-do--basic--all] Error 2
make[3]: *** [profiles-do--all] Error 2
make[2]: *** [all-local] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

どうやら、gmcs らへんで怒られているいるらしい。そしたら make get-monolite-latest に書いてあって、monolite を入れるとよいらしいので、下記コマンドをたたく。なお、wget が必要なので、$ brew install wget で入れた。

$ make get-monolite-latest

気を取り直して、

$ make
$ sudo make install

ソースからF# をコンパイル

準備作業として、

  • pkg-config が入ってなかった。$ brew install pkgconfig で入れた。

あとはガイドに従えばよい。※ 下記 --prefix=/usr/local は一例。

$ git clone https://github.com/fsharp/fsharp
$ cd fsharp
$ ./autogen.sh --prefix=/usr/local
$ make
$ sudo make install

いざ起動

$ fsharpi

F# Interactive for F# 3.1 (Open Source Edition)
Freely distributed under the Apache 2.0 Open Source License

For help type #help;;

> 1+1;;
val it : int = 2
> List.map (fun x -> x+1) [1..5];;
val it : int list = [2; 3; 4; 5; 6]
> #quit;;

- Exit...

これでマカーのみなさんも、2014年 F# でエンジョイ!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away