2011-01-01から1年間の記事一覧

開発中のエラー

The program 'python' received an X Window System error. This probably reflects a bug in the program. The error was 'BadPixmap (invalid Pixmap parameter)'. (Details: serial 2095706 error_code 4 request_code 56 minor_code 0) (Note to program…

pkg-config

ライブラリを使う際には、pkg-configでリンクに必要な情報を取得できる。pkg-configが利用できるライブラリの一覧を表示するには、 $ pkg-config --list-all例えば、glib-2.0だと、 $ pkg-config glib-2.0 --cflags --libs

ジャーゴン

プログラムを書くときよく使うジャーゴン(jargon)。 意味なし単語。foo, bar, baz, qux, quux, corge, grault, ... 日本だと、hoge, fuga, piyoとか。

HITACHI最適化Fortranの使用

FORTRANでのコンパイル時に、「-lf90c」のリンクオプションを指定することで、他社FORTRANで標準的にサポートされているいくつかのサービスサブルーチンを使うことができるらしい。参考文献:www.cc.u-tokyo.ac.jp/system/sr11000/guide/SR11000-tebiki.pdf

FortranのSECOND関数とは

Fortranで使われているsecond関数について確認する。GNU Fortran Compilerこれによると、 CPU_TIME関数と同じ。後方互換性のためにあるので、できればCPU_TIMEに変えた方がよい。 プロセスのランタイムを秒で測定する。CPU時間を測っているのだよね。

/usr/bin/w64

AIXで、/usr/bin/w64というのがあるが、これはなにか? どのようなときに動くのか?

sedで文字列を置換する

大量のソースコードの中の文字列をしたり、元に戻したりするスクリプト - 起動がもの凄く遅い頭脳だから において、edを使って文字列の置換をしていたが、これだとAIXでは動作しないことが判明した。Linuxでは問題なかったのに。そこで、sedを使って書き直す…

シェルスクリプトの中で、足し算をしたい

シェルスクリプトの中で、足し算をしたいとき。以下のようにする。exprを使う。 for NN in `seq -w 1 10` do MM=`expr ${NN} + 10` echo ${NN}, ${MM} done出力結果は以下の通り。 01, 11 02, 12 03, 13 04, 14 05, 15 06, 16 07, 17 08, 18 09, 19 10, 20 …

LinuxでのGUIプログラム起動時のエラー

Linux (CentOS)で、GUIプログラムを立ち上げるときに出るようになったエラー、というかメッセージ。プログラムの実行に支障は無いが、何か操作をすると永遠に出続ける。 Another agent is running... Failed to allocate the agent. Exitting... Faoled to i…

Windowsの改行コードを削除する方法

テキストファイルにWindowsの改行コード(CR+LF)が含まれている場合、Linuxでは改行コードが(LF)なので、行末に制御コード^Mが表示されてしまう。これが数千行もあると、一つ一つ消していくことは不可能。一気に消したいが方法をすぐに思い出せなかったので…

コマンドの引数に大きな値を設定すると生じるエラー

操作対象ファイル数が25万以上ある場合、コマンドの引数として与えて、何らかの操作をしようとするとエラーになることに気付く。例えば、rmコマンドの場合。 $ rm file*data -bash: /bin/rm: Argument list too longここで、扱い可能なファイル数の上限はい…

shiftコマンドの使い方(シェルスクリプトの引数処理)

シェルスクリプトのshiftコマンド。スクリプト実行時に与えられた引数の位置パラメータを順にずらしていく。 書式 shift [number] numberで何個ずらすかを指定する。省略時には、number=1と解釈される。 使い方 例えば、複数の引数を与えられるスクリプトで…

今日のLinuxコマンド

ldconfig --- 動的リンカが、共有ライブラリを探すためのお膳立てをする。 (http://www.pochinet.org/linux2L006.htm) nm --- 実行モジュールの中で、どの関数を呼んでいるか確認できる。 (nmコマンドの使い方: UNIX/Linuxの部屋)

Ubuntuのコードネームを確認するコマンド

Ubuntuのコードネームを確認するときは、lsb_releaseコマンドが使える。オプションは-c。 $ lsb_release -c Codename: oneiric 上記の実行例は、バージョン11.10の場合。

findコマンドでファイルを探すときのエラーメッセージはいらない

findコマンドでファイルを探すとき、広範囲で検索すると(ルート以下のすべてのファイルを検索対象とするとき等)自分にアクセス許可がないディレクトリなども探そうとして、膨大なエラーメッセージが表示されることがよくある。このようなエラーメッセージ…

Matplotlibでグラフを描くpythonスクリプト

Excelでプロットする際に、ファイルを開いたり、移動したり、座標軸を設定したりという作業が面倒だったので、データのファイルを読み込んで、matplotlibでグラフを描くスクリプト。 #!/bin/env python import os from pylab import * namf = [ 'data.lst_no…

ソースコードの73カラム目以降を削除する

Fortranのソースコード等では、各行の73カラム以降はコンパイル時に無視されるため、何を書いてもよくコメントを書くことに使われる場合がある。そのようなソースを紙に印刷する場合、一行分が紙での2行以上に渡って印刷されてしまうことがある。これは紙の…

大量のソースコードの中の文字列をしたり、元に戻したりするスクリプト

大量にあるプログラムのソースコードの中の、指示行と付けたりとったりしてデバッグするときに使用したシェルスクリプト。このスクリプトを実行後、makeする。 #!/bin/sh MODE=1 FILE="src01r src02 src03 src04 src05" if [ $MODE = 0 ] then echo $MODE fo…

特定の文字列をその中に含むファイルのリストを 作りたい

例えば、AAAという文字列が書かれているファイルを抽出するには下のスクリプトになる。 #!/bin/sh for FILE in `ls *f` do if grep 'AAA' $FILE > /dev/null then echo $FILE fi done grepの結果は必要ないので/dev/nullに捨てている。そうしないと、grepの…

ファイルの中の文字列を置換するスクリプト

複数のファイルの中の特定の文字列を置換する。ファイルが数百あるので、手作業でやることはありえない。Pythonを使うことも考えたが、シェルの方がこの場合、楽だ。以下のスクリプトを実行する。 #!/bin/sh for file in `ls *.cpp` do echo -e "%s/AAAA/BBB…

gcc44のインストール (CentOS)

CentOSで使っているgccのバージョンが4.1だったので、更新する。 検索して見付かったgcc44というのはバージョン4.4なのだろうと思うので、これをインストール。 # yum install gcc* でできた。 参考サイト Lightning bug 【備忘録】CentOS 4.7にgccをインス…

exit関数

C言語のexit関数は、returnと同じもの。 exit(0); は正常終了(return 0) exit(1); は異常終了 exitは正の整数であれば引数になんでも取れる。負の整数が使えるかは処理系依存。

stricthostkeychecking

パスフレーズを入力するのが面倒http://haraken.info/wordpress/?p=19

地図上にグラフを描くツールGMT

GMT(The Generic Mapping Tools)というツールがある。 それを使うと、地形図に重ねてグラフ等を表示することができるようになるらしい。コマンドラインから実行するようになっているので、Windows版は何かと使いにくそうだ。これから学ぶ。 本家 Wiki - GMT …

MACアドレス FF:FF:FF:FF:FF:FF

ネットワークのパケットを見ていて、MACアドレスが「ff:ff:ff:ff:ff:ff」となっているものがあることに気づく。 これは?MACアドレス(ブロードキャストアドレス) TCP/IP入門ブロードキャストアドレスということなので、ブロードキャストドメイン内のすべて…

PILでgifファイルのリサイズ

大量のGIFファイルを一気にリサイズするために、Python Image Library (PIL)を使う。サイズがちょっと大きすぎて、GIFアニメーションの容量が大きいので小さくする。以下のスクリプトで一気に100枚のファイルをリサイズした。 import glob import Image fls …

Fortranのコンパイルエラー

下記は、Intel Fortranでコンパイル時のエラー。 tmp.f(24): error #6385: The highest data type rank permitted is INTEGER(KIND=8). ALLOCATE(BUFSND(NE*N*DNUM),BUFRCV(NE*N*DNUM))原因不明。ちゃんとBUFSNDとBUFRCVは複素数で定義してあるのに...。 ALL…

OpenGLを使ったコードをコンパイルするときのmakefile

OpenGLを使ったコードをコンパイルするときに使うMakefileを記録しておく。-lglutを付けてコンパイルしているだけだが...。 # makefile # #LIBDIR = #MYLIB = #CFLAGS = SRC = $(SRC): $(SRC).o $(CC) -o $@ $^ $(MYLIB) -lglut ## $(CC) -o $@ $^ $(MYLIB) …

Windowsでのプロセス確認

LinuxのpsコマンドみたいなWindowsのコマンド - ありの日記psコマンドのようなものを、Windowsのコマンドプロンプトで使いたいと思い、行き着いた。tasklistってコマンドがあるのね。ありがと。

今日のエラー

MPIによる並列化したコードでのエラー:p4_error: latest msg from perror: Bad file descriptor