2012年12月11日火曜日

MacでGUIプログラム: Designer-qt4編 その1

Macで測定ソフトを作りたいなぁ,と思っているのですが,残念ながらXcodeでObjective-Cは私には複雑すぎて...

そもそもCのヘッダーファイルを.mファイルから呼んできちんとうごくにはどうすればいいかなんて,Xcodeビギナーにはハードルが高すぎました(笑)

そこで,あきらめてGtkかQtで作ろうと思い,せっかくMacで見た目美しく作るのだから,Qtだろう!と勝手に思い立ち,さっそくfinkでQt4をインストール.
パッケージはいくつかあったけど,"qt4-base-mac"を中心にインストール.

すると,依存関係から沢山のパッケージがインストールされ,その中にしっかり"qt4-base-mac-designer"もあるではないか!

そこで,コマンドラインから呼び出そうとしましたが,Linuxのような

$ designer-qt4

がありません!!!

これはLinux版

そこで,どこにインストールされているかを探します.

$ dpkg -L qt4-base-mac-designer

で探すと,/sw/lib/qt4-mac/bin/Designer.appにあると.

しかし,.appの拡張子でわかるように,これは実際はディレクトリですので,コマンドラインからは立ち上がりません.
そこで,Finderからダブルクリックで起動しました.


これを毎回いちいちFinderから起動は面倒なので,Dockに追加しておきました.

実際の開発は明日以降に...

MacかLinuxか,それが問題だ!(GPIBとRS232Cを,Mountain LionかScientificLinux6.3か)

GPIBとRS232Cをつかった測定システム構築のために,どんな環境がいいかいろいろ試しています.

自分一人でやるなら何でもいいのですが,いずれは共同研究者の方や,学生さん達にもお勧め出来るシステムの方が良いと思い,なるべく再現性のよいシステムを考えています.

そもそも,MacがいいのかLinuxがいいのかという選択肢があるわけですが,LinuxでNIのUSB-GPIB-HSを使う場合,2012/12時点でNI-488.2 2.9がkernel 2.6.24までしかサポートしていませんでした.

入手しやすい格安なラップトップ場合,最新のグラフィックボードをつかっていることが多いと思います.
その場合実際は最新のLINUXディストリビューションを使いたいのですが,そうするとNIのドライバが対応していない,という状況に陥ります.
実際,私の環境(HPの5万円程度のラップトップ,ProBook4730s)の場合,グラフィックがAMD Radeon HD 7470Mという比較的新しいもので,ScientificLinux6系でも6.3でやっと対応という状況です.
しかし,6.x系のカーネルは2.6.32-xなので,NI-USB-GPIB-HSが使えません!
5.x系はkernel 2.6.18-xなので大丈夫なのですが,XがVGAモードで起動すらしませんでした.

ScientificLinuxのカーネルバージョンヒストリーはここにあります.

そこで,LINUX-GPIBパッケージを使うのがいいとは思うのですが,過去のエントリにもk書いた通り,rootユーザで毎回ドライバの設定を読ませなくてはいけなかったり,使うユーザをgpibグループに追加しなくてはいけなかったりするし,そもそもあまり『コンダラを引きたくない』ヒトにはオススメ出来ないなぁ,と思っていました.

MacにNIのGPIBドライバがインストールできて,RS232cも簡単に読めれば,Macでやってもいいので,試しにやってみました.

まず,RS232cですが,Linuxではデフォルトでカーネルにドライバーがありましたので,
さすだけでモジュールがロードされていました.
BSDであるMacでもそんなに大きくは変わらないはず.

そこで,一切ドライバーインストールせずにまずはUSB-RS232変換ケーブルをブッさしてみました.
環境は,MacBookAir 11インチのMid2011モデルで,Mountain Lionにアップグレード済みです.

残念なことに,ドライバがロードされた気配もなく,

$ ls /dev/tty.*

としてみても,Bluetooth関係しか見えてきません.
そこで,チップの製造元FTDIのサイトから,Virtual COM Portドライバを探してきました.

インストールはあっけなく終了.
ケーブルを挿してみると,


無事に見えているようです.
一方,NIの488も,ここからリンクをたどってドライバをインストールしました.
2012/12の段階で,NI4882のバージョンは3.0.1でした.

Mountain Lionは対応しているとは書いていなかったのですが,あっさりインストールに成功し,通信できました.
(くれぐれも自己責任でお願いします!!)


GPIB Explorer.appが起動し,GPIBインターフェースが見えています.


付属してきたSample.cの中身をちょこっと変えて,*IDN?を投げかけて結果を読むようにしてみました.
しっかり動いています.

コンパイルは,

$ gcc Sample.c -m32 -framework NI488

でいいみたいです.
NIのウェブサイトに,

NI-488.2 for Mac OS X now functions when using a 64-bit Mac OS X kernel. The driver may currently be used only from 32-bit applications.

と書いてあったので,62ビットOSであってもm32オプションでコンパイルする必要があるみたいです.


2012年12月7日金曜日

OSXLion: finkでgnuplotがインストールできない!!(Xcodeのライセンス問題によりaquatermのインストールができなかった)

Cで書いたプログラムから,popenをつかってgnuplotを呼び出して,計算結果をちょこっと表示しながら進めようと思っていたら,あらまぁ,デスクトップにgnuplotを入れていないことに気づいた.

まだLionなので,さくっとインストール出来るだろうと思って,

$ sudo fink install gnuplot

を実行するも,依存関係でaquatermをインストールするところでこける.
finkをselfupdateしろとか,configureしなおせとかいろいろ言われるのでやってみるが変わらず.
xcodeを再インストールして,コマンドラインツールをインストールしなおしたり,いろいろやってみたけどやっぱり変わらず.

よくよくメッセージを読んでみると,aquatermをインストールするところで以下のような文章が...



+ xcodebuild install -target AquaTerm DSTROOT=/sw/src/fink.build/root-aquaterm-1.1.1-1 INSTALL_PATH=/sw/Applications DYLIB_INSTALL_NAME_BASE=/sw/Library/Frameworks GCC_PREPROCESSOR_DEFINITIONS=AQT_APP ARCHS=x86_64 MACOSX_DEPLOYMENT_TARGET=10.7

Acceptance of the Xcode license requires a writeable home directory or root authentication. Please change to a user with a writeable home directory, or use 'sudo xcodebuild -license' to accept the license at the system level (for all users)



なるほど,Xcodeのライセンスかなんかでこけているのか...
よくわからないけど,一般ユーザーでsudoでfinkしている限りは,ここにかいてある二番目のオプションを実行するほかないと考えられます.

そこで,言われた通り,

$ sudo xcodebuild -license

とタイプすると,ライセンスの文書が長々と流れます.
moreかなにかで表示しているみたいなので,spaceで送って行くと,最後に,

By typing 'agree' you are agreeing to the terms of the software license agreements. Type 'print' to print them or anything else to cancel, [agree, print, cancel]

と聞いてきたので,

agree

とタイプした.
半信半疑で,もう一度

$ sudo fink install gnuplot

とすると,今度は無事にインストール完了.

なんとあっけない.
普段Xcodeを使っていないのがバレバレ,というお話でした.

2012年11月22日木曜日

Scientific Linuxのdropboxが落ちた!

dropboxが落ちていた。

zipimport.ZipImportError: not a Zip file: '/usr/libexec/dropbox/library.zip'
 
というメッセージを吐いている。 
 google先生に聞いてみると、よくあることらしい。

# yum reinstall dropboxであっさり復活。

https://forums.dropbox.com/topic.php?id=39093

2012年11月21日水曜日

Scientific Linux 6.3でGPIB: ナノボルトメータと通信 ibtest編

先日の続きです.

Pythonはいろいろパスの設定とかめんどくさそうだったので,この際あきらめて,素直につながっているかどうかテスト.

まず,NI-USB-GPIB-HSをつなぐ.
dmesgで確認すると,


見えてます.
lsmodしてもしっかり見えていました.
それでは,rootで

# gpib_config

とタイプ.
設定が認識されて,使えるようになりました.


ibtestをつかいます.
きちんとパスの通ったところにインストールされているので,

# ibtest

で動きます.

グループ"gpib"に,GP-IBをたたきたいユーザを加えておけば,ここから先は一般ユーザでもオッケーでした.

$ ibtest


このibtestの使い方がイマイチめんどくさい.
起動すると,ボードと通信する(b)かデバイスと通信する(d)か聞いてきます.
とりあえずアジレントのナノボルトメータ(アドレス22)だけつないであるので,dと答え,アドレス22を入力.
(以下,私の入力は赤モジで示します.)


$ ibtest
Do you wish to open a (d)evice or an interface (b)oard?
(you probably want to open a device): d
enter primary gpib address for device you wish to open [0-30]: 22
trying to open pad = 22 on /dev/gpib0 ...

すると,つらつらと使い方が表示され,プロンプト”:”が表示され入力待ちになりました.
とりあえず,"*IDN?"を送ってみたいので,

You can:
w(a)it for an event
write (c)ommand bytes to bus (system controller only)
send (d)evice clear (device only)
change remote (e)nable line (system controller only)
(g)o to standby (release ATN line, system controller only)
send (i)nterface clear (system controller only)
ta(k)e control (assert ATN line, system controller only)
get bus (l)ine status (board only)
go to local (m)ode
change end (o)f transmission configuration
(q)uit
(r)ead string
perform (s)erial poll (device only)
change (t)imeout on io operations
request ser(v)ice (board only)
(w)rite data string
: w
enter a string to send to your device: *IDN?
sending string: *IDN?

gpib status is: 
ibsta = 0x2100  < END CMPL >
iberr= 0

ibcnt = 6


どうやらうまく聞いてくれたようです.
それでは,お返事を聞いてみましょう.
お話を聞くコマンドは"r"らしいので,入力.その後,すぐに何バイト??と聞いてくるので,とりあえず100と答えてみた.


: r
enter maximum number of bytes to read [1024]: 100
trying to read 100 bytes from device...
received string: 'HEWLETT-PACKARD,34420A,0,9.0-5.0-2.0
'
Number of bytes read: 37
gpib status is:
ibsta = 0x2100  < END CMPL >
iberr= 0

ibcnt = 37

青モジがナノボルの答えです.
おそらく,最後に"\n"がはいっているために改行されてしまうのでしょう,そこはご愛嬌ということで.

このあと,ナノボルトメータといろいろ世間話を楽しみました.
君,今のファンクションは??
今,VOLTっす
"そっか,じゃぁ,レンジはどのくらい??"
"+1.00000000E+00っすね."
って感じで(^^)v

2012年11月14日水曜日

Scientific Linux 6.3でGPIB: ナノボルトメータと通信

まずは/etc/gpib.confを編集し,アドレスが22,型番34420Aを登録します.
一応USBからGPIBインターフェースをぬいて,再起動.

起動後に,もう一度USBにGPIBアダプタをさす.
dmesgとLEDを確認.

さてさて,インタープリタで扱う方がテストとしてはやりやすいので,pythonから使えるかな?という甘い考えを抱き,Pythonでテスト.
しかし....


>>> import Gpib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named Gpib
>>>


...そんなモジュールないとか言い出す.
きっとパスが通ってないに違いない,と思い,


>>> import sys
>>> sys.path
['', '/usr/lib/python26.zip', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/gst-0.10', '/usr/lib/python2.6/site-packages/gtk-2.0', '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info', '/usr/lib/python2.6/site-packages/webkit-1.0']
>>>

やっぱり.
linux-gpib関係はすべて/usr/local/libの下にいます.
そこで,環境変数PYTHONPATHを設定してみた.

$ export PYTHONPATH=/usr/local/lib:/usr/local/lib/python2.6/:/usr/local/lib/python2.6/site-packages/

再びPythonを起動してチェック.
$ python
Python 2.6.6 (r266:84292, Jun 18 2012, 09:59:14) 
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/local/lib', '/usr/local/lib/python2.6', '/usr/local/lib/python2.6/site-packages', '/usr/lib/python26.zip', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/gst-0.10', '/usr/lib/python2.6/site-packages/gtk-2.0', '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info', '/usr/lib/python2.6/site-packages/webkit-1.0']

理屈の上ではこれで大丈夫なはず.
もう一度リベンジ!

>>> import Gpib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.6/site-packages/Gpib.py", line 2, in <module>
    import gpib
ImportError: libgpib.so.0: cannot open shared object file: No such file or directory
>>> 

しんどいなぁ.....
今日は帰ろう.



Scientific Linux 6.3でGPIB

昨日予告したように,Scientific Linux 6.3上でGP-IBを使うためのドライバーをインストールしました.

Linux GPIBのウェブサイトから,現時点での最新版をダウンロードしてきます.
今日の時点での最新版は,linux-gpib-3.2.16でした.
/usr/local/srcにダウンロードしたファイルをコピーして.

# tar zxvf linux-gpib-3.2.16.tar.gz
# cd linux-gpib-3.2.16
# ./configure
# make
# make install

と,なんだか怖いほどすんなり.
本当に動いているのかなぁ,と半信半疑でNIのGPIB-USB-HSをUSBポートに接続.
すると,なんと,きちんとREADYのLEDがオレンジ色に光るではないか!!

念のためdmesgを確認してみると,



無事にGPIB-USB-HSが読み込まれたとのメッセージが!!!!
嬉しい.

それでは,実際に動くかどうかはまた明日.

Scientific Linux 6.3にdropboxをインストール

いや,簡単.
"ソフトウエアの追加/削除でインストール"からyumでインストール出来る.


私はすでにアカウントを持っていたので,初回起動時に既存のアカウントへログインすると.再起動後にシンクがはじまった.
あっという間でした.

これで,過去の資産をローカルで簡単に使えます!

さて,むかし書いた三角格子ハイゼンベルグ反強磁性の帯磁率を求めるプログラムをコンパイルし直し,さっそく実行!

gnuplotで絵まで描いてご満悦


2012年11月13日火曜日

SL6.3上にmusrfitをインストール!!!本番

いきなりですが,ssh -Xでlinuxマシンにログインしてmusrviewを起動した画像です.



VNC経由で動かすよりもサクサクしてるので,こちらの方が良いです.
で,どうやってここまでこぎつけたかというと.
ROOTさえ入ってしまえばあとはそれほど大したことありませんでした.

指示通り,SVNでソースをコピーします.
自分の好きなディレクトリで,

$ svn co svn+ssh://svn@savannah.psi.ch/repos/nemu/lem/trunk/analysis/musrfit musrfit

と打つ.

すると,パスワードを二回聞いてくるので,二回とも,PSIの指示通りのパスワードを入力します.
それから,

$ svn up musrfit

でローカルのコピーを最新にアップデートします.
さて,それではビルドに入ります.

残念ながらNeXusは読み込めない可能性が高いので,ここは安パイをとってNeXusは有効にしないことにします.

$ cd musrfit
$ sh autogen.sh
$ . /configure --prefix=$ROOTSYS
$ make

ここまでうまくいったら,スーパーユーザー権限で,

# make install
# /sbin/ldconfig

そして最後に,環境変数MUSRFITPATHを.bashrcと.bash_profileにかき込んで終わり.
冒頭のように,exampleディレクトリの下にあるスペクトルをmusrviewで見ることができました,というわけです.

さて,明日は朝から講義.おわったらGPIBドライバのセットアップに入ろうかと思っています.



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になったことで、いろいろ変わったらしい。
まぁ、私がやることにはそんな影響はないとおもわれる。


2012年3月13日火曜日

果たして今日はしっかり走れるか??

今日もキリがひどくてはしれない.
7'51"97
車が見えない汗
怖いので中止.

英国にて

インフルはほぼ完璧になおった気がする.
軽く走ることにした.
8'31"58
霧がひどいので中止.

2012年2月26日日曜日

WINE on Lionソースからコンパイルに挑戦(うまくいかず

winebottleからwineのソースコードを入手.
バージョンは1.2.3
圧縮形式はbz2だったので,
bzip2 -dc ファイル名 | tar xv
で展開.
できたディレクトリに移動し,
./configure
すると,freetypeがなんちゃらと怒られる.
そこで,
--without-freetype
オプションをつけると,無事設定完了.
make
OK
sudo make install
インストールは出来たが,走らせようとすると,
bus error 10
が出る.

そこで,アンインストールした.
sudo make uninstall
できちんと消える.

新しいバージョンのソースを探し,sourceforg.netからバージョン1.3.37をダウンロード.
やはりfreetype関係のエラーでとまる.
よって,
--without-freetype
オプションをつけて./configureする.

makeまでは来ました.

sudo make installして,一見問題ないように見えたのですが,今度は実行時にfreetype関連のエラーが出て,実行不可能.


$winefile
err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7bc616ce
Wine cannot find the FreeType font library.  To enable Wine to
use TrueType fonts please install a version of FreeType greater than
or equal to 2.0.5.
http://www.freetype.org
err:x11drv:process_attach failed to load libX11.6.dylib: dlopen(libX11.6.dylib, 266): image not found
err:x11drv:process_attach failed to load libX11.6.dylib: dlopen(libX11.6.dylib, 266): image not found
err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7bc616ce



freetypeはきちんと2.4.4の32bitバージョンを入れていたのですが,なぜか上述の様なエラーが..
それから,下段はx11drv関連ですが,こちらももちろんあります.
なぜ??

環境は,
Mac OS X10.7.3
Xcode 4.2
gcc 4.2.1


2012年1月17日火曜日

wine on Lion ?(予定)

さて,Lionにしてから快調に仕事をこなしていた私ですが,大事なことを忘れていました…
Wineです…

残念ながら,finkのパッケージは今日現在lionに対応していません.
ソースからbuildしないとダメかなぁ…

今,一応VirtualBoxでwin2000が快適に動いているので,あまり急いでいるわけではないのですが…

ところで,VirtualBoxは便利になりました.
VirtualBoxを毛嫌いしていた理由は,ホストキーを忘れてしまうとフルスクリーンモードから戻るのに苦労する,という点が怖かったからです汗
実は一回やりました笑

でも,いつからか,フルスクリーンモードになったときにミニツールバーが現れるようになり,ちょっと安心です笑
これならフルスクリーンモードからウインドウモードに戻るときにいざホストキーを忘れても大丈夫です.

ところで,ホストキーは現在左⌘キーに割り当てられています.