2010年1月28日木曜日

Scotch make方法

かなりハマッたので残しとく。

グラフ分割で検索するとたいていMETISが出てくる。

最新のgcc(現時点使用で4.4.1)でコンパイルするとシグナル系で
コンパイル通らないのとライセンスがなんかわかりづらくLICENSE.txtとFAQで
言ってることが違ってる感じ。
原則二次配布はダメみたいなんけどよくわからんからミネソタ大学に
問い合わせたほうが早いってことでめんどくさいし断念。
開発も2007年で止まってるしね。

最近(?)の流れとして完璧フリーなScotchに流れてるみたい。
こちらの最新は5.1.7で最新は2009年の9月だしね。

でっ、make方法。

ここから最新のソースをダウンロード。

解答後、基本はINSTALL.txtのとおり。
srcに移動後

$ ln -s Make.inc/Makefile.inc.xxxx_xxx_xxx Makefile.inc
もしくは
$ cp Make.inc/Makefile.inc.xxxx_xxx_xxx Makefile.inc

xxxx_xxx_xxxは環境に合わせて。
Linuxだったら、

Makefile.inc.x86-64_pc_linux2_icc

で、OKかと。
Makefile.inc.x86-64_pc_linux2_iccはicc用なのでgcc用に編集。
ここでハマッた orz

Scotch自体がC99に準じて開発されているのでiccをgccに変更だけではコンパイルが通らない。

#CCS    = icc -O3 -fp-model fast
CCS     = gcc -O3 -std=c99

で、いくかと思ったらこれが罠だった...

#CCS    = icc -O3 -fp-model fast
CCS     = gcc -O3 -std=gnu99

で、GNU仕様にしないとダメみたい。

あとは環境によってフラグの追加。
64bit環境なので

-DLONG

を追加。32bitとか他に何にもいらないなら素のままでOKかと。
以上で
$ make

で通ります。

しかし、改めて見たけど、C99で言語仕様、結構変わってまつのね。。。


追記。

どうやら、Makefile.incは

Makefile.inc.i686_pc_linux2

でも良いみたい。
あの苦労はなんだったんだ...
でも、まぁ、このままやってたら32bitでコンパイルされてるのも
気づかなかっただろうし良しとするか。

0 件のコメント:

コメントを投稿