2007年12月23日日曜日

eclipse-europa on FreeBSD-current 続き

JBossTools が正式版になったので、再度動かそうと試みたけど、動かない!! xulrunner 1.8.3.1 にupgradeしてみたが、libswt-xulrunner.so が XPCOMStartup何ちゃらが無い、と文句を言ってeclipse-devel自体が死んでしまう。
mozilla のHPとか、googling とか Eclipse-europaのソースを眺めているのだけれど、今一よくわからない、、、.。
困ったな、、、、。

ViewのGUIは使えないけど、JBossTools は結構良く出来ていますね。 特に、Eclipse上でJBossを動かしておくと、ソースの変更が即座に反映されて、作業が大変楽になりました。 xulrunner がちゃんと動いてくれると、viewがGUIで出来、この部分は更に楽になりそう。 ちょっと、やる気が出て来たので、今のうちに出きる所までやっておこうー私のほとんど永遠状態のプロジェクトの話。

2007年11月17日土曜日

JBossTools を FreeBSDのEclipseで動かす!!

ビンゴ!!
手順)
 0-0) JBossTools のeclipse plugin をインストールしておく
 0-1) ports/www/xulrunner をコンパイル、インストールしておく
 1)JBossTools のplugin の org.mozilla.xulrunner.gtk.linux.x86_1.8.1.3-20070904 の下の
   xulrunner の中身を削除し、/usr/local/lib/xulrunner の中身に入れ替える。
 2)org.mozilla.xulrunner.gtk.linux.x86..../META-INF /MANIFEST を適当に書き換える
   org.mozilla.xulrunner.gtk.linux.x86 というディレクトリ名はたとえFreeBSDと主張したくても、我慢してそのままにしておく。vpeを使っているmoduleが7つありますが、これらにxxxx.gtk.linux.が直接記述されていると思われる為に、ここの部分書き換えると動きません。
 3)eclipse を再起動

  めでたし、めでたし、、、

JBossTools を FreeBSDのEclipseで??

xulrunnerのバージョンの問題(ライブラリの問題)で本家のFederaでもVPEが動かないケースがあるようですが、それに対して下のような書き込み(http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4105567#4105567)がありました。
これだと、FreeBSDでも動かせるかもしれません、、、。
======================================================
Well, that just worked. Awesome!

Here's what I did:

0) Stop Eclipse
1) Rename the org.mozilla.xulrunner.gtk.linux.x86_1.8.1.3-20070904 folder to org.mozilla.xulrunner.gtk.linux.x86_64_1.8.1.9
2) Replace the xulrunner directory in there with my x86_64 build
3) Update the META-INF/MANIFEST.MF to look like this -

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Mozilla Xulrunner
Bundle-SymbolicName: org.mozilla.xulrunner.gtk.linux.x86_64;singleton:=true
Bundle-Version: 1.8.1.9
Bundle-Vendor: mozilla.org
Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=x86_64))

4) Start Eclipse and browse to any of my Seam project view xhtml files.
===============================================================

2007年11月10日土曜日

seam 2.0.0.GA の TestNG

この問題 google してみるとseam-1.5.0とかのときにも同様の問題の書き込みがあるけど、回答は無いので、使い方の間違いの可能性が高いのかもしれませんが、解決方法が良く分かりません。
それと、やっぱり下のようなエラーが出るのですが、、、、 うーん、困ったな。 (Bookingの example から持ってきて必要な所を書き直した物なので、動かないはずは無いと思うのですが、、、)

  : : : :
Creating /home/users/ken/workspace/icefaceTest/test-output/icefaceTest/icefaceTest: Login.html
FAILED CONFIGURATION: @BeforeClass init
java.lang.RuntimeException: Unable to create a KernelInitializer based on the specified KernelConfig

2007年11月9日金曜日

Netbeans6 beta2 のコンパイル (FreeBSD-current)


# CVSROOT=:pserver:anoncvs@cvs.netbeans.org:/cvs
# export CVSROOT

#vi .cvsrc

cvs -z3 -q

update -d -P

checkout -P

diff -u
rdiff -u
tag -c
:wq!
#
# export ANT_OPTS="-Xmx196m"
# mkdir /usr/nbsrc 
# cd /usr/nbsrc

# cvs checkout nbbuild
# ant -f nbbuild/build.xml checkout
# vi nbbuild/user.build.properties

build.compiler=extJavac
javac.compilerargs=-J-Xmx512m

:wq!

# ant -f nbbuild/build.xml

# ant -f nbbuild/build.xml clean

# vi nbbuild/netbeans/etc/netbeans.conf

--> netbeans_jdkhome="/usr/local/jdk1.5.0"

--> その他適当に
:wq!
# cp -R nbbuild/netbeans /usr/local

# ln -sf /usr/local/netbeans/bin/netbeans /usr/local/bin/netbeans

で取り敢えず、動いています。 ちょっと、怪しい所もありますが、、、。 
そもそも、使ったことが無いので勝手が良く分かりませんから、
追々確認してゆくことにします。

2007年11月8日木曜日

seam 2.0.0.GA

やっと出ましたね。
ということで、 jboss4.2.2GA に jboss-seam-2.0.0.GA 環境で早速 seam-gen で遊んで見ました。 
seam setup, seam create-project, seam generate-entities で既存のDBを利用したCRUDは今迄通りに作成出来ました。 

  seam create-project/update-project に変更になっています。

seam create-project で作成した雛形では testNGが *Text.xmlと必要なソースを作れば実行できるはずですが、やってみると jboss-seam-2.0.0.GA/lib/test/*.jar にパスが通っていないためのエラーが出ます。 また、パスを通しても、何故かうまくゆきません。
test:
[testng] [Parser] Running:
[testng] /home/users/ken/workspace/icefaceTest/test-build/testngTest.xml
[testng]
[testng] FAILED CONFIGURATION: @BeforeClass init
[testng] java.lang.RuntimeException: Unable to create a KernelInitializer based on the specified KernelConfig
[testng] at org.jboss.kernel.KernelFactory.createKernelInitializer(KernelFactory.java:156)

というエラーが出ますが、 KernelConfig って始めて見るのですが、何なんだろう、、、。

中々安定した開発環境が作れないなー。

2007年10月27日土曜日

eclipse-europa 3.3.1 on FreeBSD

Greg Lewis がeclipse-develをeclipse-europa 3.3.1 にあっぷでーとしてくれました。 ポーティングの作業がちょっと報いられた感じで、一休み。
よかった、よかった、バグが出ない事を願って、、、。

2007年10月24日水曜日

JBoss Seam 2.0.0GAはいつになる?

もうそろそろリリースかな?と思ってJIRA見ていましたが、ここ2ー3日JIRA増えて、GAではなくてCR3になってしまいました。 JBossToolsとの整合性、seam-gen の問題などですが、このままゆけば10月の末がCR3やっと、という所でしょうか、、、。

2007年10月18日木曜日

firefox 2.0.07 のエラー

何故か突然 窓に入力しようとすると firefox が "mork warning: unexpected byte in ReadContent()" と言うエラーを出しつづけて無限ループに入ってしまします。
googling したら、ありました。

http://www.jukie.net/~bart/blog/20060628083456

Here is the fix:
rm -f .mozilla/firefox/*.default/formhistory.dat
1.0の頃からのバグみたいですが、嵌まってしまった。

Google さん、ありがとう!!

2007年10月14日日曜日

jboss-seam-2.0.0.CR2

eclipse が動くようになったので、「さあ、seamを」と思ったら、CR2のseam-genはPostgreSQLが壊れていました。JBSEAM-2074 UNRESOLVED Postgres Dialect Bug--PostgressMetaDialect.java  GAが出るまではいじれないなー。

2007年10月13日土曜日

eclipse-europa 3.3 on FreeBSD

Greg Lewis が eclipse-europa 3.3 を eclipse-develに入れてくれました。
3.3.1 も一応動いているので、こっちの方を上げて貰いたかったのですが、、、、。
 
私の所では scim との相性が悪くて、 scim-helper コア吐いているし、入力方法が勝手に変わってしまっているし、、、。 これは、3.3 でも 3.3.1 でも同じはずなので、そのうちバグとして報告されるでしょうが、対応方法が分からないのです。 (eclipse の問題なのか、 gnome 等の問題なのかも分からない)。
誰か、解決方法か問題点を特定する方法を教えてくれないかな?

!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2007-10-13 13:25:01.281
!MESSAGE Conflict for 'AUTOGEN:::org.eclipse.eclipsemonkey.emFileContextMenu/org
.eclipse.eclipsemonkey.action2':
HandlerActivation(commandId=AUTOGEN:::org.eclipse.eclipsemonkey.emFileContextMen
u/org.eclipse.eclipsemonkey.action2,
handler=ActionDelegateHandlerProxy(null,org.eclipse.eclipsemonkey.action
s.PublishScriptForBlogger),
expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWi
ndow@1e6696c),sourcePriority=16384)
HandlerActivation(commandId=AUTOGEN:::org.eclipse.eclipsemonkey.emFileContextMen
u/org.eclipse.eclipsemonkey.action2,
handler=ActionDelegateHandlerProxy(null,org.eclipse.eclipsemonkey.action
s.PublishScriptForBlogger),
expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWi
ndow@1e6696c),sourcePriority=16384)

もう一つ、liblocalfile*.so を取ってきていないのですplugins/org.eclipse.core.filesystem.freebsd.x86_1.1.0.v20070416.jar に入っているのに、、、、
これはエラーにはならないので気がつきにくですが、折角 OS specific のライブラリが入っているのに、何故取ってきてくれないんだろう、、、。

!ENTRY org.eclipse.core.filesystem 1 1 2007-10-13 13:25:48.829
!MESSAGE Could not load library: liblocalfile_1_0_0.so. This library provides platform-specific optimizations for certain file system operations. This library is not present on all platforms, so this may not be an error. The resources plug-in will safely fall back to using java.io.File functionality.
!STACK 0
java.lang.UnsatisfiedLinkError: no localfile_1_0_0 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)

2007年9月17日月曜日

gcc 4.2 on FreeBSD-current

eclipse 3.3 のポーティングで気が付きませんでしたが、今日、ports のupdateのついでに、jdk1.5.0/jdk1.6.0のコンパイルをしてみましたが、-fno-tree-vrpがらみのバグは直っているみたいで、両方共にすんなりコンパイル出来ました。
xorg-7.3にアップデートしたところ、キーボードがおかしくなっちゃった。 106キーボードを選択すると(gnome2)何故かカタカナが表示されちゃう!! 101キーボードのままにしていますが、効率悪ーい!!
何がおかしいんだろ?

2007年9月16日日曜日

eclipse 3.3 on FreeBSD-current

何故か、eclipse-europaのポーティングをする羽目になってしまいました。
ひととおり動くようにはなりましたが、まだ core dump するところがあります。(jdk1.6 と jdk1.5 と両方で作ってみましたが、-current の所為か jdk1.5の方が私のところではまともに動きます。)
http://www.tydfam.jp/eclipse-europa-dan.tgz , http://www.tydfam.jp/eclipse-europa-jdk15.tgz

plugins/org.eclipse.swt/ 以下の処が 3.2.2 から大きく変わっているのですが、、、、、(マクロとポインタの塊で、はっきり言って厄介で、未だにわからず。)
エラーの内容は、下のようなのですが、OS.realpath()の本体が見つからない!!

Instructions: (pc=0x480d1924)
0x480d1914: ff ff 03 bd 84 f3 ff ff e9 78 fe ff ff 8b 45 0c
0x480d1924: c6 00 2f c6 40 01 00 8d 46 01 80 7e 01 00 0f 84

Stack: [0xbfa00000,0xbfc00000), sp=0xbfbfbeb8, free space=2031k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libc.so.7+0x20924] realpath+0x294
C [libswt-pi-gtk-3346.so+0x2f119] Java_org_eclipse_swt_internal_gtk_OS_realpath+0x89
j org.eclipse.swt.internal.gtk.OS.realpath([B[B)I+0
j org.eclipse.swt.widgets.FileDialog.presetChooserDialog()V+166
j org.eclipse.swt.widgets.FileDialog.openChooserDialog()Ljava/lang/String;+82
j org.eclipse.swt.widgets.FileDialog.open()Ljava/lang/String;+24
j org.eclipse.datatools.connectivity.internal.ui.dialogs.EditDriverDialog.handleLocationBrowseButtonPressed()V+89
j org.eclipse.datatools.connectivity.internal.ui.dialogs.EditDriverDialog.access$600(Lorg/eclipse/datatools/connectivity/internal/ui/dialogs/EditDriverDialog;)V+1
j org.eclipse.datatools.connectivity.internal.ui.dialogs.EditDriverDialog$3.widgetSelected(Lorg/eclipse/swt/events/SelectionEvent;)V+4
j org.eclipse.swt.widgets.TypedListener.handleEvent(Lorg/eclipse/swt/widgets/Event;)V+1003

2007年8月28日火曜日

eclipse-europa on FreeBSD-current(7.0)

FreeBSD(BSD)は仲間外れにされているのか、自分たちでポーティングしなければならないのですが、3.2から3.3へ大幅にソースの構成が変わっており、ポーティングは中々進みません。 (パッチファイルの量も多く、全部にパッチが当たっているのか、どうも自信がない)
毎日いじりながら、どこかから動くやつが降ってこないか、心のどこかで思っています。

JBoss-seamもEJBもいじりたいのですが、当分は道具立てに時間がとられそうです。

FreeBSD-currentのjdk15/jdk16(続き)

結局は、gcc 4.2.0のオプティマイザのバグの所為でコンパイル出来なかったみたいで、 -fno-tree-vrpをつける事によりコンパイル出来るようになりました。 これって、loop のオプティマイザなので、原因の究明は結構面倒なのでは? (4.2.1では治っている?という話もありますが、すべての条件で問題がないのかは別の話で、jdk16のコンパイルでの確認はしていません。)
-fno-tree-vrp つけっぱなし(make.conf で)にしてスピードが落ちるのも情けないので、java のコンパイルに限りくっつけていますが、、、。 早く治ってほしいけど、「確認するための、小さなサンプルよこせ」とMLで言われてしまいましたが、javaのコンパイル中のどこで起こっているのかすら分からない状態では、協力は出来そうもありません。(残念)

2007年8月13日月曜日

FreeBSD-current の jdk15/jdk16

portsからのコンパイルが出来ませんでしたが、結局両方共に -O3 を -O等オプティマイゼーションレベルを下げることにより、コンパイル可能でした。 要するに、 gcc 4.2 のオプティマイザの問題、ということになるようです。 (しっくりしないけど、一応使えるバイナリが出来たので、良し、とすることに)

2007年7月20日金曜日

JBoss Seam の @Generated

これも解決したのに、メモしておかなかったので備忘録。 

@Generated は @Id の所では使えないようです。 
結局、下のようにして私の必要としている結果は出せています。

これで、
  a) Unique Id はDBのsequenceで作られたものを select nextvalue('xxx')で取得して使う。
PostgreSQLのserialでは、冗長な動作となるけど、諦める。(PostgreSQL独自なので、
対応は期待できない?)
システムが振るIdなので、ここに勝手に書き込むことは出来ない、エラーになる。
seam-gen が作ったdefaultの入力画面では、0が表示されていますが、これを消してしまうと、
    「Nullはダメだよ!」というエラーが出ます。また、勝手な値を入れると debug.pageへ飛ん
    でしまいます。(これは入力出来ないようにしておくべきなので、これでも良しとする)。

b) triggerを利用したtimestampはDBでinsert/updateの時に付けられる。強制的に値
を入れても、システムのtriggerで作られた値で上書きされる(エラーは出ない)。

といった動作をしています。

マニュアルの読み方が十分でなかった為に、余計なご迷惑を掛けたかもしれません。失礼しました。

使用したPostgreSQLのテーブル
Table "public.users"
Column | Type | Modifiers
-----------+---------+----------------------------------------------------
id | integer | not null default nextval('users_id_seq'::regclass)
name | text | not null
address | text | not null
email | text |
tel | text |
last_user | name |
last_date | date |
Indexes:
"users_pkey" PRIMARY KEY, btree (id)
Triggers:
user_stamp BEFORE INSERT OR UPDATE ON users FOR EACH ROW EXECUTE PROCEDURE user_stamp()

使用した Users.java (Entity Bean)

package jp.tydfam.test1;
// Generated 2007/07/05 20:19:51 by Hibernate Tools 3.2.0.b9

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Generated;
import org.hibernate.annotations.GenerationTime;
import org.hibernate.validator.NotNull;

/**
* Users generated by hbm2java
*/
@Entity
@Table(name = "users", schema = "public")
public class Users implements java.io.Serializable {

private int id;
private String name;
private String address;
private String email;
private String tel;
private String lastUser;
private Date lastDate;

public Users() {
}

: : :
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_GEN")
@SequenceGenerator(name="SEQ_GEN",sequenceName="users_id_seq", allocationSize=1)
//上の2行を seam-genで作られたコードに追加 sequenceNameはDBのsequenceの名前
// allocationSizeの意味がよくわかっていませんが、、、、
@Column(name = "id", unique = true, nullable = false, insertable=false,updatable=false)
@NotNull
public int getId() {
return this.id;
}

public void setId(int id) {
this.id = id;
}
: : :
: : : (省略)
: : :
@Column(name = "last_user")
public String getLastUser() {
return this.lastUser;
}

public void setLastUser(String lastUser) {
this.lastUser = lastUser;
}
@Temporal(TemporalType.DATE)
@Generated(GenerationTime.ALWAYS)
     // 上の1行を追加
@Column(name = "last_date", length = 13, insertable=false, updatable=false)
     // GenerationTime.ALWAYS/INSERT に対応して、
insertable/updatableにfalseを指定しないとエラーになる。
public Date getLastDate() {
return this.lastDate;
}

public void setLastDate(Date lastDate) {
this.lastDate = lastDate;
}

}

2007年7月5日木曜日

Seam (2.0b) と @Generated

seam-gen で既存のDBからコードを起こす場合に、DBで今までふられていたId等の処理の対応が問題になります。 Hibernate のマニュアルやら、Annotationのマニュアルやら読みながら、「どうしたら良いのか」いろいろいじってみました。
@Entityの@Idには@GeneratedValueを使うみたいです。 マニュアルから、@Generatedが使えるのかと思っていましたが、NPEが出ます。
PostgreSQLの場合下のような感じです。 (PostgreSQLのserialをDBでは使っていますので、sequenceにすると冗長な処理 select nextval('??')が発生していますが、やむを得ません。)
また、これで入力画面(デフォルトで出来た物なのでIdの入力欄が有る)でIdを指定するとエラーになります。 また、ブランク(NULL)だとエラーが出ます。 デフォルトで0が表示されていますが、この状態で、他の項目を入力すると、ちゃんと続き番号を取ってきて入れてくれています。

Idをふるケースはこれで良いのですが、triggerを使ってtimestampしている所は、どうしたら良いのか、また少し実験してみることにします。

入力は日本語で出来るのですが、searchの所に日本語入れると化けるので、これも原因を調べて直さなければなりません。

seam は楽しい(楽)けど、ちゃんと思い通りに使えるようになるのにはもう少々お時間が掛かりそう、、、、

/**
* Users generated by hbm2java
*/
@Entity
@Table(name = "users", schema = "public")
public class Users implements java.io.Serializable {

@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_GEN")
@SequenceGenerator(name="SEQ_GEN",sequenceName="users_id_seq", allocationSize=1)
^^^^^^^^^
                              ここに、serial で作られたsequeceの名前を入れる

@Column(name = "id", unique = true, nullable = false, insertable=false, updatable=false)
@NotNull
private int id;

@Column(name = "name", nullable = false)
@NotNull
private String name;

@Column(name = "address", nullable = false)
@NotNull
private String address;
: : : :
(getter/setter が続く)

FreeBSD-current の Java(jdk15)

6/29日のソースで作ったシステム上では jdk1.5.0はうまくコンパイル出来て、動作上も問題ないようですが、6/30日以降のソースから作ったシステムの上ではコンパイルができません。 cvs diff してみたのですが、関連が有りそうな物のアップデートは行われておらず、brain damage状態です。
gcc4.2.0のバグがいろいろ言われているので、ここのアップデートが終わってから再度確認することにします。 (一応動いているので、もうあまりいじりたくもないけれど、気持ち悪いので、、、、)

2007年6月25日月曜日

FreeBSD-currentのJAVA

結局、i386(Opteronのi386)では未だにjdk1.5.0はコンパイルできませんが、amd64の64bitモードであれば、コンパイルできて動かすことが出来ました。 i386 の時に gccの最適化オプションによって、エラーが違うので、どうもgcc4.2の所為ではないかと思うのですが、証拠もないので、個人的且つ勝手な思い込みです。

amd64にして、取り敢えずeclipse,jboss42等など動くようにはなりました。 jboss4.2.0GAですが、 -b x.x.x.xを指定しないとlocalhostしか見てくれないのですが、jboss4ctlをもう少し調べないと、今のところこの指定が出来ていません。 暫くはこのままの方が良いのですが、、、、。

2007年6月14日木曜日

FreeBSD-current のJava

JDK15のコンパイルが出来なくなりました。 この2週間色々やっては見ているけど、うまく行かない。 もっと悪いことに、コンパイルする状況(不明)によって、エラーの出るところが変わっている。 
想像するに、SMPで競合状態のロックがかかり先へ進めない、というのが以前あったけれど、どうもこれは起こらなくなったので、解決したのかもしれない。 しかし、依然としてlibraryのコンパイル(生成されたjdk15での)のところでこけてしまう、、、。
最初はdiablo-jdk1.5.0も動かなかったけれど、最近のcompat6xにしたら、一応動くみたい(tomcat55は動いている)。但し、graphics(/usr/X11R6)関係は駄目(demoは動きません)。

同じ環境でコンパイルできて、動いている、という報告もあるので、ひょっとしたら古いライブラリが悪さをしているのかもしれませんが、今の所不明。 強制的に /usr/lib /usr/local/libの5月以前のファイルを消してしまって、再度portupgrade -afをやってみています。

当分はJava/Jboss関係はお休みで、jdk15を動かすことに専念しなければなりません、、。 クシュン

2007年5月30日水曜日

FreeBSD-currentの更新

gcc42、新しいVersioning,それに xorg7.2への変更が、ほぼ同じくして行われてしまいました。 不注意にも、全てのアップデートをしてしまって、xorg7.2 やgcc42までは良かったのですが、java が死んでしまいました。 MLにも幾つか同様の事が記載されていますが、i386/gcc42の問題?amd64では大丈夫、みたいな記載もあるし、、、。 Gregが居ないみたいで、しばらくは我慢するしかないみたいですが、、、。
compat6xも-currentでは腐っています。 diablo-jdk1.5.0は動きません。 これを直してもらわないと、ports/java/jdk15が使えません(linux-sun-jdk1.5.0やlinux-sun-jdk1.4.2でコンパイルしようとすると途中で「リターン値がないよ!」みたいな変なエラーが出ます)。

折角、groovy in action 読み終わったのに、試す前に忘れてしまいそうです。

2007年5月24日木曜日

FreeBSD-current

この1週間で大きく変わりました。(versioningが変わったのと、cc が gcc42になりました。 また、xorg が7.2になりました) 結果として、また被害甚大です。 java が動かない。 libpthread.so.2が使われているのですが、これが鬼門のようで、diablo-jdk15 が動かない。従って、jdk15のコンパイルが出来ない。linux-sun-jdk14/linux-sun-jdk15でコンパイルを試してみるが、途中でエラーが出る。 というわけで、java関係は現在休業中。
compat6xがアップデートされるのを待つか、versioningの変更前まで戻るか、が選択肢としてある、とのサジェスチョンを受けて、後者を試してみましたが、ライブラリが新しいversioningになってしまっている為に、ソースを古いものにしてmake build/installworldでは至る所でトラブルを起こします。

現在、元に戻すのに悪戦苦闘中。

2007年5月18日金曜日

LS600hL 試乗

昨日からの発売で、早速LS600hLに試乗してきました。
流石に、トヨタの最上位車種というだけあり、走行性能も内装も納得のゆく物でした。 先月LS450hにも試乗しましたが、トランクスペースが狭くて、使い物にならない、何故かロードノイズがかなり車内に響く等、高級感に乏しい印象を受けていたので、今回はあまり期待していませんでしたので、その所為もあり、納得。
時々、家族で田舎に帰る者としては、トランクルームが小さいのは致命的ですが、600hLでは、大型の旅行カバンが2つ位は入りそう(但し、所謂スーツケースの大型は不可)だったので、こちらの最低条件は満たしていました。 旅行カバン+ゴルフバッグはかなり厳しいかも。
ここら辺のニーズが確認できるような、ディスプレイ(或いは準備)位は用意しておいて欲しいところです(Lexusのお店さん)。
HybridでAWSですので、停車中は完全にエンジンが止まっていますし、アクセルの踏み方(ゆっくり発進)によってはエンジンの始動を後ろに持ってこれるので、渋滞の中を走ったりした時はHybridのメリットは性能表以上に出ることが期待出来そうです。 高速での加速も2トンを超える車とは思えない程スムースで、納得でした、というか車重を意識することはありませんでした。
もう少し、トランクルームが広くて、もう少し価格が安いと、即決なのですが、、、少し考えなければ。
でも、注文しても納期は未定なのだそうなので、別に急ぐことはなさそう、、。

2007年5月9日水曜日

ICEFace for Seam 1.2.1GA

ICEFaceがバージョンアップされました。 JBossがExadelサポートすることになってしまったので、ICEFaceとの関係がどうなるのか心配していますが、、、. seam-genと同じものが提供されていて、こちらはAjax4jsfではなくて、ICEFaceがインストールされるみたいです。 流石に seam-gen とはせずに ant xxxですが、xxxの部分はseam-genと同じです。 ICEFaceのほうが、見た目がきれいなので好きなのですが、、。
どこまで出来るのか?どの程度なのか、週末にでも seam-genモドキを実際に試して見ることにします。フォーラムの書き込みによれば、通常のseamに組み込もうとすると、問題が起きるみたいですが、、、。

FreeBSD-current (amd64) の jdk15

先日から、AdaptecのRAIDでトラぶっていましたが、だいぶ安定しているようなので、jdk15でもインストールしようかな? と思ったら、Linuxのjdk1{4,5}共にコアダンプして使えないし、 diablo-jdk15も libc.so.6が無いと文句を言ってくるし、で躓いていましたが、Gregがlibmap.conf適当に書き直して、diablo-jdk15でコンパイルしてみたら、と言ってきたので、早速 libmap.confで libc.so.6 ->libc.so.7とだましてやったら、ちゃんと/usr/oports/java/jdk15がコンパイルできました。
これで、tomcat は使えるようになりましたが、jboss4 は、そろそろ4.2GAにバージョンアップされそうなので、もう少し待つことにします。 (JIRAからは2-3日前に4.2.0GAが消えているので、もう、リリースになると思うのですが、、、)

2007年4月27日金曜日

Adaptec 2820SA on FreeBSD-current

2日たって、何回か起動し直しても問題が無いので、ファームウェアのバージョンアップで問題は解決した模様です。 しかし、今回の代償は大きかった、500GBのファイルの喪失、2週間近くのシステムダウン。
ファームウェアのバージョンアップについては、もう少し明確に表示しておいて欲しいものです。 特にSTAIIと書いてあるにも拘らず、IIの仕様のHDDでトラブルを起こすような致命的なものについては、、、。

(今時DOSVにして、ファームウェアのバージョンアップ、と言われると結構困りますね。FDDが付いていない!! CDにDOSV焼いて、ファームウェアのコピーをCDに焼いて、、、、。CDドライブが二台必要なのも、結構困る。)

2007年4月25日水曜日

FreeBSD-current & Adaptec 2820SA

サーバのディスク容量が足りなくなってきたので、SeagateのST3750640AとAdaptec2820SAでRAID5を組み直したのですが、残念、Adaptec2820SAはファームウェアをバージョンアップしないと、うまく動きません。 NCQのサポートに問題があるようです。  (おかげで、ファイル全部失ってしまった!!)
今、b11564にバージョンアップして、BUILDし直していますが、、、、。 (これで大丈夫なのか、ショックが大きくて不安)。

ついでに、SuperMicroのH8DCiはSATA-Iしかサポートしていませんでしたので、ZFSも考えたのですが、2820SAが勿体無いのと、ZFS自身のスピードが今一なので、少し2820SAに拘る事にしました。

2007年4月19日木曜日

FreeBSD-current

サーバ(6.2)と通常実験に使うシステム(-current)で遊んでいるのですが、-currentでZFSをいじっている最中にバックアップを採っていたサーバのRAID5が死んでしまいました。 この2日はサーバの設定から、クライアントの設定まで0からのスタートで潰してしまいました。
何故か、ST3750640A4個のRAID5がうまく動作してくれませんので、今横でBUILD/VERIFYしていますが、1TBだと先は長い、、、、。
それにしても、今までにたまった数百GBの個人データが一瞬にしてパー!は痛い。
sendmail, namedb,ypと諸々の設定は、いつもやるわけではないので、忘れてしまっていて、苦痛そのものです。 今度から、CD-ROMにでも焼いておこう!!

2007年4月16日月曜日

FrrBSD-current でZFS(3)

うーん、/usrをZFSにして、make buildworld してみましたが、raidz2でufsに比べて4倍くらい遅い、、、。
最適化はこれからだとしても、このままではちょっと、直には使えません。 (何か、特定の設定を変えることにより、パフォーマンスが上がるような記載は無かったので、デフォルトの状態での実験ですが、ひょっとしたら、良いパフォーマンスが出る方法があるのかもしれません)。
ドライブの追加、交換などの作業が簡素化出来そうなのと、パーティションを切らなくても済むのがメリットであることは確かですが、この為にスピードを犠牲にすることになるのでは使えません。 早くufs以上のI/Oスピードが出るようにoptimizeされることを願っています。

2007年4月13日金曜日

FreeBSD-currentでZFS(2)

ZFSの実験の続き、、、。
SingleUserで立ち上げると、設定したpoolを見つけてくれません(焦った!)。 
zpool import -f で明示的に/boot/zfs/zpool.cacheを読み込ませる必要があるようです。 (SingleUserでの立ち上げでは、プロンプトはルートをマウントした時点で出ているものと理解していたので、この時点でcache を読み込んでいないのは、おかしい様にも思いますが、元々この時点ではルートも書き込みは出来ないーmount -u /dev/xxx / が必要ので、これでいいのかな?)
/usr/bin/time make -j 32 buildworld で、おおよそのパフォーマンスを測ってみましたが、設定が適当でなかったのか、組み込んだディスクにトロイやつが居るのか、UFSの時の4倍ほど時間がかかりました。 どうも、後から2つディスクを足したのが、悪さをしているみたいで、compression=gzipを設定していた、昨日の同様の計測では、2倍程度だったので、いずれ改めて、ちゃんと条件を揃えて計測してみる必要がありそうですが、既にスロットを全部埋めてしまっているので、簡単には出来そうもありません。

この手の情報が、未だにMLには出てきていないのは何故?

2007年4月12日木曜日

FreeBSD-currentでZFSを試す

opensolaris からZFSがFreeBSDでサポートされるようになったので、早速試してみました。
/home, /usr と少しずつ移行させてみましたが、今のところトラブルはありません。ルートディレクトリも/boot以外は移行できるみたいですが、暫くはルートはUFSのままにしておきます。 zfs set compression=gzip tank/usr してっしまった所為かソースのコンパイルに倍くらい時間が掛かるようになってしまいました。 compression をはずした物を作って再度パフォーマンスのチェックをしてみます。
4本のSATAでふたつ一組のraidzを作っていますが、お蔭で800GBにもなってしまいました。 ドライブの増設や取り換えが大幅に簡略化できそうで楽しみです。
以下、メーリングリストにPawel Jakub Dawidekが投稿したQuickStart です。
Pawelさんに官舎!!

First of all you need some disks. Let's assume you have three spare SCSI
disks: da0, da1, da2.

Add a line to your /etc/rc.conf to start ZFS automatically on boot:

# echo 'zfs_enable="YES"' >> /etc/rc.conf

Load ZFS kernel module, for the first time by hand:

# kldload zfs.ko

Now, setup one pool using RAIDZ:

# zpool create tank raidz da0 da1 da2

It should automatically mount /tank/ for you.

Ok, now put /usr/ on ZFS and propose some file systems layout. I know
you probably have some files already, so we will work on /tank/usr
directory and once we ready, we will just change the mountpoint to /usr.

# zfs create tank/usr

Create ports/ file system and enable gzip compression on it, because
most likely we will have only text files there. On the other hand, we
don't want to compress ports/distfiles/, because we keep compressed
stuff already in-there:

# zfs create tank/usr/ports
# zfs set compression=gzip tank/usr/ports
# zfs create tank/usr/ports/distfiles
# zfs set compression=off tank/usr/ports/distfiles

(You do see how your life is changing, don't you?:))

Let's create home file system, my own home/pjd/ file system. I know we
use RAIDZ, but I want to have directory where I put extremly important
stuff, you I'll define that each block has to be stored in tree copies:

# zfs create tank/usr/home
# zfs create tank/usr/home/pjd
# zfs create tank/usr/home/pjd/important
# zfs set copies=3 tank/usr/home/pjd/important

I'd like to have directory with music, etc. that I NFS share. I don't
really care about this stuff and my computer is not very fast, so I'll
just turn off checksumming (this is only for example purposes! please,
benchmark before doing it, because it's most likely not worth it!):

# zfs create tank/music
# zfs set checksum=off tank/music
# zfs set sharenfs=on tank/music

Oh, I almost forget. Who cares about access time updates?

# zfs set atime=off tank

Yes, we set it only on tank and it will be automatically inherited by
others.

Will be also good to be informed if everything is fine with our pool:

# echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf

For some reason you still need UFS file system, for example you use ACLs
or extended attributes which are not yet supported by our ZFS. If so,
why not just use ZFS to provide storage? This way we gain cheap UFS
snapshots, UFS clones, etc. by simply using ZVOLs.

# zfs create -V 10g tank/ufs
# newfs /dev/zvol/tank/ufs
# mount /dev/zvol/tank/ufs /ufs

# zfs snapshot tank/ufs@20070406
# mount -r /dev/zvol/tank/ufs@20070406 /ufs20070406

# zfs clone tank/ufs@20070406 tank/ufsok
# fsck_ffs -p /dev/zvol/tank/ufsok
# mount /dev/zvol/tank/ufsok /ufsok

Want to encrypt your swap and still use ZFS? Nothing more trivial:

# zfs create -V 4g tank/swap
# geli onetime -s 4096 /dev/zvol/tank/swap
# swapon /dev/zvol/tank/swap.eli

Trying to do something risky with your home? Snapshot it first!

# zfs snapshot tank/home/pjd@justincase

Turns out it was more stupid than risky? Rollback your snapshot!

# zfs rollback tank/home/pjd@justincase
# zfs destroy tank/home/pjd@justincase

Ok, everything works, we may set tank/usr as our real /usr:

# zfs set mountpoint=/usr tank/usr

2007年4月2日月曜日

JBoss Seam 1.2.1GAと日本語

色々と弄ってみても、やはりうまく行きません。
下のように、UserList.seamを呼び出す所では、ちゃんとUTF-8でエンコードされているのに、実際にそのページに移行したときのページソースを見ると、エンコードの内容が違っています。 色々、Googleしてみると、MyFaceでは駄目みたいです。(http://senrigan.ddo.jp/comments/Computing/,,,やちょっと古いけど,JSFの全てー秀和システムー)。
考えてみれば、一体どこで、Clientの使っているコードを判定してどうやって維持しているのだろうか? ここら辺が私には自信が無いところですが、これってソース全部読むしかないんだろうか?
JSF1.2ではここら辺の対応は出来ているみたいなので、JBossAS4.2での対応、ということになるのでしょうか? だと、予定は4月17日?
今のところ、seam の謳う Internatinalized は私の場合ブー、です。

しかし、他の人はうまくいっているのだろうか? だとしたら何故? どなたか教えてください。

http://localhost:8080/XXXXX/UsersList.seam?userName=%E5%B1%B1%E7%94%B0&.....
|
|

href="/XXXXX/UsersList.seam?userName=%C3%A5%C2%B1%C2%B1%C3%A7%C2%94%C2%B0&address=&...."

2007年3月30日金曜日

jboss-seam 1.2.1GA と日本語

RoR ライクなseam-genはとっても便利で、気に入っています。 動いているDBがあれば、CRUDは2ー3分で出来ちゃうので。 また、1.2.1からはViewがajax4jsfになった関係かちょっとすっきりしてきました。  でも、私の環境(FreeBSD-current, jboss4.0.5, jboss-seam 1.2.1, postgreSQL 8.2, jdk1.5.0)だと、何故か日本語の検索がうまく行かない、、、。
 PostgreSQLはUTF-8なので、すんなりいけるはずなのに、検索窓に漢字(例えば、「山田」)を入れると、「該当無し」で帰ってきちゃうのですが、DBには存在するし、この時のURL(redirectされているので)見ると、http://localhost:8080/test/UsersList.seam?userName=%E5%B1%B1%E7%94%B0&address=&tel=.... と、ちゃんとUTF-8で「山田」が入っているのですが、検索窓にはUTF-16で解釈されていると思われる、「山田」なる文字列が表示されてしまうのです。 特にどこにもそのような設定はしていないし、、、、。  コードは全てUTF-8で統一しているので、原因がよくわかりません。

 マトモに使えるまでには、まだしばらくかかるなー、私の場合。

2007年3月23日金曜日

locale の話

pgsql-jpのMLで問題になっていますが、localeってやっかいですね。 はっきり言って、何か使い方がいまいちわからない。 (分からなくて、設定もいい加減でも何とか動いているので、あまり気にしたこともありませんが、、、)。
どっかで、ちゃんと勉強しておかないといけないかな?
先のMLの話題は、横から見ていると;
 今の問題を回避する方法の話と、根本的な問題(バグ?)を直す問題がいっしょくたに議論されているみたいで、あまり気持ちが良くないです。 完全なソフトなんてそんなにあるものではないので(完全は証明できないーゲーデルの不完全性の定理)、どんな問題があるのかを認識して、それを回避して使えるものを作るのがアプリのプログラマーの仕事だと思うのですが、、、。
 そういえば、昔某鉄鋼メーカーのプログラマさんが、私の売ったCコンパイラのバグが多いので、プログラム書けないって、何も仕事してないで、上司に怒られていたなー。 別に、私の売ったコンパイラ(WhiteSmithをベースにしたもの)は特別にバグが多かったわけでもなかったんですが、、、。 その当時のSun(Sparc)のコンパイラは char a[10]; for(i=1; i<=10;i++) {a[i] = "X";} ってやってもエラーでなかったんです(とっても危険ですが)。 これで文句言われたこともありました。 大学でFortranやって、会社入ってC使うようになった人達が多かったんですね。

Rioworks のMB

メールサーバ、ネームサーバにRioworksのDualOpteronのMBを使っていましたが、Memoryの増設をしたら、その時の圧の所為か、立ち上がらなくなってしまいました。 メールが読めない!!
代替のMBを注文しましたが(今度はSuperMicro)、何時になるやら、、、。
それにしても、RioworksのMBってトラブルが多い(私の場合)。 買ったときには、最初から動かなくて、交換して貰ったし、、、。 基板が何かとっても弱いみたいですが、、、。

2007年3月21日水曜日

JBoss seam 1.2.0PATCH1 seam-gen

seam-gen で自動生成されたWebアプリで、Searchの窓に日本語を入れると、エラーが出る。
debugページで見ると Exception during request processing: org.postgresql.util.PSQLException: ERROR: invalid multibyte character for locale と出てくる。 

これって、PostgreSQLの所為?それともseam-genの生成したアプリの所為?
PostgreSQLの中はUTF8な世界になっているはずですが、PGCLIENTENCODINGでクライアントの文字コードを変換してくれるので(これは殺してあるはずですが)、ひょっとするとこの所為なのかな?

MySQLとかでは問題ないのだろうか?

取り敢えず、PostgreSQLのMLで聞いてみようかな?
(野上さん、皆川さん、もしPostgreSQLの所為だったらごめんなさい、、、)

2007年3月6日火曜日

FreeBSD-currentとnVidia-driver

12月21日に 1.0-9746が出ていますが1.0-9746 for FreeBSD i386 released、これって、-currentで使うとハングします。 -current のAPIが変更になっているんですね。system-function 'bus_setup_intr' gets an additional parameter...
ports では既にパッチが入っているみたいですが、、、。

FreeBSD-current Gnome-2.17

FreeBSD-currentのXorgを7.2に、Gnomeを2.17にしました。ついでにGnomeはGCC4.2でコンパイル。  うーん、2-3日前のKernelのアップデートから音が出ない、、。 gnome-session や libxklavier がおかしいかな? 両方とも早く ports に統合されないと、あっち、こっちから開発バージョンを取ってこなければならないので、、、、。 動かなくても文句は言えないし、、、。
そんなことして遊んでるうちに、JBoss-seam は1.2Patch1になっちゃうし、JBoss4.2CR1が出るし、RedHatが頑張ってるし、、、。  そろそろ、インフラ整備で遊んでないで、Seamの勉強しなくっちゃ!!

2007年2月21日水曜日

FreeBSD の Skype

SkypeがFreeBSDのportsにもあることに気が付き、早速インストールしてみる。 あれ、音が途切れてうまくない(FreeBSD-current, snd_emu10kx.soでの話)。 skype-develでやってみると、今度はlibrt.so.1が何cやらで起動できない.googleしてみると、「librt.so.1のlinux のバージョンとFreeBSDのバージョンがたまたま同じなために、うまく動作しない」ということでした. 適当にwrapper書いてlibmap.confで管理してやれば、動かせそうなんですが, ちょっと週末にでも調べてみよう、、、。

2007年2月20日火曜日

最初の始め

男って(女性もかも?)、どこかに所属していることが必要にできているんだろうか? どこへ行っても名刺交換とか? ちょっと我ながら、無所属生活が始まって初めて気が付き驚いてしまった。   これから、ぼちぼち暇に任せて、徒然なるままに趣味の事等書いてゆくことにします。

テレビを見ていたら「伊集院」さんが「お節介な海豚君」の話をしていました。 確かに,余計なお世話の事が多いですねー、、、。

php のインストールの確認

phpって最初のfacebook書くときに使われたみたいで、それなりに歴史のある言語で、私も2006年位から使っていますが、CLIで使う事はあまり無いので、apacheとの連携のトラブル(mod_phpのバージョンの齟齬)などは気になりますが、拡張モジュールのインストールの問題に...