GPL Cverのコンパイル OS X Yosemite

設計

GPL CverをMac OS X Yosemite(Version 10.10.2)のターミナルでコンパイルしてみました。まず、ソースコードを展開してsrcディレクトリに移動します。

bzip2 -d gplcver-2.12a.src.tar.bz2
tar xvf gplcver-2.12a.src.tar
cd gplcver-2.12a.src
cd src

Mac OSX用と書かれたMakefile(makefile.osx)があるので、それを試してみます。

make -f makefile.osx

次のようなエラーでコンパイルが止まってしまいました。

cc -mcpu=powerpc -pipe -Wall -I../pli_incs -fno-strength-reduce -fomit-frame-pointer -O2  --export-dynamic ../objs/dig_main.o ../objs/cver.o ../objs/v_src.o ../objs/v_src2.o ../objs/v_src3.o ../objs/v_fx.o ../objs/v_fx2.o ../objs/v_fx3.o ../objs/v_cnv.o ../objs/v_ex.o ../objs/v_ex2.o ../objs/v_ex3.o ../objs/v_ex4.o ../objs/v_trch.o ../objs/v_del.o ../objs/v_sdf.o ../objs/v_prp.o ../objs/v_prp2.o ../objs/v_sim.o ../objs/v_dbg.o ../objs/v_dbg2.o ../objs/v_ms.o ../objs/v_tf.o ../objs/v_acc.o ../objs/v_vpi.o ../objs/v_vpi2.o ../objs/v_vpi3.o  \
	-lm -ldl -o ../bin/cver
clang: error: unsupported option '--export-dynamic'
make: *** [cver] Error 1

–export-dynamicというオプションがサポートされていないというエラーです。いや、よく見るとそれ以前に-mcpu=powerpcと表示されているじゃないですか。Makefileをmakefile.amd64に変更してみます。

gcc -march=pentiumpro -pipe -Wall -I../pli_incs -fno-strength-reduce -fomit-frame-pointer -O2 -m32 -export-dynamic ../objs/dig_main.o ../objs/cver.o ../objs/v_src.o ../objs/v_src2.o ../objs/v_src3.o ../objs/v_fx.o ../objs/v_fx2.o ../objs/v_fx3.o ../objs/v_cnv.o ../objs/v_ex.o ../objs/v_ex2.o ../objs/v_ex3.o ../objs/v_ex4.o ../objs/v_trch.o ../objs/v_del.o ../objs/v_sdf.o ../objs/v_prp.o ../objs/v_prp2.o ../objs/v_sim.o ../objs/v_dbg.o ../objs/v_dbg2.o ../objs/v_ms.o ../objs/v_tf.o ../objs/v_acc.o ../objs/v_vpi.o ../objs/v_vpi2.o ../objs/v_vpi3.o  \
	-lm -ldl -o ../bin/cver
Undefined symbols for architecture i386:
  "xport-dynamic", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [cver] Error 1

Makefileをmakefile.amd64に変えてもエラーになります。結局、makefile.amd64を一部修正するとコンパイルに成功しました。LFLAGSを-export-dynamicから-rdynamicに変更します。

# select loader
LD=ld
# needed for dynamic PLI loading
#LFLAGS=-export-dynamic
LFLAGS=-rdynamic
gcc -march=pentiumpro -pipe -Wall -I../pli_incs -fno-strength-reduce -fomit-frame-pointer -O2 -m32 -rdynamic ../objs/dig_main.o ../objs/cver.o ../objs/v_src.o ../objs/v_src2.o ../objs/v_src3.o ../objs/v_fx.o ../objs/v_fx2.o ../objs/v_fx3.o ../objs/v_cnv.o ../objs/v_ex.o ../objs/v_ex2.o ../objs/v_ex3.o ../objs/v_ex4.o ../objs/v_trch.o ../objs/v_del.o ../objs/v_sdf.o ../objs/v_prp.o ../objs/v_prp2.o ../objs/v_sim.o ../objs/v_dbg.o ../objs/v_dbg2.o ../objs/v_ms.o ../objs/v_tf.o ../objs/v_acc.o ../objs/v_vpi.o ../objs/v_vpi2.o ../objs/v_vpi3.o  \
	-lm -ldl -o ../bin/cver

簡単なシミュレーションで動作を確認しました。

GPLCVER_2.12a of 05/16/07 (Mac OSX).
Copyright (c) 1991-2007 Pragmatic C Software Corp.
  All Rights reserved.  Licensed under the GNU General Public License (GPL).
  See the 'COPYING' file for details.  NO WARRANTY provided.
Today is Tue Mar 10 08:34:33 2015.
Compiling source file "../scenario/test_1.v"
Highest level modules:
test_module

Halted at location **../scenario/test_1.v(74) time 410 from call to $finish.
  There were 0 error(s), 0 warning(s), and 8 inform(s).
タイトルとURLをコピーしました