2012年11月12日月曜日

SL6.3上にmusrfitをインストール!!!の前にROOT

予告の通り,musrfitをインストールしましたので,ご報告と,備忘のために記録します.

ずっと色々なことをMacOSXで頑張って来たのですが,Linuxを使えるとなると,欲が出てしまうものです.
MacOSX上にmusrfitをビルドした時も四苦八苦して,やっと出来たのにmusrT0がうまく動かず,結局スペクトルを見る程度しか出来なかったので,今回はかなり期待して作業開始です.
(もちろん,私よりウデのある方がビルドすれば動くとは思います...)

まずは,例のページにアクセス!

Scientific Linuxなら実はyumでROOTがインストール出来るはずなのですが,yumで入れたROOTはインストールされている場所の問題なのか,musrfitをmakeするときにコンパイラがライブラリをうまくリンク出来ませんでした.
(私が未熟なんだと思います)

そこで,Setting up musrfit on Different Platformのページに従い,まずはROOTからインストールします.

まずその前に,

# yum install boost boost-devel gsl gsl-devel fftw3 fftw3-devel libxml2 libxml2-devel qt qt-devel

として,必要なパッケージをインストールします.
それから,NeXusフォーマットを読みたかったので,mxml,hdf4とhdf5をインストールしようとしました.
ところが,mxmlのパッケージが見つかりません.
しょうがないのでNeXusはとりあえずスキップして,とにかくROOTを動かすことに目標を置きます.

まずは,/opt/root-system/というディレクトリを作ります.
そこにパッケージを展開するはずなのですが,ちょっとした手違いで,/opt/root-system/rootというディレクトリに展開されてしまいました.

まぁ,くよくよしても仕方ないので,
$ cd /opt/root-system/root
$ .  configure
で,
$ make
$ su
# make install

っとやってしまいました.
すると,そもそもminuit2とかすら使えないと言う驚きの結果に.

そこで,基本に立ち返り,上述のサイトを見ると,configureの際にいろいろオプションつけなきゃいけないとのこと.

そこで,
$ . configure linux --gminimal --enable-asimage --enable-mathmore --enable-minuit2 --enable-xml
とやると,いろいろ作ってくれるみたいです.

次に,コンパイル時にライブラリをリンク出来るように,
# echo "/opt/root-system/root/lib" >> /etc/ld.so.conf.d/root-system.conf
# /sbin/ldconfig

最後に,bashに環境変数を設定します.
下の二行を.bashrcまたは.bash_profileに追加して,再度ログインします.
export ROOTSYS=/opt/root-sytstem/root
export PATH=$ROOTSYS/biin:$PATH

これで,
$ echo $ROOTSYS
$ echo $PATH
と打って,それぞれのパスが通っていればオッケー



次はいよいよmusrfitのインストールです.

<次に続く>

ScientificLinux6.3でVNCのためにやったこと

ここに書いてあることは,ほとんどの内容が前にも出て来た先輩,M渕先生に教わったことをもとにやっています.
大学院修士課程のころからなので,もはや10年以上のおつきあいです.

まず,yumでtigervncをインストール.

その後,/etc/sysconfig/vncserversをバックアップしてsuで以下のように変更
その後,一般ユーザにもどり.
$ vncpasswd
Password: ********
Verify: ********

$ cd .vnc/
$ vi xstartup

内容はこれだけ.

#! /bin/sh
gnome-session &

実行出来るようにします.

$ chmod +x xstartup

# service vncservice restartとするも,ポート5901番でVNCに入れない.
そこで,いくつかの変更を施す.

まず,保護されたローカルネットワークの中にいるので, この際ファイアウォールを外す.

# /etc/rc.d/init.d/iptables stop
# /etc/rc.d/init.d/ip6tables stop

起動時に起動しないように.

# chkconfig iptables off
# chkconfig ip6tables off

確かめる.

# chkconfig --list

SELinuxをpermissiveモードへ

# setenforce 0

確かめる.

# getenforce
(Permissiveと表示される)

こちらも起動時に起動しないように/etc/sysconfig/selinuxを編集



permissiveモードは,SELinuxは有効だがアクセスは制限しない,と言うモード.
怪しいアクセスはログに記録されるらしい.

さて,それでは接続.
Finderから,


無事に接続.


ちなみに,このmusrfitのインストールについてはまた後日.


2012年10月30日火曜日

ScientificLinuxをインストール(ディレクトリ名を英語に修正)

測定用に使おうと思っているHPのProBook 4730sに,とりあえずLinuxを入れることにしました.

ラップトップ自体は17インチの1600x900なのですが,グラフィックボードの関係で,どうやらRedHat6.2系では理想的な画面解像度を得られず.
いろいろ試してみたら,CentOS6.3なら解像度がきちんと1600x900で表示出来たので,インストールして満足していました.
職場の先輩も,以前はVineを入れていたのですが,CentOSのスッキリさが気に入ったみたいで,これからうちの教室はCentOSでそろえようか,という話に(っていうか二人だけですが).
ですが,毎回起動時に

[drm:initial_dsm_platform_mix_info]*ERROR* MUX INFO Call failed

というメッセージが...
しばらく待つと起動するので,あまり気にしなくても良いのかな,と思ったのですが,とりあえず気分が悪いので,ScientificLinus6.3に入れ替えてみることにしました.

なぜScientific Linuxかというと,開発環境とかいろいろ整備している中で,ROOTを入れたり,CERN Libをいれたりとかしていたので,どうせなら全部CERNでそろえよう,というよくわからない動機(短パンとTシャツをナイキでそろえたいみたいな)と,RedHatとCentOSとScientificLinuxは,実は中身はいっしょ,という理由からです.

ですが,やっぱり結局エラーはでました.
一度起動してしまえばとりあえず不具合はなさそうなので,このまま行くことにします.
カーネルがバージョンアップしたら,治るのかなぁ,と思って放置です.

しばらくLinuxからはなれていたので,ディスプレーマネージャとかいろいろいじっていると,イヤなことが発覚.
日本語環境でインストールしたので,ディレクトリ名が日本語...
これは,ターミナルから操作する上で非常にイヤだ...

そうしたら,前出の先輩が良いことを教えてくれました.

まず,一度ログアウトします.
それから,環境をEnglish(United States)でログインします.
すると,「ディレクトリ名をロケールに合わせて変える??」みたいなメッセージがでたので,「かえまーす!」とお返事.

次にいったんログアウトし,日本語でログイン.
すると,また「ディレクトリ名をロケールに合わせて変える??」と聞いてきたので,こんどは「変えません!!」とお返事.
その際,「もう二度とそんな質問はしないでください!」のチェックボックスをオンにしてからクリックすれば,以後,変わらない,ということです.

ちなみに,これはGNOMEデスクトップ環境でしか聞いてこない(KDEのときは何も言われず)のと,English(United Kingdom)にしたときもやっぱり聞いてきませんでした.
なぜだろう...

もちろん,やっぱりLinuxだったらmusrfitを入れたい...musrfitはSL上でなら動きそう,という邪念もあるので,それはまた後日.

2012年10月17日水曜日

USB-RS232変換 for Linux

ステッピングモータをLinuxから制御したいと思っています.
そこで,手始めにUSB-RS232の変換ケーブルが欲しい,ということになり,ドライバが問題だなぁ,と思っていたら,FTDI社のチップをつかった変換ケーブルは,Linux2.4.0以上で使えるとのこと.

こんなサイトがあったので,ここから買うことにしました.

さて,届くのが楽しみです.

2012年7月27日金曜日

Mountain lionでfink

Mountain Lion,出ましたね.
お約束通り,Finkの対応状況をいち早く調べました.

今日の段階ではまだFink日本語サイトはMountain Lionの対応状況をアップしていません.
そこで,いつもの通りFink英語サイトをのぞいてみると,ありました,記述が.

ごちゃごちゃ書いてありましたが,多分,一度finkを消して,最新バージョンのfinkを入れるのが安全かと.


アップグレードしたいなら,finkが0.34.0以上で,Xcodeが4.4以降であること.
コマンドラインツールをインストールしてあることが条件の様です.


もしfinkがXcodeを見つけられない場合,


sudo xcode-select -swich /path/to/Xcode.app


としてシステムツールの場所を明示するそうです.
(おそらくこの/path/toというのは,ご自身の環境にあわせればいいのでしょう.)


そして,Mountain Lionにアップグレード後,


fink reinstall fink


として10.8向けであることを明示し,


fink install perl5123-core


としてLionから移行した任意のPerlモジュールが動作するかどうかを確認するとのこと.


もし先にOSをMountain Lionにアップグレードしてしまってfinkが動くか分からない場合のことは,めんどくさいのでまた後日.


それから,OSアップデートすると,finkが作ったuserが消されてしまうそうです.


そこで,上述のアップグレード後に,


fink configure


として,


fink list -it passwd | cut -f2 | xargs fink reinstall


で各種passwd*パッケージとそれらのusersを再インストールするとのこと.


直訳,間違ってたらゴメンナサイ.



え,もうアップグレードしたかって?


まだ人柱になる勇気がありませんが,近いうちにしてしまうと思います(^^;)

2012年5月11日金曜日

WINE on Lionソースからコンパイルに挑戦(する必要なかった!)

そうそう、表題の件、バイナリインストールで十分でした。
ところが、winefileからwimda(またこれか)を起動したのですが、マウスカーソルをのせてクリックしてもアクティブにならないウインドウがあることが判明し、ちょっと使用中断。
結局VirtualBoxのwin2000でwimdaしてます。

2012年4月29日日曜日

gccがない!(MacOSXLion + Xcode4.3)

出張用に買ったMacBookAir。

ちょこっとしたプログラムを書いて計算しようと思っていたら、gccがない!

まぁ、ここまではそれほど焦っていませんでした。
っというのも、どうせXcodeをインストールすればいいだろう、と思っていたから。

AppStoreからXcode4.3をインストール。

さて、と思ってみても、やっぱりgccがない!
ここで初めて焦る!

どうしたらいいのか、と思ってgoogle先生に聞いてみるも、なかなか出てこない。

finkとかmacportsには頼りたくない。
でも、どう考えてもgccがないわけがない。

どうやら、command line toolsを手動でインストールしないといけないらしい。

Xcodeのメニューから、

Xcode>Preferencecs...

Downloadタブで、componentsを選択するとcommand line toolsという項目があるので、installをクリック。

これでgccはインストール完了。
バージョンを確認すると、



MacBookAir-yishii:~ yishii$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ということで、無事gccが利用可能。
ところで、google先生によると、gccが、llvm-gccになったことで、いろいろ変わったらしい。
まぁ、私がやることにはそんな影響はないとおもわれる。