こども観察日記

子供達のおかしな生態の観察日記でした

gcc で #include <sys/signalfd.h> がコンパイルエラーした (Ubuntu 16.04)

  • gcc で #include コンパイルエラーする。というケースがある。
  • 自前のビルド環境で起きた。Makefileで色々構築している環境。
  • 結論としては -std=c11 を付けていたのが原因。なんじゃそりゃ。
    加えて Ubuntu 16.04 に標準で入る gcc というのが条件臭い。
  • signalfd.h の件は超嵌められたのでムカつくんだけど、実は本題はそれじゃない。
  • 以下のように -std の指定によって、__USE_POSIX が定義されたり、されなかったりする。(実行環境はUbuntu 18.04-2)
$ gcc --version
gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ gcc -E -std=c90     -dM /usr/include/features.h | grep -w __USE_POSIX
$ gcc -E -std=gnu90   -dM /usr/include/features.h | grep -w __USE_POSIX
#define __USE_POSIX 1
$ gcc -E -std=c99     -dM /usr/include/features.h | grep -w __USE_POSIX
$ gcc -E -std=gnu99   -dM /usr/include/features.h | grep -w __USE_POSIX
#define __USE_POSIX 1
$ gcc -E -std=c11     -dM /usr/include/features.h | grep -w __USE_POSIX
$ gcc -E -std=gnu11   -dM /usr/include/features.h | grep -w __USE_POSIX
#define __USE_POSIX 1
$ g++ -E -std=c++98   -dM /usr/include/features.h | grep -w __USE_POSIX
#define __USE_POSIX 1
$ g++ -E -std=gnu++98 -dM /usr/include/features.h | grep -w __USE_POSIX
#define __USE_POSIX 1
$ g++ -E -std=c++03   -dM /usr/include/features.h | grep -w __USE_POSIX
#define __USE_POSIX 1
$ g++ -E -std=gnu++03 -dM /usr/include/features.h | grep -w __USE_POSIX
#define __USE_POSIX 1
$ g++ -E -std=c++11   -dM /usr/include/features.h | grep -w __USE_POSIX
#define __USE_POSIX 1
$ g++ -E -std=gnu++11 -dM /usr/include/features.h | grep -w __USE_POSIX
#define __USE_POSIX 1
$ g++ -E -std=c++14   -dM /usr/include/features.h | grep -w __USE_POSIX
#define __USE_POSIX 1
$ g++ -E -std=gnu++14 -dM /usr/include/features.h | grep -w __USE_POSIX
#define __USE_POSIX 1
$ g++ -E -std=c++1z   -dM /usr/include/features.h | grep -w __USE_POSIX
#define __USE_POSIX 1
$ g++ -E -std=gnu++1z -dM /usr/include/features.h | grep -w __USE_POSIX
#define __USE_POSIX 1
  • なんじゃこりゃ。っつーことですよ。
  • c11 に限らず、c90, c99 でも __USE_POSIX が定義されない。どうも意図的。
    代わりに gnu11 とかの GNU拡張有効にすると定義される。
    -std=c++XX は定義される。gnu++XX も同様に定義される。
  • ちょっと理由が分からないんです。誰か知りませんか?

結城友奈は勇者である

  • 鷲尾須美の章/勇者の章 の視聴開始をトリガーに再視聴。
    やっぱり初回視聴と大体同じ感想かな。悪くない。
  • 再視聴で気付くのは、尺としては途中の日常回が少し長い。
    そして最終盤が残念に短い。
  • 短いのは尺が足りないからかな、と思ったが、多分違う。多分書けないんだ。
  • 好夏凜の連続満開の代償散華の痛ましさとそれ自身に悔いは無いこと、
    続いている戦いに代償を乗り越えて復帰してくること、
    ここって勇者であるシリーズのメインテーマだと思うのね。
  • また最終戦の後遺症の結城友奈の意識喪失と、看病する東郷美森が回復を信じること、
    その信じぬくことの苦しさが、ハッピーエンドのカタルシスを高めるのだが。
  • まどかマギカでは第10話を全部使ってストーリーモチベーションを示し、
    第11話で局面の危機化と最終結論への方向が示される。
    まどかマギカでは限界まで描写されている。
  • 結末の、みんなの散華後遺症が回復するのはいいけれど、トリガーが分かりにくいんだよな。
    結果「なぜか治った」としか感じられない。→ 追記へ
  • 書けないから「ワ~! バーン! ドカーン! 勝った~!!」な気がします。
    物語構造は良いのになぁ。

(追記)

  • 「その後の園子」によると、勇者部の活躍を観た神樹が人間には過酷な道を歩む強さがあると信じ、人間が一丸となって立ち向かうため人身御供を廃した結果、供物が返上されたとのこと。(結城友奈は勇者である - Wikipedia)
  • こういうのストーリー中で全然示唆されてないのよね。
    もうちょっと伝えること表現することに丁寧であって欲しい。

Re:ゼロから始める異世界生活 新編集版 [APV]

  • 正直言って新編集版は、どこが変わっているのかハッキリは分からないんだけど、尺が長くなってるんで一部映像が増えてるとか、シーンの時間が増えてるのかと思いますが。
  • そういう話とは別枠で、やっぱり面白い訳です。現在APVで9話まで視聴。
  • 続きが早く見たくなって以前録画しておいた旧版(?)を見始める。
    止まんない。視聴完了。(やりすぎ)
  • やっぱり面白いです。

インフルエンザ

  • インフルエンザに罹りました。
  • 会社を早退して近くの医院に。37.7℃。
  • 検査してもまだ早くて判定されないかもよ、と言われましたが検査を強行。
    無事インフルエンザA型認定されました。
  • ウチに帰って寝て、一回起きました。39.2℃。
  • 解熱剤を飲んで寝て起きました。超熱下がった! と思い。37.9℃。
  • また寝て起きました。キツイ、辛い。38.4℃。
    また解熱剤を飲みました。

CentOS-8.0.1905, Option Package Install で vim が変わる

  • 仕事関係で CentOS-8.0.1905 を使うので、ちょっと確認/調査/勉強をしています。
  • .vimrcで「autocmd filetype sh setlocal ts=2」がエラーになります。
    Ubuntu-18.04.2 ではこんなことにならないんですが。
  • 「filetype」を「FileType」に変更するとエラーにならない。ふむ。
  • Server では OK, Minimal ではエラーになることが分かりました。
  • いや、Server に '@Development Tools' を追加するとエラーになるらしいぞ。
  • どうも Server, Minimal が分岐点ではないらしい。
    • Server → Server そのまま
    • Minimal → Minimal + @Standard + '@Development Tools'
  • Minimal で確認するために、Minimal only で OS Install したら tar が無い。
    俺は環境設定手順のなかで tar 使うのよね。死。
  • Minimal + @Standard に dnf install '@Development Tools' したら
    .vimrc でエラーが発生するようになりました。大条件は特定。
  • dnl list installed で比較したけどパッケージ差からは原因判別できなかった。
    これはもう分からんなぁ。
  • 今回の結論。%s/filetype/FileType/g する。不満だけど。

Fairy gone フェアリーゴーン

  • なぜ見てしまったんだろう枠かしら。
  • なんか面白そうだったけど、視点に強さが足りないかなぁ。
  • フリーはただ戦うだけ、マーリアは田舎の小娘の経歴特殊事情。
    ストーリー背景は政争ベース。最終的には狂信者集団。
    妖精可哀そうとか良く分からんし。
  • 最後はでっかいのが出てきて、お姉ちゃんがアボーンしてお終い。なんかねぇ。

本好きの下剋上 司書になるためには手段を選んでいられません

  • 分割2クールの1クール目。
  • 一部で評判が良いのは知ってたんだけど、内容は知らなかった。
    このライトノベルがすごい!2年連続第1位 だそうです。
  • 絵柄はまぁそんなもんなんでしょう。原作由来と思われる。
  • 面白い、悪くない、けど、どこが良いのかは良く分かんない。良いんですよ?

ガチャは良い文明2019

  • 2部5章のピックアップ1を呼符10枚突っ込んだら、エウロペが引けました。
  • 超人オリオン狙いで60個砕いたら3枚目の諸葛孔明が引けました。
  • 今年星5が超引けました。来年は引けそうにないかも。

明らかにガチャは良い文明

  • 午前3時に20枚22連を引いたらスカディさんが来ました。
    秦良玉ちゃんも来ました。
  • どうも明らかにガチャは良い文明のようです。
  • 1800万DLのPUも大勝利で終了です。
    クリスマスと年末であまり戦わなくて済むといいけど...

ガチャは良い文明

  • あ、そういえば直前のセイバーウォーズ2では、最初の呼符10枚でジェーン、続きの呼符4枚でイシュタりんを引きました。
    (投入は20枚22連)
  • まぁ大勝利を凌ぐ超勝利というものでしょう。
    ガチャは良い文明です。

ガチャは悪い文明

  • 星4配布はぐっちゃんで。
  • 20連目くらいで金回転。フッ、大勝利だな... チョロいもんよ。
    からの騎。そんな甘くないか。理性蒸発かよ。
  • んー、一般的に悪くないんでしょうけど、使ってないのよね...
    なんとなく好きじゃなくて。
  • 引き続きブッ込む。 金回転で術、勝った!! これは!
    からの玉藻。えー。まじ声が出る... 星5術だったのに...
  • 玉藻は良いんですよ多分一般的に。すり抜けキツすぎる...
    スカディ狙いなので、玉藻なのに凹む... 悪い文明。
  • 時間を開けて続ける。金回転、よっしゃ勝った!! なぜ槍?
    からのカルナ。2枚目のカルナ。
  • 2部4章のPUで全力で引いて取ったカルナ。すり抜けで2枚目ですかよ。
    おれエレシュキガルがメインなんすよ。
  • さて今夜も引いてみるか。無課金でこれだけイケてればOK、OK...

メイドインアビス [APV]

  • 始まりからナナチの合流まで。評判が良さげだったのでAPVで見てみた。
  • 最初は世界観とかも分からなくて、年少組の冒険譚なのかなと思ったけど。
    そうじゃなくて白笛のライザの絶界行を追うリコの物語。
  • 潜ると身体に悪影響が出るっていうから、降りるのにもと思ってたけどそうじゃない設定。
    上昇負荷ってなってて、少しでも元の世界に戻ろうとするのがダメ。
    なので降りるだけにはペナルティは無いのです。
  • リコの左腕を切り落とす(未遂)のシーンは、心底震え上がる。あ~マジ怖い怖い。
  • 原作の途中までなので続きが見たいなぁ。
    実はリコがタマウガチの毒にやられた後のほうが面白かったかも。