MacOS8.6上でCodeWarriorを用いてコンパイルし動作確認できているソース を、 VineLinux上に移してgccでコンパイルを試みました。kterm上で gcc CDsearch80.c (<-source fileです) としたところ CDsearch80.c:1: unterminated string or character constant CDsearch80.c:0: possible real state of unterminated constant CDsearch80.c:1: '#include' expects "FILENAME" or <FILENAME> unterminated constant と表示されてコンパイルが中断されます。ソースの冒頭部分は以下のようになっ ており ます(emacsで開くことができます)。 /*CDsearch80.c*/ /*CDsearch70.c, NBBB550.cをもとに次の各関数を改変. */ /*COL_nd 7 -> 8 */ /*Limit_r(), Declare_cluster(), Set_parameter_index(), Set_pnd_matrix(), Linea r_ndset(), Linemove_ndset()*/ /*Bracket_ndset(), Copy_cluster(), Calc_cdvalcluster(), Calc_Sigmaclusters(), SearchPeak_cdmat()*/ /*Initial_cluster(), Initial_set(), Allocate_cluster(), Compare_set(), Write_t mp(), Read_tmp()*/ /*Append_ndline_set(), Hybridize_set()*/ /*Calc_Sigmaclusters()におけるc3, c4の条件を改変. cf. CDsearch80_00.c*/ #include <stdio.h> #include <stdlib.h> #include <ctype.h> /*errorno*/ #include <math.h> /*sqrt, gamma*/ #include <float.h> #include <time.h> #include <string.h> #include <errno.h> # define COLUMNS 1000 # define ROWS 1000 # define COL_nd 8 # define ZERO 1e-6 (以下略) 完全にANSIに準拠したソースを書いたつもりですが、それでも環境に依存する 要素が あるのでしょうか。メッセージはおそらくたいしたことは言っていないはずだと 思うの ですが原因がわかりません。 知人に、MacとLinux(UNIX一般)との改行コードの違いを指摘され、 tr 015 012 < CDserach80.c > CDserach80.c.conv mv CDserach80.c.conv CDserach80.c などとしてみたのですがやはりコンパイルできません(ちなみにコード変換を emacsで 行うためにはどうすればよいのでしょうか?)。また漢字コードがSJISになって いるか もしれないからとう話で cp CDserach80.c CDserach80.c_old nkf -j CDserach80.c_old CDserach80.c ともしてみましたが、やはりだめでした(これもemacs上でできるそうですがや り方が わかりませんでした。よかったら教えてください)。 なお、 mkdir /mnt/mac(<-マウントポイントの作成) mount -t hfs /dev/sda6/ /mnt/mac/(ソースファイルはHFSパーティション /dev/sda6 にあります) として、MacOSからLinuxへソースを受け渡しています。 他にもお気づきの点がありましたら、ぜひよろしくアドバイスください。 また、PowerMac8500上でVineLinuxを使用し、今後MPIのインストールを試みた いのです が、並列計算そのもののガイドは見つかってもVineへのインストールそのものの ガイドが なかなか見あたりません。お心当たりありましたらアドバイスください。