(gcc, g++) QualNet 4.5.1 のコンパイルエラー (2009/10/22)

現在,研究室では,ネットワークのシミュレーションに QualNet 4.5.1 を利用しています.この QualNet 4.5.1 をコンパイルできないという報告がありました.このコンパイルできないという現象は,自身のマシンに QualNet 4.5.1 をインストールした際に解決していた問題だったのですが,すっかり忘れていましたので,備忘録として記します.

コンパイル時のエラーを一行だけ抜き出すと,

../main/dynamic.cpp:1787: warning: deprecated conversion from string constant to ‘char*’
となっています.ほとんどエラーメッセージがこの warning で,この warning が累積して,その結果,コンパイルできないということになります.

この原因は gcc 及び g++ のバージョンの問題です.現在,gcc, g++ の最新バージョンは 4.4.2 ですが,このバージョンを用いていると,QualNet 4.5.1 のコンパイルはできません.使用する Makefile も Makefile-linux-x86_64-glibc-2.3-gcc-4.0 というファイル名になっているので,gcc 4.0, g++ 4.0 を使用することを想定しているようです.Debian のパッケージでは gcc 4.0, g++ 4.0 は既に提供されていませんので,gcc 4.1, g++ 4.1 をインストールします.

# apt-get install gcc-4.1-base gcc-4.1 g++-4.1

そして,QualNet 4.5.1 を gcc 4.1, g++ 4.1 を用いてコンパイルします.このときの Makefile は Makefile-linux-x86_64-glibc-2.3-gcc-4.0 をコピーして用います.

% make CC=gcc-4.1 CXX=g++-4.1

この結果,コンパイル時のエラーはなくなりました.


梅原 大祐 / UMEHARA Daisuke umehara@kit.ac.jp
Last modified: 2020/05/01 15:37
Total Access Count