AUTO on Mac のエラー
Mac で AUTO を実行しようとした時に起きたエラーの解決策.
エラー 1 : /usr/bin/ld: Undefined symbols : _main
$ auto
AUTO> ld("ab")
AUTO> run()
make: [ab.o] Error 1 (ignored)
...
/usr/bin/ld: Undefined symbols:
_main
collect2: ld returned 1 exit status
make: [ab.exe] Error 1 (ignored)
make: ./ab.exe: Command not found
make: [run] Error 127 (ignored)
..
とりあえずの解決法
Makefile の編集.
EXE = $(PGM).exe
の行を,
EXE = ./$(PGM).exe
と書き直す.
解決法(AUTO のコマンドをいじる)
成功時($ make でのコンパイルメッセージ)
gcc -D_THREAD_SAFE -DPTHREADS -O -I/Users/hoge/prog/auto/include -c ab.c
gcc -D_THREAD_SAFE -DPTHREADS -O -I/Users/hoge/prog/auto/include ab.o -o ab.exe -L/Users/hoge/prog/auto/lib -lauto -lauto_f2c -lm
gcc -pthread -DPTHREADS -O -I/Users/hoge/prog/auto/include -c -o ab.o ab.c
gcc -pthread -DPTHREADS -O -I/Users/hoge/prog/auto/include ab.o -o ab.exe /Users/hoge/prog/auto/lib/*.o -L/Users/hoge/prog/auto/lib -lauto_f2c -lm
を比べると,
/Users/hoge/prog/auto/lib*.o を読み込んでいないのが,エラーの原因であることが分かる.
AUTO> run() をした時に,実行されている make のための Makefile は,
$(AUTO_DIR)/cmds/cmds.make を使っているらしいので,
このファイルの LIBS に,$(AUTO_DIR)/lib/*.o を追加する.
20行めくらい?
LIBS = -L$(AUTO_DIR)/lib -lauto -lauto_f2c -lm
↓編集後
LIBS = $(AUTO_DIR)/lib/*.o -L$(AUTO_DIR)/lib -lauto -lauto_f2c -lm
エラー 2 : plot できず?
これは,他のが原因だったかもしれない.
一応,これだけはやっておいたらいいかも.
以下,おそらく不要.
tkinter のインストール
http://people.ucsc.edu/~jacobkm/tkinter_osx_howto.html
1. Install Fink.
2. Add "unstable/main" to the "Trees:" line in /sw/etc/fink.conf
3. From the command line:[localhost:~] jacob% fink selfupdate
(say yes to "packages from CVS")
[localhost:~] jacob% fink install xfree86-base (なし)
[localhost:~] jacob% fink install xfree86-rootless (なし)
[localhost:~] jacob% fink install windowmaker
[localhost:~] jacob% fink install python (2.5 をインストール? 2.3 以下じゃないと,AUTO 動作に問題あるらしいので,在れば不要)4. Make sure XDarwin is running (run /Aplications/XDarwin)
5. From the command line: