!またまたFreeHDL [続・FreeHDL|http://d.hatena.ne.jp/miyox/20061109]ではまって以来, 久しぶりにFreeHDLで遊ぼうと思ったら,またはまった. 今回は,Ubuntu Linux上にaptitudeでインストールした0.0.4. で,過去の記憶を紐解きながらやってみてもうまくいかない. 仕方ないので,0.0.4をダウンロードして, ドキュメントみながらサンプルをコンパイルしようとしてみるも v2cc: /usr/share/freehdl/lib/work/adder.vhdl: No such file or directory と怒られてしまう. で,仕方ないので,/usr/share/freehdl/lib/work/adder.vhdlを 用意してコンパイルしてみると,すんなり動作. つまり,たとえば,freehdl-0.0.4/v2ccにあるtop.vhdlを コンパイル/シミュレーションする手順としては, cp adder.vhdl /usr/share/freehdl/lib/work/ gvhdl -c adder.vhdl gvhdl top.vhdl adder.o --libieee ./top となる. そうか,そういえば,サンプルは相対パスだし, 以前も自分のホームでコンパイルして,そのまま実行してたんだった. v2cc.libsでいろいろ設定できるようにマニュアルには書いてあるようだけど 実際に,gvhdlを見ると, if (not -f "/usr/bin/freehdl-v2cc") { $freehdl_root_path = $ENV{'FREEHDL'}; if ($freehdl_root_path ne "") { return; } } else { $freehdl_root_path = "/usr"; return; } とかって,v2cc.libs呼び出される前に初期化ルーチンからリタンしている. コンパイル事に/usr/share/freehdl/lib/work/にファイルがあれば よいようなので,そんなスクリプト書いて逃げるかなあ. ちなみに,自力で普通にコンパイルしようとしたらエラーで終了した.