平衡点


2008/07/09

_ 近況

ここ 1,2 週間ほど何も書いていなかったんですが, とりあえず生きています.

暑苦しいので, 電気代に目を瞑ってエアコン使いまくっていたら, 体温調節狂いました(笑). 汗をきちんかかないといけないな, と反省しました.

...いや, ツライけどさぁ.

という訳で, 書こうと思っていた事柄を書いておく.

_ S 藤さん神戸来襲(2008/06/28)

S 藤さんが神戸にいらっしゃいました. まあ, ガンバ V.S. コンサとか日ハム V.S. オリックスとか. で, 久々に飲み. もっと神戸の店を知っておくべきなんだろうな, と思いました.

おみやげにサッポロクラシック頂きました. 素晴しい. 非常に幸せな気持になりました.

_ 第 14 回 関西 Debian 勉強会(2008/06/29)

<URL:http://wiki.debian.org/KansaiDebianMeeting20080629:title> に行ってきました. また, 海老江を出たあとに迷子に. 出口を確認せず適当に出たら, 反対側だったよ.

pbuilder でパッケージをビルドしてみるby 大浦 真さん

これを読んだ後で, 電脳パッケージを pbuilder 環境で build することにしました.

--save-after-login

で, chroot 環境での変更を保存できるんですね.

hotplug の現状 by 川島 潤さん

kenel <-> udev <-> HAL の話凄い濃い. 45 分じゃもったいないですね.

SSL のサーバ証明書が失効する時 by 久保 博さん

「SSL 証明書のブルース」ワロタ(笑)

恥ずかしながら, 私は, いわゆる「オレオレ証明書」を使用する場合には, どうしたら良いのか, という事が未だ理解できていないのです. それなりの費用を払って認証局からサーバ証明書を貰えば良いのかもしれないけれども...

fingerprint をサーバに置いておいて, ssh で login してもらって, fingerprint を確認してもらう, かなぁ...

石渡さん集中講義(2008/07/01)

講演者が煙草を吸う人だと, 大変ありがたいですね(違). 暴走温室と全球凍結のお話でした.

放射は面倒ですねぇ...


2008/07/10

_ XFce4 -> Gnome...

XFce4 のネズミが好きなんですけどねぇ...

xrandr の dual head ができないので, XFce4 から, 試しに Gnome へ変えてみたら, ちゃんと dual head できた.

うーん悔しいなぁ. とりあえず設定を貼っておく. 誰か知らない?

環境

ハード:
  • Let's Note CF-R4
OS:
  • Debian GNU/Linux lenny.
  • 微妙に sid/Ubuntu とチャンポン
X.org:
  • version.7.3+12
XFce4:
  • ver. 4.4.2.1. メタパッケージの xfce4 を install している.
Gnome:
  • ver. 2.20.2.4 メタパッケージの gnome-core を install

xorg.conf の設定は以下

...
Section "Device"
        Identifier      "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
        Driver          "intel"
        #Driver         "i810"
        #Option         "UseFBDev"      "false" 
        BusID           "PCI:0:2:0"
        Option          "XAANoOffscreenPixmaps" "true"
        #Option         "AccelMethod" "EXA"
        Option          "AccelMethod"  "XAA"
        Option          "DRI"   "true"
EndSection
...
Section "Screen"
        Identifier      "Default Screen"
        Device          "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
        Monitor         "Generic Monitor"
        DefaultDepth    24
        SubSection "Display"
                Depth           24
                Modes           "1024x768"
                Virtual         2048    1024
        EndSubSection
EndSection
...

でもって,

$ xrandr --output VGA --mode 1024x768 --right-of LVDS 

な訳ですが. XFce4 だと, VGA 側が黒画面, マウスだけが見える. Gnome だと綺麗に Dual Head. 黒画面 + マウスなんで, Window Manager の問題なんだろうな...

非常に悔しい.


2008/07/12

_ Z, OB 飲み会

金丸さん, 工藤さん, 希さんと飲み. 楽しかったです. 良く考えると希さんとお話しするのは 10 年ぶりぐらいなんじゃないかな, とか思いました.

_ Emacs のスプラッシュスクリーン.

出ても特に困らないけれど.

(setq inhibit-splash-screen t)

で, 抑制できる. ついでに scratch バッファの説明も表示されなくなった. これは便利だ.


2008/07/13

_ sudo で vi/less を禁止する対応策

sudoedit, もしくは sudo -e. 知らなかった. 環境変数 EDITOR が起動するみたいで, 手元の環境では vim が起動しました.

_ manpages-ja

上の sudoedit を調べようとしたら, man sudo で出なかった. どうも manpages-ja が古いみたいで, LANG=C man sudo で調べたら "-e" が出てきた.

...ふむ.


2008/07/19

_ 宇宙研 SX-6 での計算環境構築

SPMODEL が使えるようになるまでのまとめ. 鬼門は NetCDF ライブラリの構築. やっぱり cross compile は上手くいかない...

NetCDF

Version 3.6.2 以降のライブラリ構築には今の所失敗している. 多分リンカ・ローダを適切に設定すれば良いんだろうけど...(多分. 違うかな?)

ライブラリの構築はセルフコンパイルで行なう. install したのは netcdf の ver.3.6.1. 3.6.0-p1 についてはNEC SX architectures, including the Earth Simulatorが参考になるだろう. 以下, [sx6] はフロントエンド, [node00] はインタラクティブノードのこと.

ソースとパッチの取得

フロントエンドで作業する.

先ずソースを取得する. 日本なんでミラーサイトの方が近い.

[sx6]$ mkdir -p ~/comp/netcdf
[sx6]$ cd ~/comp/netcdf
[sx6]$ wget http://www.gfd-dennou.org/arch/ucar/netcdf/netcdf-3.6.1.tar.gz

次にパッチの取得. SX-6 用のパッチは <URL:http://www.unidata.ucar.edu/software/netcdf/patches/nec-sx-361-patches.html:title> にある. これらを取得する.

[sx6]$ wget http://www.unidata.ucar.edu/software/netcdf/patches/blksz-361-patch
[sx6]$ wget http://www.unidata.ucar.edu/software/netcdf/patches/f90-361-patch
[sx6]$ wget http://www.unidata.ucar.edu/software/netcdf/patches/nec_sx_vector_ncx-361-patch
[sx6]$ wget http://www.unidata.ucar.edu/software/netcdf/patches/fileinf-361-patch
ソースの展開とパッチ当て.

フロントエンドで作業する(node00 へログインしたら, patch コマンドの挙動が違ったので, パッチが当てられなかった. man も見られなかったので, フロントエンドで作業した).

[sx6]$ tar xvzf netcdf-3.6.1.tar.gz
[sx6]$ cd netcdf-3.6.1/src
[sx6]$ patch -p0 < ../../blksz-361-patch
[sx6]$ patch -p0 < ../../f90-361-patch
[sx6]$ patch -p0 < ../../nec_sx_vector_ncx-361-patch
[sx6]$ patch -p0 < ../../fileinf-361-patch
configure

インタラクティブノードで作業する.

先ず環境変数を設定する.

[node00]$ export FC='f90 -dW'
[node00]$ export F90='f90 -dW'
[node00]$ export CC=c++
[node00]$ export CXX=c++
[node00]$ export TEMP_LARGE=$HOME/work

TEMP_LARGE に指定した $HOME/work は宇宙研 SX-6 で提供されている巨大ストレージ.

次に configure スクリプトを実行する. --prefix で install 先を指定する. 今回は $HOME/dennou 以下に install する事に.

[node00]$ cd ~/comp/netcdf/netcdf-3.6.1/src
[node00]$ ./configure --prefix=$HOME/dennou

これで compile すれば良い...わけではない. LINKER の修正が必要. macros.make で

# source: diff
@@ -55,9 +55,9 @@
 F90LDFLAGS     = $(LDFLAGS)
 LINK.c         = $(CC) -o $@ $(CFLAGS) $(LDFLAGS)
 LINK.cxx       = $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS)
-LINK.F         = $(FC) -o $@ $(FFLAGS) $(FLDFLAGS)
-LINK.f         = $(FC) -o $@ $(FFLAGS) $(FLDFLAGS)
-LINK.F90       = $(F90) -o $@ $(F90FLAGS) $(F90LDFLAGS)
+LINK.F         = $(CXX) -o $@ $(FFLAGS) $(FLDFLAGS) -f90lib
+LINK.f         = $(CXX) -o $@ $(FFLAGS) $(FLDFLAGS) -f90lib
+LINK.F90       = $(CXX) -o $@ $(F90FLAGS) $(F90LDFLAGS) -f90lib

としておく.

build, install

インタラクティブノードで.

[node00]$ make

install には微妙に修正が必要. rules.make にて

# source: diff
@@ -115,19 +115,19 @@
 # $(INSTALL)ation:
#
 $(INCDIR)/$(HEADER):	$(INCDIR) $(HEADER) FORCE
-	$(INSTALL) $(HEADER) $@
+	$(INSTALL) $(INCDIR) $(HEADER)
 $(INCDIR)/$(HEADER1):	$(INCDIR) $(HEADER1) FORCE
-	$(INSTALL) $(HEADER1) $@
+	$(INSTALL) $(INCDIR) $(HEADER1)
 $(INCDIR)/$(HEADER2):	$(INCDIR) $(HEADER2) FORCE
-	$(INSTALL) $(HEADER2) $@
+	$(INSTALL) $(INCDIR) $(HEADER2)
 $(INCDIR)/$(HEADER3):	$(INCDIR) $(HEADER3) FORCE
-	$(INSTALL) $(HEADER3) $@
+	$(INSTALL) $(INCDIR) $(HEADER3)
#
 $(LIBDIR)/$(LIBRARY):	$(LIBDIR) $(LIBRARY) FORCE
-	$(INSTALL) $(LIBRARY) $@
+	$(INSTALL) $(LIBDIR) $(LIBRARY)
#
 $(BINDIR)/$(PROGRAM):	$(BINDIR) $(PROGRAM) FORCE
-	$(INSTALL) $(PROGRAM) $@
+	$(INSTALL) $(BINDIR) $(PROGRAM)
#
 $(BINDIR) \
 $(INCDIR) \
@@ -142,9 +142,9 @@
 	-test -d $@ || mkdir $@
#
 $(MANDIR)/man1/$(MANUAL):	$(MANDIR)/man1 $(MANUAL)
-	$(INSTALL) $(MANUAL) $@
+	$(INSTALL) $(MANDIR)/man1 $(MANUAL)
 $(MANDIR)/man3/$(MANUAL):	$(MANDIR)/man3 $(MANUAL)
-	$(INSTALL) $(MANUAL) $@
+	$(INSTALL) $(MANDIR)/man3 $(MANUAL)
 $(MANDIR)/man3f/$(MANUAL):	$(MANDIR)/man3 $(MANDIR)/man3/$(MANUAL) \
 				$(MANDIR)/man3f
 	rm -f $@

とする. その後で

[node00]$ make install

ちなみに make test 「型の不一致」で転ぶ. 3.6.0-p1 の頃のパッチを覗きながら, 適宜修正すると make test は通るけれど, 結局力技で型定義等を弄っているので, 気にしないことにする.

gt4f90io のインストール

フロントエンドで作業する.

[sx6]$ mkdir -p ~/comp/gt4f90io
[sx6]$ cd ~/comp/gt4f90io
[sx6]$ wget http://www.gfd-dennou.org/library/gtool4/gt4f90io/gt4f90io_current.tgz
[sx6]$ tar xvzf gt4f90io_current.tgz
[sx6]$ cd gt4f90io-20080605
[sx6]$ FC=sxf90 AR=sxar ARFLAGS=ru MAKE=make RANLIB=touch \
       NCDUMP=$HOME/denou/bin/ncdump \
       SYSFFLAGS="-w -dW -sx6 -Wf'-pvctl loopcnt=65536 nodivloop noloopchg -O'" \
       AR=sxar ARFLAGS=rv \
       ./configure --prefix=$HOME/dennou \
         --with-netcdf=$HOME/dennou/lib/libnetcdf.a \
[sx6]$ gmake
[sx6]$ gmake install

ちなみに make test を実行する場合には, test プログラムを逐一 submit する必要がある. けれど, 幾つかのテストは通らない. 例えば dc_date の test で

...
  *** Error [AssertEQ] *** Checking DiffTime, Create/toChar test 2 FAILURE

   check  = 0000-00-25T00:00:00.000000000000000000000000D+
     is NOT EQUAL to
   answer = 0000-00-25T00:00:00

なんてなったりしている. 弄るなら dc_test なのかな?

ISPACK

フロントエンドでクロスコンパイルする. ソースの取得, 展開は

[sx6]$ mkdir -p ~/comp/ispack
[sx6]$ cd comp/ispack
[sx6]$ wget http://www.gfd-dennou.org/library/ispack/ispack.tar.gz
[sx6]$ tar xvzf ispack.tar.gz
[sx6]$ cd ispack-0.71

で終了. fepack.F の一部に, インデントで Tab が使われているのを修正する.

# source: diff
diff -urNad ispack-0.71~/fepack/src/fepack.F ispack-0.71/fepack/src/fepack.F
--- ispack-0.71~/fepack/src/fepack.F    1998-10-10 02:43:04.000000000 +0900
+++ ispack-0.71/fepack/src/fepack.F     2007-10-16 19:43:09.000000000 +0900
@@ -209,7 +209,7 @@
       DO I=1,ND
         CALL FHUGET(IU,4,IW)
         CALL FLCEN4(IW,RD)
-       DD(I)=RD
+        DD(I)=RD
       END DO
 #elif IEEE
       DO 10 I=1,ND

その後 Mkiclude を修正.

# source: diff
--- Mkinclude.orig      2008-07-19 06:10:36.000000000 +0900
+++ Mkinclude   2008-07-19 06:13:24.000000000 +0900
@@ -23,24 +23,24 @@
        c2pack p2pack p3pack p3pack-mpi snpack-mpi sppack-mpi sopack-mpi \
        dkpack
 LIBNAME                = libisp
-DESTDIR                = .
+DESTDIR                = $(HOME)/dennou/lib
 STATICLIB      = $(DESTDIR)/$(LIBNAME).a
 SHAREDLIB      = $(DESTDIR)/$(LIBNAME).so
 PACKFILE       = $(DESTDIR)/ispack.f
 SHELL          = /bin/sh
 MAKE           = make
-FC             = g77
-FFLAGS         = -O -fPIC
-MPIFC          = mpif77
-MPIFFLAGS      = -O
-CC             = gcc
-CFLAGS         = -shared -Wl,-soname,$(LIBNAME).so
-AR             = ar
-ARFLAGS                = vru
+FC             = sxf90
+FFLAGS         = -g -w -sx6 -Wf'-pvctl nodivloop noloopchg -O'
+MPIFC          = sxmpif90
+MPIFFLAGS      = -g -w -sx6 -Wf'-pvctl nodivloop noloopchg -O'
+CC             = sxcc
+CFLAGS         = -g
+AR             = sxar
+ARFLAGS        = vr
 RM             = rm -f
 CP             = cp
-CPP            = cpp
-CPPFLAGS       = -DDIRECT -DIEEE -DASCII -DLEN -DET
+CPP            = /usr/bin/cpp
+CPPFLAGS       = -DDIRECT -DFORMAT -DIEEE -DASCII -DNEC -DSPLIT
 MV             = mv -f
-RANLIB         = ranlib
+RANLIB         = touch
 CAT            = cat

そして

[sx6]$ make
[sx6]$ make static

で終了.

spml

フロントエンドでクロスコンパイルする. ソースの取得, 展開は cvs を scp で転送して行なった.

[sx6]$ RANLIB=touch AR=sxar ARFLAGS=rv FC=sxf90 \
       SYSFFLAGS="-w -dW -sx6 -Wf'-pvctl nodivloop noloopchg -O'" \
       ./configure --prefix=$HOME/dennou \
       --with-ispack=$HOME/dennou/lib/libisp.a \
       --with-netcdf=$HOME/dennou/lib/libnetcdf.a \
       --with-gt4f90io=$HOME/dennou/lib/libgt4f90io.a \
       --with-lapack=/SX/usr/lib0/liblapack.a \
       --with-mpifc=`which sxmpif90`
[sx6]$ make
[sx6]$ make install

その後で, コンパイル用のスクリプトである spmfrt, mpispmfrt を修正する. クロスコンパイルの際に, 一度オブジェクトを生成した後で実行ファイルを作成するようにする.例えばこんな感じに.

# source: bash
linkf="sxc++ -f90lib"
#
echo $fc $fflags "$@" $libs $ldflags $ldlibs
$fc "-c" $fflags "$@" $libs $ldflags $ldlibs
base=`basename "$@" .f90`
obj=$base.o
exe=$base.out
$linkf $fflags $obj $libs $ldflags $ldlibs -o $exe
rm $obj

\$fflags に最適化オプションがあると, sxc++ での実行ファイル作成時に困るので, 適当に分離しておくと良い. mpispmfrt の場合は \$linkf が sxmpic++ になる.


2008/07/21

_ 札幌にいます.

...涼しい. そして, 皆が半袖なのが信じられない. 二年前まで, この時期そんな格好していたのだろうか...(多分, シャツの袖を捲っていたんだろうけれど).

@ さんと孔子餐店で御飯した後, ホテルに戻るまで, 微妙に肌寒かった.

...かといって, 神戸に慣れた訳ではないのですがねー.


2008/07/22

_ 怪しい看板

ここの会場の看板は, なぜマゼンダなんだ(笑)

そんな訳で<URL:https://www.wakusei.jp/news/meetings/2008/2008-07-22/:title>参加中です.

...あれ? https でエラーが出るな. SSL 証明書どうしたんだろう...

_ TeX のメモ

φ(._. )

文献参照.

以前 <URL:http://d.hatena.ne.jp/sasakyh/20080209#p1:title> でもメモしたけれど. natbib.sty が楽. これまでは, bibtex で jmsj.sty と jas.bst を使用していたけれど,

\usepackage{natbib}
\renewcommand{\cite}[1]{\citet{#1}}
\newcommand{\hcite}[1]{\citealt{#1}}

としておいて, ソースの末尾に

\begin{thebibliography}{99}
    \bibitem[Hogehoge {\it et al.}(2008)]{Hogehoge-etal2008}
            Hogehoge, H., Herohero, H., Foobar, V., 
            2008:
            Bibliograhy environment Test.
            {\it Journal example},
            {\bf 999}, 10--13.
\end{thebibilography}

なんて書いておく. あとは

\hcite{Hogehoge-etal2008}    -> Hogehoge et al. 2008
\cite{Hogehoge-etal2008}     -> Hogehoge et al.(2008)

みたいになる. thebibliography 環境でのソートはできないので, リストは自前でソートしておく必要がある(sort までしたいなら bibtex 使う). ...bibitem と .bib の相互変換ができるようなフィルタを書こうかな.

下つき, 上つき大括弧

\begin{equation}
  \underbrace{(\nabla\times\vec{B})\times\vec{B}}_{I_{L}}
\end{equation}

なんて書くと, となる.


2008/07/24

_ Google Earth の install

google-earth-package という deb パッケージがあったので試してみた.

$ sudo aptitude update
$ sudo aptitude install google-earth-package
$ make-googleearth-package
...
Success
$ sudo dpkg -i google-earth*.deb

...install はできましたが, 起動しません. 起動途中で落ちますね. なにか足りないのかな?


2008/07/29

_ あんまり書いてませんが

生きています. 一応.

_ lenny の freeze,

9 月リリースが目標らしいです.

sarge -> etch の時は間隔がかなり空いたので, upgrade に躊躇していた人が周囲に多かったのですが, これだけリリース間隔が短いと, 逆に困らないのかも, とか思いました.

...そうでもないかな(笑)

_ gfortran の getarg/iargc

φ(._. )メモ


連絡先など
最近の日記
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|
Back to Top ▲