ZZRでツーリングマップル(中四国版)全制覇への道 〜ついでにLinuxハッカーも目指してます〜

どうも。ここは、バイクを買って一年ちょっとの駆け出しライダー兼Linux狂のITサラリーマンのブログです。 ツーリングマップルの全ページ制覇の記録と、日々のLinuxハッキングの記録を記します。

[Gentoo]緊張の初emerge -u system

はじめて emerge -u system してみた。
しかし、やっぱり、エラー発生。まあ、いつものこと。ブログに書くネタができたと思えばよし。
Linuxを使いはじめて数年になるが、最近になってやっと、「一発目でうまくいくことはないだろう」という悟りを開けた気がする。

■ エラー内容
----------------------------------------------------------------------
!!! ERROR: sys-libs/db-4.2.52_p4-r2 failed.
Call stack:
ebuild.sh, line 1614: Called dyn_compile
ebuild.sh, line 971: Called qa_call 'src_compile'
environment, line 4703: Called src_compile
db-4.2.52_p4-r2.ebuild, line 101: Called die

!!! configure failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/sys-libs/db-4.2.52_p4-r2/temp/build.log'.

!!! When you file a bug report, please include the following information:
GENTOO_VM=sun-jdk-1.5 CLASSPATH="" JAVA_HOME="/opt/sun-jdk-1.5.0.09"
JAVACFLAGS="-source 1.4 -target 1.4" COMPILER=""
and of course, the ohttp://utput of emerge --info
----------------------------------------------------------------------

うーん、javaまわりか?

■以下の情報を発見
http://www.archivesat.com/Gentoo_Linux_users/thread2810188.htm

コメント通り、 java-check-enviroment を実行してみる
----------------------------------------------------------------------
$ java-check-environment
* === Java Environment Checker ===
* The purpose of this script is to check the sanity of your Java Environment.
* We have significantly changed and improved the way Java is handled in many respects.
* Please refer to http://www.gentoo.org/proj/en/java/java-upgrade.xml for details

* Checking vm_environment_files ... [ ok ]

* Checking user_settings ... [ ok ]

* Checking generation_1_system_vm ...
* No Generation-1 System VM is set! (no /etc/env.d/20java)
* It doesn't look like java-config-1 sees any installed VMs.
* It is most likely because you don't have a 1.4 JDK installed
* This is required for generation-1 to work properly.
* You will want to emerge =virtual/jdk-1.4* [ !! ]

* Some problems were found. Please follow the instructions above, and rerun java-check-environment
----------------------------------------------------------------------

JDK1.4がいるんですか〜?? 1.5入ってるけど、それ使えないのかな?


■関係ありそうな設定ファイルをいろいろ見てみる
----------------------------------------------------------------------
$ cat /etc/env.d/20java-config
MANPATH=/etc/java-config/system-vm/man/
CONFIG_PROTECT_MASK="/etc/java-config/vms/ /etc/env.d/java/"

$ ls /etc/java-config-2
build/ current-system-vm@ virtuals

$ ls -l /etc/java-config-2/current-system-vm
lrwxrwxrwx 1 root root 24 2006-12-25 21:06 /etc/java-config-2/current-system-vm -> /usr/lib/jvm/sun-jdk-1.5

$ls -l /usr/lib/jvm/sun-jdk-1.5
lrwxrwxrwx 1 root root 21 2007-01-23 01:56 /usr/lib/jvm/sun-jdk-1.5 -> /opt/sun-jdk-1.5.0.09

$ ls -1 /opt |grep jdk
jdk1.5.0_11/
----------------------------------------------------------------------

どうやら、インストールしているJDKへのシンボリックリンクが正しく設定されていないようだ。JDK1.5はemergeではなく手動でインストールした。
シンボリックリンクの変更で解決を試みる。

----------------------------------------------------------------------
# ln -sf /opt/jdk1.5.0_11 /usr/lib/jvm/sun-jdk-1.5

一応、emergeのエラーメッセージへの対策として、以下もやっておく。
# ln -s /opt/jdk1.5.0_11 /opt/sun-jdk-1.5.0.09
----------------------------------------------------------------------

■再チャレンジ
# emerge -u system

* IMPORTANT: 51 config files in '/etc' need updating.
* Type emerge --help config to learn how to update config files.

うまくいった!!

■/etc以下の更新
# etc-update

33個も更新があるじゃないか(泣)

「51 config files in '/etc' need updating.」とファイル数が違うがいいのか?

差分を見ると、コメントの細かい内容とか、スクリプトの文法の修正とかあって、開発者の苦労と性格がわかりそうですね。

[Gentoo]PostgreSQLインストール

GentooにPostgreSQLをインストール。
初期設定のやり方がGentoo独特なのでちょっと戸惑う。

■まずはインストール。
# emerge postgresql
今回は8.0.12がインストールされる。

■初期設定
とりあえず、自分でやってみた。
# passwd postgres
# mkdir -p /opt/pgsql/data
# initdb -D /opt/pgsql/data
# /etc/init.d/postgresql start
* Directory not found: /var/lib/postgresql/data
* Please make sure that PGDATA points to the right path.
* You can run 'emerge postgresql --config' to setup a new database cluster.

どうやら、設定ファイルを置く場所は既に決まっているようだ。
しょうがないので、Gentooのやり方で初期設定を行う。

# emerge postgresql --config
.
.
Success. You can now start the database server using:

/usr/bin/postmaster -D /var/lib/postgresql/data
or
/usr/bin/pg_ctl -D /var/lib/postgresql/data -l logfile start

*
* You can use the '//etc/init.d/postgresql' script to run PostgreSQL instead of 'pg_ctl'.
*

/var/lib/postgresql以下にファイルが作成された。

# ls -l /var/lib/postgresql
data

あとはcreateuserでアカウントを作って、 createdbでDBを作る。


そういえば、前にDebianにPostgreSQLをソースからインストールして死ぬ程苦労したので、その時の記録をまたアップします。

[Gentoo]OpenOfficeインストール

Gentoo に Openoffice をインストールする。

公式サイトのマニュアルには、"emerge openoffice-bin してね"と書いてある。
http://ja.openoffice.org/documents/install/install.html


インストール前に確認
# emerge -pv openoffice-bin > /tmp/emerge.txt
These are the packages that would be merged, in order:

Calculating dependencies ..... ....... done!
[ebuild N ] app-admin/eselect-oodict-20060706 4 kB
[ebuild N ] app-office/openoffice-bin-2.1.0 USE="java -gnome -kde" LINGUAS="-af -a
s_IN -be_BY -bg -bs -ca -cs -cy -da -de -el -en -en_GB -en_ZA -es -et -fa -fi -fr -gu_I
N -he -hi_IN -hr -hu -it -ja -km -ko -lt -mk -ml_IN -mr_IN -nb -nl -nn -nr -ns -or_IN -
pa_IN -pl -pt_BR -ru -rw -sh_YU -sk -sl -sr_CS -st -sv -sw_TZ -ta_IN -te_IN -tg -th -ti
_ER -tn -tr -ts -ur_IN -ve -vi -xh -zh_CN -zh_TW -zu" 125,772 kB


むむ、このままだと日本語が表示されない予感…

/etc/make.confに以下を追加。
LINGUAS="ja"


# emerge -pv openoffice-bin > /tmp/emerge.txt
These are the packages that would be merged, in order:

Calculating dependencies ..... ....... done!
[ebuild N ] app-admin/eselect-oodict-20060706 4 kB
[ebuild N ] app-office/openoffice-bin-2.1.0 USE="java -gnome -kde" LINGUAS="ja -af
-as_IN -be_BY -bg -bs -ca -cs -cy -da -de -el -en -en_GB -en_ZA -es -et -fa -fi -fr -g
u_IN -he -hi_IN -hr -hu -it -km -ko -lt -mk -ml_IN -mr_IN -nb -nl -nn -nr -ns -or_IN -p
a_IN -pl -pt_BR -ru -rw -sh_YU -sk -sl -sr_CS -st -sv -sw_TZ -ta_IN -te_IN -tg -th -ti_
ER -tn -tr -ts -ur_IN -ve -vi -xh -zh_CN -zh_TW -zu" 140,483 kB


よし、たぶん大丈夫でしょう。
いざ、インストール。

# emerge openoffice-bin

さて、このまま放っといて寝ることにしますw

groff: can't find `DESC' file

man すると

/usr/bin/groff: can't find `DESC' file
/usr/bin/groff:fatal error: invalid device `nippon'

とか出ることがある。いかにも日本語の問題っぽい。

googleにきいてみると、groffをアップデートすればよいという情報が。

現在のバージョンを確認。

# emerge -s groff
* sys-apps/groff
Latest version available: 1.19.2-r1
Latest version installed: 1.19.1-r2
Size of files: 2,992 kB
Homepage: http://www.gnu.org/software/groff/groff.html
Description: Text formatter used for man pages
License: GPL-2


アップデート
# emerge -u groff

$ man nkf
ESC[1mNAMEESC[0m
nkf - ネットワーク用漢字コード変換フィルタ v2.0.5

微妙に変なとこが…

今日はここまで。

Eclipse3.2.xの文字コード指定方法

勉強のために、自宅のGentooマシンにEclipse3.2.1をインストールしてみる。
そしらた、なぜかソースファイル保存時に

「保管が失敗しました。:null」

とかいうエラーが出る。
仕事ではWindows版の3.2.2を使っているが、こんなエラーは見たことない。
うむむ、LinuxでのJava系開発環境構築は苦労が多い…
いろいろ試してみると、どうやら日本語が含まれているときにエラーが出るようだ。

「なんだ、文字コードしてやればいいのか〜」

と思い、「ウィンドウ」->「設定」->「一般」->「エディター」あたりを探してみるが、見つからない。
フィルターで「コード」とかかけても、、見つからない。
ネットを探してみると、 「ウィンドウ」->「設定」->「一般」->「コンテンツ・タイプ」にあるよという情報があるではないですか。

こりゃわかんねーよ。。。

危うく、Gentoo のせいかと思い、あきらめて Windows に走るとこでしたよ。
あ〜、今日は入出力勉強しときたかったのに…。

ちょっといいキーボード買ってみました

最近、仕事のしすぎで腕が少し痙攣(!?)したりするので、ちょっといいキーボードを買ってみた。

FILCO FKB108M/NB

価格comでの最安値は7,480円。なかなか値段が張るが、最近は残業続きで資金は潤沢なので、思い切って購入!

使い心地は、結構いい感じ!

メカニカルキーボードらしいのでうるさくないか心配だったが、音はうるさいと感じる程ではない。

キータッチも軽く、スコンスコンと入ってくれる感じ。

色はマッドブラック。表面がつや消し加工(?)で最初はその感触に戸惑うが、慣れるとなんてことはない。

キー配列は日本語108だけど、英字しか印字してないのが Cool でよい。

重さが結構あって、どっしりと安定している。

などなど。


今までは、MITSUMIの3000円ぐらいのやつを使ってたけど、それよりも使い易いですね〜。

MITSUMIのやつもキータッチが非常にしなやかで軽い力でキー入力でき、コストパフォーマンスは高い方だと思うけど、
元の値段が高いやつにはかなわないっすね。
あと、このMITSUMIのは品質にムラがあるような…。時期は違うけど、2個同じキーボードを買って、最初のは非常に私好みのやわらかいキータッチだったが、2個目はキータッチが硬かったorz

あしたは会社で自慢だな(笑)

Debian 3.1 jless の日本語表示について

仕事でDebian 3.1 Sarge を使っているが、なぜか日本語表示の調子が悪かった。

・日本語ファイルをlessすると 「"test.txt" may be a binary file. See it anyway? 」
と表示される。日本語ファイルはきちんと見れる。

・manすると「man: コマンドはステータス 256 で終了しました:」と表示され、マニュアル
 が表示されない。
  しょうがないから、alias man='LANG=C man' とかせざるを得ない。

jlessもインストールして、環境変数 PAGER も jless に設定しているのに、この状態。

いい加減イライラしていたが、運よく @ITの記事で、ページャを lv にしてみよ、という
情報を発見。

さっそく試してみる。

# apt-get install lv
$ export PAGER=lv
$ man man
名前
man - オンラインリファレンスマニュアルのインターフェース


キターーー!

まったく、jless さーん、頼みますよ〜。


これは何が悪かったのだろう?

じっくり調べたいが、これに時間を割いたせいで、仕事の方が進まなかったのでもう深追いはしない。

おかげでまだ会社ですよ、トホホ…

ホームページ アフィリエイト レンタルサーバー FC2ブログ