わいえむねっと

Contents
Categories
Calendar
2026/08
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Monthly Archives
~2000/01
Recent Entries
RSS1.0
Templates
Information
Processed: 0.168 sec
Chashed: -
2014/10/03 Fri
温湿布貼ってテーピングぐるぐる巻きにして寝て起きたら普通に歩ける程度には回復してました。左膝。
良かった。

右太ももの痙攣といい、ここのところ足の調子がどうもおかしいと思っていたけど、職場の席の足元に鎮座している無駄にでかい金属製のごみ箱が原因な気がしてきた。
これのせいでいつも足に変なストレスがかかってるんですよね。
席替えしたら置かれていたもので、誰かの私物のようなのでそのままにしていたけど、こうなるともうどかすしか。
2014/10/02 Thu
まともに歩けないほどに左膝の状況が悪化していたけど、それはそれとして人間ドック。

  • いつもは9:00~9:30の受付時間内に到着するようにしていたけど、8時半でも普通に受付できた。
  • 視力が右1.2の左0.6のダブルスコア。
  • 測りなおしたら右1.0の左0.6で、そちらが記録される。
  • 採血で初めに左腕をだしたら血管が見つからないようだったので、「右腕のほうがいいですかね?」と換えたらすんなり。
  • 小学生の時に針を刺した状態で血管を探されて、採血後しばらく腕がしびれたことがあったのは左腕のほうだったか…と思い出す。
  • 今回も下剤を三倍処方してもらう。
  • 問診の先生には三倍と書いてもらったけど、バリウム検査の先生は三倍くれた後さらに「これはすぐに飲んでくださいね」ともう一つくれたので実質四倍に。
  • あと、バリウム検査の先生は左足のことをすごい心配してくれた。胃と全然関係ないのに。

かつてないほどスムーズに進んで、10時前に終了。
お食事券の利用可能時間(10:15~14:30)よりも早く終わってしまった。
どこかで時間をつぶそうかとも思ったけど、食事時間には中途半端だし、そこまでして食べたいものでもないので、そのまま出社することにする。
2014/10/01 Wed
仕出し弁当屋がきている階の廊下にいつもより15分遅れていってみたら、既に片付けられていました。
早すぎる。 明日は人間ドックだというのに、また風邪をもらう。
免疫力なさすぎる。
あと、風邪のときの関節痛とは別の感じで左膝が痛い。



検便が取れてないのでイチジク浣腸を買って帰る。
誰も彼もが一週間に二回もお通じがあると思ったら大間違いなんですよまったく。

ついでにハイチオールCを購入。
いつものように類似品をオススメされて「ハイチオールCでいいです」と返す。
2014/09/30 Tue
一ヶ月ヘルプの予定でしたが例によって延長となったので来月も川崎です。

ただ、発注の関係で10月は2週目から。の予定でした。
なので、まだ取得していなかった夏期休暇を利用して5連休にするつもりだったんだけど、現場責任者殿が外出の通りすがりに「明日来てもらっても大丈夫です!」と言い残していったので結局出社することに。

休むには中途半端な状態だったので、出社して問題ないならそっちのがいい。
2014/09/29 Mon
OpenGL ESメモ@Yocto


前提

  • Ubuntu 12.04
  • Yocto Project 1.6.1 - Daisy
  • qemuarm
  • core-image-x11
  • gcc
  • g++
  • libegl-mesa
  • libegl-mesa-dev
  • libgles2-mesa
  • libgles2-mesa-dev


テストコード


#include <stdlib.h>
#include <EGL/egl.h>

int main()
{
    Display* xdisp = XOpenDisplay(NULL);
    if(xdisp == NULL)
    {
        abort();
    }

    Window rootWin = DefaultRootWindow(xdisp);

    int screen = DefaultScreen(xdisp);
    unsigned long white = WhitePixel(xdisp, screen);
    unsigned long black = BlackPixel(xdisp, screen);

    Window window = XCreateSimpleWindow(
        xdisp, rootWin, 
        100, 100,
        640, 480,
        2,
        black, white);

#ifdef DEFAULT
    EGLDisplay eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
#else
    EGLDisplay eglDisplay = eglGetDisplay((EGLNativeDisplayType)xdisp);
#endif
    if(eglDisplay == EGL_NO_DISPLAY)
    {
        abort();
    }
    if(!eglInitialize(eglDisplay, NULL, NULL))
    {
        abort();
    }

    EGLint attr[] = {
        EGL_BUFFER_SIZE, 16,
        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
        EGL_NONE,
    };
    EGLConfig cfg;
    EGLint numConfigs;
    if(!eglChooseConfig(eglDisplay, attr, &cfg, 1, &numConfigs))
    {
        abort();
    }
    if(numConfigs != 1)
    {
        abort();
    }
    EGLSurface eglSurface = eglCreateWindowSurface(eglDisplay, cfg, window, NULL);
    if(eglSurface == EGL_NO_SURFACE)
    {
        abort();
    }
}


EGL_DEFAULT_DISPLAYで初期化

Native platform type: drm (build-time configuration)


# arm-poky-linux-gnueabi-g++ foo.cpp -lX11 -lEGL -DDEFAULT
# export EGL_LOG_LEVEL=debug
# ./a.out
libEGL debug: Native platform type: drm (build-time configuration)
libEGL debug: EGL search path is /usr/lib/egl
libEGL debug: added egl_dri2 to module array
libEGL debug: added egl_glx to module array
gbm_create_device: invalid fd: -1
libEGL warning: GLX: failed to load GLX
libEGL debug: EGL user error 0x3001 (EGL_NOT_INITIALIZED) in eglInitialize
Aborted

eglInitializeでEGL_NOT_INITIALIZED。


Native platform type: x11 (environment overwrite)


# export EGL_PLATFORM=x11
# ./a.out
libEGL debug: Native platform type: x11 (environment overwrite)
libEGL debug: EGL search path is /usr/lib/egl
libEGL debug: added egl_dri2 to module array
libEGL debug: added egl_glx to module array
libEGL warning: DRI2: failed to authenticate
libEGL debug: DRI2: dlopen(/usr/lib/dri/swrast_dri.so)
libEGL debug: DRI2: found extension `DRI_Core'
libEGL info: DRI2: found extension DRI_Core version 1
libEGL debug: DRI2: found extension `DRI_SWRast'
libEGL info: DRI2: found extension DRI_SWRast version 3
libEGL debug: DRI2: found extension `DRI_TexBuffer'
libEGL info: DRI2: found extension DRI_TexBuffer version 2
libEGL debug: the best driver is DRI2
libEGL debug: EGL user error 0x3003 (EGL_BAD_ALLOC) in xcb_get_geometry
Aborted

eglCreateWindowSurfaceでEGL_BAD_ALLOC。


X11のDisplayで初期化

Native platform type: x11 (autodetected)


# arm-poky-linux-gnueabi-g++ foo.cpp -lX11 -lEGL
# unset EGL_PLATFORM
# ./a.out
libEGL debug: Native platform type: x11 (autodetected)
libEGL debug: EGL search path is /usr/lib/egl
libEGL debug: added egl_dri2 to module array
libEGL debug: added egl_glx to module array
libEGL warning: DRI2: failed to authenticate
libEGL debug: DRI2: dlopen(/usr/lib/dri/swrast_dri.so)
libEGL debug: DRI2: found extension `DRI_Core'
libEGL info: DRI2: found extension DRI_Core version 1
libEGL debug: DRI2: found extension `DRI_SWRast'
libEGL info: DRI2: found extension DRI_SWRast version 3
libEGL debug: DRI2: found extension `DRI_TexBuffer'
libEGL info: DRI2: found extension DRI_TexBuffer version 2
libEGL debug: the best driver is DRI2
libEGL debug: Display 0x1b160 is destroyed with resources

正常終了。


Native platform type: drm (environment overwrite)


# export EGL_PLATFORM=drm
# ./a.out
libEGL debug: Native platform type: drm (environment overwrite)
libEGL debug: EGL search path is /usr/lib/egl
libEGL debug: added egl_dri2 to module array
libEGL debug: added egl_glx to module array
Segmentation fault

eglInitializeでSegmentation fault。


参考サイト

すらりん日記 ≫ Blog Archive ≫ Ubuntuで EGL使えるか?|No:3072|すらりん日記
http://blog.techl​ab-xe.net/archives/3072

Mesa EGL
http://www.mesa3d​.org/egl.html
2014/09/28 Sun
寝付けずに横になったり椅子に座ったりを繰り返しているうちに5時になり気が付いたら落ちていて6時半に目覚ましで飛び起きる。
一路千葉。
某市の卓球大会に参加してくる。



シングルスのみ参加の予定だったけど、K先生がダブルスを組む予定だった教え子が別の教え子と組むことになってK先生自身が余ったからと代替要員として参加することになる。

  • ダブルス
  • 中学生 1-3 ×
  • クラブ所属 2-3 ×
  • 最終セットでデュースにもつれこんだけど、最後の最後にスマッシュをミスって敗北。試合後握手しながら「ミスに救われました!」て笑顔で言われた。ぐぬぬ。
  • シングルス
  • クラブ所属 0-3 ×
  • K先生の教え子 0-3 ×
  • 1、2セット目はデュースで競り負けたけど、3セット目はあっさり取られて敗北。
  • クラブ所属 3-1 ○

かろうじて一勝。
今年はまだ3回しか練習できてなくて圧倒的に練習不足だったけど、それなりに動けた気はする。
サーブとレシーブは駄目すぎた。

いい汗かいた!



そして水分補給@庄や。
K先生が忘れ物というかゴミというかの行方を探しに体育館に戻っている間、弟と二人で飲む。
弟と二人で飲むのとか初めてな気がするなと思いつつ、仕事の話を聞いたりとか。

小一時間してからK先生が合流してさらに飲んだくれ。
さくっと済ませましょうて言ってたけど、ぜんぜんさくっとしてなかった気がするのはいつものこと。
ハイボール大ジョッキ何杯飲んだんだあんた。
2014/09/27 Sat
寝付けずに朝。
最近また生活サイクルが破綻してる。 CMで見かけた「まぜてマジック」を買ってきてタルタル。

商品特長|まぜてマジック まぜマジ100レシピ|ハウス食品
http://mazemagi.h​ousefoods.​jp/ie/product/
2014/09/26 Fri
定時間際になって届いたカーネルパッチを適用したらカーネルクラッシュしなくなったので帰る。 録画タイミングが遅れている気がしたので時計を確認したら1分遅れていました。
自動同期を設定しているはずなのになぁと手動で同期してみたところ時刻が変わらず。
あっれーと思いながら、適当に時計をずらしてから時刻同期をかけてみるとまた1分遅れの時間に。
なんで。

NTPサーバの時計がずれているのかとRTX-1100で show environment してみたけどあってる。

と思ったら、Hyper-Vホストの時刻がずれてた。(※1)
そういえばホストは時刻同期の設定してなかった。
というか、NTPサーバから取得した時刻をホストの時刻で上書くような動きするのか。
なんだそれ。


※1)録画サーバはHyper-Vゲスト。
2014/09/25 Thu
テストボード交換のために昼下がりにダンボール箱を持って外出。
今日は暑すぎる。



No such file or directory を回避したら今度は no devices found と言われるようになってげんなりしていたけどテストボードのリビジョンが上がったことでデバイスが見つかるようになってヒューッ!と思ったけどアクセスを開始した瞬間にカーネルクラッシュして死んだので俺も死んだ。
脂肪増殖の“鍵”を発見 メタボ治療の新たな手がかりに? | 地震予測検証・地震予知情報 / 防災情報【ハザードラボ】
http://www.hazard​lab.jp/know/topics/detail/7/4/7435.html
東京医科歯科大学の研究グループは、病原体センサー分子「Mincle(ミンクル)」が、脂肪肝やメタボリックシンドロームの原因となる脂肪組織の異常増殖を引き起こすことを突き止めた。

都交通局のあいつですか。


というか、あいつ羽生えてたのか。
2014/09/24 Wed

前回までのあらすじ

クロスビルドしたバイナリをボードに持っていって叩くと "No such file or directory" とか言われる。



あるだろ!なにがないのさ!
とかぼやきながら、readelfの出力を小一時間眺めた結果、ld-linux.so.3 が実機にないことに気が付く。

「ダイナミックローダ!」

通常、共有ライブラリが存在しない場合のメッセージは "libXX.so: not found" だけど、大元がいないとこうなるのか。

実機のダイナミックローダは ld-linux-armhf.so.3。
Hard Floatやん…
クロスビルド環境をarmelからarmhfにしたら普通に起動。
やれやれ。


readelf(1): Displays info about ELF files - Linux man page
http://linux.die.​net/man/1/readelf

ld-linux(8): dynamic linker/loader - Linux man page
http://linux.die.​net/man/8/ld-linux
発熱。
なんだかここのところしょっちゅう発熱してる気が。

それはそれとして、人のはけた後の自社に立ち寄って月締めの手続きをしてから帰宅。