LastWave のインストール(Ubuntu 上)

LastWave は,連続ウェーブレット変換などの信号解析機能を持つソフトウェアである(Emmanuel Bacry 作,C 言語で記述). ここでは,ソースコード(LastWave 3.1)からのビルド手順を示す.

LastWave 3.1 の GUI 部分は wxWidgets 2.8 を前提としている. wxWidgets 2.8 のパッケージは現在の Ubuntu には収録されていないため,次のいずれかの方法を選ぶ.

ウェーブレット変換を Python で扱う場合は,PyWavelets(pip install PyWavelets)や SciPy の信号処理機能を利用する方法もある.

前準備

ビルドに必要なパッケージをインストールする.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install build-essential unzip wget
# GUI 版をビルドする場合
sudo apt -y install libwxgtk3.2-dev

ソースコードの展開

配布元は次の URL である.URL が変更されている場合は,配布ページで最新の所在を確認する.

cd /tmp
wget http://www.cmap.polytechnique.fr/~bacry/LastWave/LastWave_3_1.unix.zip
cd /usr/local
sudo unzip /tmp/LastWave_3_1.unix.zip
sudo rm -rf /usr/local/__MACOSX

ソースコードの修正

新しい wxWidgets や新しいコンパイラでは,次の 2 つのファイルの修正が必要になる.

wxsystem.cc

/usr/local/LastWave_3_1/LastWave/wxsystem/src/wxsystem.cc を編集する.

修正前

  wxString str = SOFTVERSION
  wxString str1 = wxStandardPaths::Get().GetUserDataDir()+"."+str;

修正後

  wxString str( (const wxChar *)SOFTVERSION, strlen(SOFTVERSION));
  wxString str2( (const wxChar *)".", strlen("."));
  wxString str1 = wxStandardPaths::Get().GetUserDataDir() + str2 + str;

image_file.cc

/usr/local/LastWave_3_1/LastWave/package_image/src/image_file.cc で プリプロセッサ指令の記述に関するコンパイルエラーが出る場合は, elif の条件式の有無を確認し,条件式のない箇所を else に書き替える.

ビルド

export ARCH=linux
export LWPATH=/usr/local/LastWave_3_1/LastWave
cd /usr/local/LastWave_3_1/LastWave/Makefiles
make dirs
make makes
make