2015/09/28

VMD を起動できない問題を解決する方法とか

前にも解決したけど、分子モデリングプログラム Visual molecular dynamics (通称: VMD) で再インストールした際にまた躓いて、面倒だったので、その備忘録。


インストール後、端末などから実行しようとすると、rlwrap 絡みのエラーで実行できない(バージョン 1.9、1.9.1、1.9.2 で発生するっぽい)。
実行するとこんな感じ↓
$ vmd
rlwrap: No match.

調べた所、VMD を再インストールするとか、rlwrap をインストールするとかどうしようもないことが書かれているサイトもあったけど、最終的にVMD のメーリングリスト「VMD-L Mailing List」に解決方法が載っていた。

/usr/local/bin/vmd にある以下のソースを見つける (detect あたりで検索するとヒットする)
# detect if we have rlwrap available to have commandline editing                  
set vmdprefixcmd=""
if (("${ARCH}" == "LINUX") || ("${ARCH}" == "LINUXAMD64")) then
  set rlwrap=`which rlwrap`
  if ( -x "$rlwrap" ) then
    if ( -f ${MASTERVMDDIR}/vmd_completion.dat ) then 
      set vmdprefixcmd="rlwrap -C vmd -c -b(){}[],&^%#;|\\ -f ${MASTERVMDDIR}/vmd
    else 
      set vmdprefixcmd="rlwrap -C vmd -c -b(){}[],&^%#;|\\ "
    endif
  endif
endif
それを以下のように行頭に「#」を付けてコメントアウトする。
# detect if we have rlwrap available to have commandline editing                  
set vmdprefixcmd=""
if (("${ARCH}" == "LINUX") || ("${ARCH}" == "LINUXAMD64")) then
  set rlwrap=`which rlwrap`
#  if ( -x "$rlwrap" ) then
#    if ( -f ${MASTERVMDDIR}/vmd_completion.dat ) then 
#      set vmdprefixcmd="rlwrap -C vmd -c -b(){}[],&^%#;|\\ -f ${MASTERVMDDIR}/vmd
#    else 
#      set vmdprefixcmd="rlwrap -C vmd -c -b(){}[],&^%#;|\\ "
#    endif
#  endif
endif
すると、すんなり動く。
ちなみに、/usr/local/bin/vmd は管理者権限でしか編集できない。


余談だが、Ubuntu や LinuxMint での VMD のインストール方法は以下のとおり。
  1. VMD - Visual Molecular Dynamics」の「Download VMD」から自分のアーキテクチャに合ったファイルをダウンロード (今回は Linux_64 OpenGL, CUDA を選択)
  2. ダウンロードしたファイルを展開
    $ tar axvf vmd-1.9.2.bin.LINUXAMD64.opengl.tar.gz
  3. configure でアーキテクチャを指定
    $ cd vmd-1.9.2
    $ ./configure LINUXAMD64
  4. インストール
    $ cd src
    $ sudo checkinstall

この場合だとアンインストールは以下のコマンドで OK。
$ sudo dpkg --purge vmd

2015/09/18

Gnuplot で Å を出す方法とか

gnuplot で「Å」を出す方法という訳で、ググると「encoding を iso_8859_1」にするというサイトが上位に上がっていますが、最近は UTF-8 という素晴らしい文字コードがあるので、それを使うと幸せになれたりします。
テキストエディタ作成したファイルを読み込ませてグラフを表示するとか…。

やり方は、「set encoding utf8」を実行してから、ラベルやタイトルで「Å」の入った文字列を入力するだけ。

ちなみに、Ubuntu や LinuxMint で、Å を ibus を使わずに入力するには、
Ctrl+Shift+u → 00c5 → Space
で入力できます。
他のアプリケーションでもこの入力が使えます。もちろん、LibreOffice でも…。

ちなみにちなみに、00c5 はコードポイントと呼ばれる数字で、これを変えると他の文字も入力できます。コードポイントについては、以下のサイトで検索するといいかも。

gnuplot 5.0.1 のインストール方法とか

gnuplot も 5.0.1 となり、使い勝手が良くなりました。
これまでの設定と互換性がない部分もありますが、デフォルトの線の色が原色でなくなったことで見やすくなったり、破線を細かく設定できたりします。詳しくは他のページで紹介されているので、そちらにお任せするとします。

さて、gnuplot の最近版を追いかけるとなると、PPA からではなく、自分でコンパイルしなければなりません。
Ubuntu 14.04 LTS や LinuxMint 17 (あるいはアップグレードした 17.x) だと、何も考えずに ./configure と make、checkinstall (make install) で解決なのですが、最新版の LinuxMint 17.2 (クリーンインストール) でつっかえたので、備忘録として書いておきます。
  1. gnuplot 5.0.1 をダウンロード
  2. ダウンロードした gnuplot-5.0.1.tar.gz を展開
    $ tar axvf gnuplot-5.0.1.tar.gz
  3. 必要なパッケージのインストール
    $ sudo apt-get install [下のパッケージ]
    • wxgtkウィンドウに出力する場合
      • libwxgtk2.8-dev
        libwxgtk3.0-dev というライブラリも存在しますが、gnuplot では正常にコンパイルできないバグ(?) があるようです。今回私が手こずったのはこのせい。
        make で「wxterminal/wxt_gui.o: シンボル 'XInitThreads' への未定義参照です (wxterminal/wxt_gui.o: undefined reference to symbol 'XInitThreads')」というエラーが出る場合はこの問題に引っかかっています。
        また、このライブラリがなくてもコンパイルはできますが、wxgtk ウィンドウに出力できなくなります (wxt ターミナルが使えなくなる)
        Gnuplot - Dev - CVS build fails on Ubuntu 14.04 i386
        gnuplot / Bugs / #1401 changes needed in order to support wxWidgets 3.0
      • liblua5.1-0-dev
      • libgd-dev
      • libcairo2-dev
      • libglib2.0-dev
      • libpango1.0-dev
    • Qt ウィンドウに出力する場合は上記に加え、以下のパッケージのインストールが必要です
      • qt5-default
        configure 時に「No package 'Qt5Core' found」「No package 'Qt5Gui' found」「No package 'Qt5Network' found」「No package 'Qt5PrintSupport' found」と出るのはこれがインストールされていないせい。
        Ubuntu 14.04 Qt5 development libraries? - Ask Ubuntu
      • qttools5-dev-tools
      • libqt5svg5-dev
        configure 時に「No package 'Qt5Svg' found」と出るのはこれがインストールされていないせい。
  4. configure の実行
    $ cd gnuplot-5.0.1
    $ ./configure [オプション]
    オプションには --with-readline=builtin (補完機能を付加) や --with-qt (qt ウィンドウに出力) などがあります。詳しくは ./configure --help を実行すると指定できるオプションが出力されます。
  5. make の実行
    $ make
    ※ 「-j [CPU数]」 を付け加えると、並列でコンパイルするのでコンパイル作業がいくらか捗ります。
  6. インストール
    $ sudo checkinstall
    ※一度、deb パッケージ変換してからインストールするので、アンインストールが楽になります。
    or
    $ sudo make install
これで完了するはず


にしても、LinuxMint 17.2 にクリーンインストールしたのは、何も検証せずに、gnome3 の staging なんていうテスト PPA をぶち込んだのが原因…。gnome3 は根幹を司るパッケージが多いため、マウスがカクカクしたり、ダイアログがいつもと違ったりとひどい目にあいました。いつも作業している環境をクリーンインストール状態から簡単に再構築するシェルスクリプトがあったので助かりましたが、ウイルスやアドウェアの脅威が少ない Linux であっても、PPA の導入は気をつけなければならないなという教訓的な出来事でした。