C Codは、C、C++、またはObjective-Cコンパイラのフロントエンドとして、C言語をスクリプティング言語のように扱うことを可能とするものである。C Codには、C Server Pagesが付属している。C Server Pagesは、ウェブアプリケーションをCまたはC++で記述し、それをオンデマンドで自動的にコンパイルできるようにするために、CGIをサポートする。
Ubuntu、Fedora、openSUSE用のC Codパッケージは存在しない。今回は、64ビットのFedora 9マシン上でバージョン1.2.8のソースをビルドした。コンパイル中に小さな問題が生じたが、以下に示すように、CFLAGSにposition-independent code(PIC)のオプションを加えることにより解決することができた。PICコードは、メモリの別の場所にロードすることができるという利点がある。これは、共有ライブラリのコードをコンパイルする場合には好都合である。複数のライブラリが同じアドレスを使用しないように、それらを移動させることができるためだ。
$ tar xzvf /.../ccod-1.2.8.tar.gz $ cd ./ccod-*/ $ ./configure $ make /usr/bin/ld: csp.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC csp.o: could not read symbols: Bad value $ vi Makefile PACKAG = ccod-1.2.8 LFLAGS = -shared -Wl,-soname,libcsp.so CFLAGS = -O2 -fPIC LIBSTA = *.a $ make clean $ make $ sudo make install
