VMware Player 上のUbuntu。 Software の update 時に共有フォルダが使えなくなる

Ubuntu 側でアップデートすると度々動かなくなる。
で、 VMwareTools を再インストールしてもダメ。
ここで、VMwareToolsのインストール時のトラブルを報告したが、今回もアップデートに伴う問題の別件。

VMwareTools を入れ直してももうまくいかないので、注意深くログをみていたら以下のようなエラーが。

問題は、 ‘struct dentry’ has no member named ‘d_alias’ だ。
また、ヘッダファイルか。変数名の名前が変わったのだろう。

ヘッダファイルの場所を変えるなどいろいろ試したがダメで、以下のような記述を発見

VMwareTools入れるときにエラー

ソースをいじって解決だ。

まず、VMwareToolsを展開したディレクトリから以下に移動

vmhgfs.tar を展開して移動

inode.c にある、d_alias を、d_u.d_alias に変更

で、先ほどのサイトにあるように、

で、開いて
:%s/d_alias/d_u.d_alias/ で変換するか。
sedで変換する。

vmhgfs.tar を削除して、再び、vmhgfs.tar を作る

そして、VMwareTools を再インストール して、エラーなく終わり、共有ができていることを確認する。




[Grails] projections で取得したデータに名前を付けて(Map形式)でデータを取得する

以下のように projections を使って集計した結果を取った場合

戻り値のListの各要素は Object の配列(Object[])になっている。

なので、 Data Binding を使って new できない

以下のように resultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP) を付け加えるとうまくいく

Listの各要素は Map で受け取れるので Data Binding が使える