What goes on/what's going on:最新 5 日分

2023/01/31(Tue)

[音楽] Sheena & The Rokkets/Captain Guitar And Baby Rock

また訃報えええ…鮎川誠もウィルコとジェフとユキヒロ追っかけてシーナの所いっちゃったの、しかもウィルコと同じ膵臓ガン。 去年の5月に余命5ヶ月宣告の後治療しながら12月中旬まで精力的にライブしてたというが、つべに上がってる映像みるとさすがにボロボロでらしくない演奏。 でもシーナが最後までステージ立ちたがってた事もあって意志を継いだんかな。

生み出した音楽やギターの演奏以上に本人そのものがカッコイイ男と表現すると、誉め言葉として何かがおかしいが自分としてはそうとしか説明のできない男である。 そしてユキヒロもだったけどファッショナブルでシャイでかわいいそして大物ぶらず腰の低い人であった。

ということで山口冨士夫(村八分)が参加したアルバムからのライブ。

鮎川と山口はどちらも敗戦後のいわゆるGIベビーで父親を知らない、ふたりにとってのブルースやロックは自分のルーツとアイデンティティに関わるものだったはずだ。 それでも遠い地にいるが手紙のやりとりで父と良好な関係を築けてた結果なのか地元九州と家族を強く愛した鮎川に対し、孤児院で育ち自分の混血性をモンスターそして立ち位置を村八分と形容した山口では、相性は水と油コインの裏表のはずなのだがこのライブでは奇跡的に同居している。 熱心に山口のライブに鮎川が通ってたことで共演が実現したそうだが、そういう人たらし能力に長けた人だったね。追悼する人の幅広さにそれを感じる。

2023/01/30(Mon)

[音楽] Television/The Dream's Dream

ニューヨークパンクの伝説である元TelevisionのTom Verlaine死去か、今年は多大な影響を受けたギタリストが次々と亡くなっていて悲しいね。 でも代表曲Venusの歌詞のように

did ya feel low? 落ち込んでますか?
nah (huh?!) いいえ(えっ)

と元気出してかなくちゃだわ。

わりと何度も来日した人だけどワイはアンテナ低いので気づいたときには公演終わってるし結局生でライブ観る機会は無かったのが残念。 大学時代のツレがNYのNitting Factoryで行われたFender Jazzmaster 50thでTom Verlaine+Jimmy RippとThurston MooreとJ.Mascisを観てきた話は羨ましかったすね。

なんつーかやっぱりNYのホームグラウンドで観たい人だよね、何年か前に 丸の内で観たWayne Krantzにも思った事だが。

大学生の頃にフェンジャパの安物ストラトでひたすらTelevisionの1stをコピーしてたのを思い出す、学食で先輩とずーっとMarquee Moonのお経のような単調なリフを弾いて盛り上がってたけど周囲からは異常者と認識されてたに違いない。

でもなんでかライブでは一度も演奏しなかったのが謎である、Velvet UndergroundのAll Tomorrow's Partyとか演るくらいには客の事なんか考えないマスターベーションだったのにな。

抑制されたクランチトーンで機械的かつ瞑想的な多彩なリフそしてソロはヒステリックな悲鳴じみたインプロヴァイゼーションというスタイルはデビュー当時から完成されてたな。 そしてもう一人のギターRichard LLoydもこれまた天才で金管楽器のファンファーレじみた不思議なギタートーンで絡みついてくる、どうやったらこの音出るんだろうと思ってた。

サビの「足!足の!!イボ~~~~!」が空耳アワーに採用されないの世界七大不思議のひとつである。

ワイはギターは本職ではないし貧乏人だからエフェクターやアンプに金もかけず安物ストラトとBOSS OD-2だけで惨めなトーンをひりだしてたが。 ギターの腕前はありとあらゆる人からヘタの横好きと烙印を押されていたが、鶏の首を絞めたような歌声だけはTom Verlaineそっくりだったと自負している。

今の歳になると1stはちょっとお腹一杯となるのは若い頃に聴き過ぎたせいだろうか、もっと肩の力抜けた2ndや解散と再結成を経た3rd、そしてソロ作品の方を聴く機会の方が多いのである。

ところでRichard Hell在籍時代のブートDouble Exposureとかお蔵入りの1stデモみたいな音源はやくだしてよレコード会社やくめでしょ 前回2003年のリマスター時にボーナストラックでLittle Johnny Jewelや未発表バージョンが収録されたのは大変ありがたかったが足りないのですわ。

2023/01/29(Sun)

[オレオレN6] PD m4(その27)

もう読んでる方も嫌になってきたであろう連載27回目だが、誰も読んでないので書いてるオレがウンザリする以外何も問題は生じないので世界は救われた。

ところで27という数字といえば27クラブすなわち我が永遠のアイドルJim Morrisonがパリ郊外のアパート内のバスタブで薬物のオーバードーズでThe Endとなった年齢やな、もう終わりにしてえ。

前回/usr/pkg/share/aclocal-1.16/init.m4の

13 m4_define([AC_PROG_CC],
14 m4_defn([AC_PROG_CC])
15 [_AM_PROG_CC_C_O
16 ])

でコケてるといったけど、トレース真面目に読んだらその一行前の

 9 # This macro actually does too much.  Some checks are only needed if
10 # your package does certain things.  But this isn't really a big deal.
11 
12 dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.

でコケてたわ、いや先頭にdnlあったのでコメント行継続しとると思ったのだけど一行空行挟んでるんだがこれでも継続になるんかな。

実際にトレース読むと13行目でAC_PROG_CCを再定義する前にautoconf.m4f中のAC_PROG_CCが12行目で評価されとるなこれ。

m4trace:/usr/pkg/share/aclocal-1.16/init.m4:12: -1- id 1: AC_PROG_CC ...
m4trace:/usr/pkg/share/aclocal-1.16/init.m4:12: -1- id 1: AC_PROG_CC -> ???
m4trace:/usr/pkg/share/aclocal-1.16/init.m4:12: -1- id 1: AC_PROG_CC -> [_m4_defun_pro([AC_PROG_CC])AC_LANG_PUSH(C)dnl
(以下略)

ところがGNU m4ではdnl以降無視されてるのだよな、やっぱコメント行継続してるようだな。

m4debug: input read from /usr/pkg/share/aclocal-1.16/init.m4
m4trace:/usr/pkg/share/aclocal-1.16/init.m4:12: -1- id 1: dnl ...
m4trace:/usr/pkg/share/aclocal-1.16/init.m4:12: -1- id 1: dnl -> ???
m4trace:/usr/pkg/share/aclocal-1.16/init.m4:12: -1- id 1: dnl
m4trace:/usr/pkg/share/aclocal-1.16/init.m4:13: -1- id 2: m4_define ...
m4trace:/usr/pkg/share/aclocal-1.16/init.m4:14: -2- id 3: m4_defn ...
m4trace:/usr/pkg/share/aclocal-1.16/init.m4:14: -2- id 3: m4_defn([AC_PROG_CC]) -> ???
m4trace:/usr/pkg/share/aclocal-1.16/init.m4:14: -2- id 3: m4_defn(...) -> [m4_if([1], [0], [[m4_defn]],

はい、12行目はdnl以降なにもトレースに出てこず13行目以降のAC_PROG_CCの再定義に突入してるよね。

いやほんとm4とかろくに書いたことねえのでさっぱり判らんが。

とりあえず最小ケース的なものを作ってみる。

$ cat >unko.m4
# comment

dnl AC_PROG_CC
^D

まずはGNU m4

$ gm4 -DAC_PROG_CC=unko -g --debug=V test.m4
m4debug: input read from test.m4
# comment

m4trace:test.m4:3: -1- id 1: dnl ...
m4trace:test.m4:3: -1- id 1: dnl -> ???
m4trace:test.m4:3: -1- id 1: dnl
m4debug:test.m4:4: input exhausted

そしてオレオレPD m4

$ m4 -DAC_PROG_CC=unko -g --debug=V test.m4
# comment

m4trace:test.m4:3: -1- id 1: dnl ...
m4trace:test.m4:3: -1- id 1: dnl -> ???
m4trace:test.m4:3: -1- id 1: dnl -> `'

うーんGNU m4と同じ挙動で(トレース出力が微妙に違うのはもうしゃーない)コメント行継続で問題なさげである。

ところが-Dオプションでなく--reload-stateからAC_PROG_CCを読み込むと

$ m4 -g --reload-state=/usr/pkg/share/autoconf/autoconf/autoconf.m4f  test.m4
# comment

m4: test.m4 at line 4: indir: undefined macro .
dnl _m4_divert_raw(10000)$

とバグるのだ。

ここではたと気づく、前回まるで動かなかった原因のautoconf.m4fって-Pオプションつまりm4_プリフィクスつきでシリアライズされてるはずなので、dnlでなくm4_dnlじゃねえと動かねえんじゃないっすかね。

しかしながらautoconf.m4fの中身を検証すると

2914 F3,3
2915 dnldnl
2916 T17,245

とこっちはm4_プリフィクス無しなのだ、なんじゃこりゃ何故にm4_プリフィクス有り無しが混在するのコレ(卒倒)。

つーか*.m4fにビルトインは

F[文字数1],[文字数2]
[文字列1][文字列2]

という形式でシリアライズされる、実際にさわりだけ出力すると

# This is a frozen state file generated by m4
V1
F7,7
includeinclude
F8,8
sincludesinclude
…

として記録され、-Pありなら

# This is a frozen state file generated by m4
V1
F10,7
m4_includeinclude
F11,8
m4_sincludesinclude
…

になるんだから-Pのフラグとか関係なしに[文字列2]の名を持つビルトインを[文字列1]の名前でハッシュテーブルに記録してけばいいだけか。 そもそも真面目にinfo読んだら-Pは-R指定時は無効とあるじゃねえのよ。

とりあえずこの修正を取り込んだらだいぶ先に進むようになったっぽいのだが

/usr/pkg/share/aclocal-1.16/make.m4:42: the top level

autom4te: error: /usr/src/external/bsd/m4/usr.bin/m4 failed with exit status: 1
aclocal: error: /usr/pkg/bin/autom4te failed with exit status: 1
autoreconf: error: aclocal failed with exit status: 1

と出てまたまた止まりよる、今度はなんですかね…もうお腹一杯なのでまた後日。

2023/01/27(Fri)

[オレオレN6] PD m4(その26)

さてGNU AutoconfでオレオレPD m4が動かん問題続き、--reload-stateにいっこ考慮漏れがあったのに気づいた。

という酷いオチなんやな悲劇なんやな、つーか本来はfrozen stateファイルに-Pの有無があってしかるべきよなこれ。

修正方法はまた後で考えるとして手元にkludge入れて回避して続行したら見事先に動き出したのだが、こっからがちょっと大変。 なぜか/usr/pkg/share/aclocal-1.16/init.m4でindrビルトインが空の引数で呼ばれる現象や無限ループに入る現象が出ましてですね。

m4: /usr/pkg/share/aclocal-1.16/init.m4 at line 12: indir: undefined macro .

とかで止まるのだ、なお該当するコードは

dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
m4_define([AC_PROG_CC],
m4_defn([AC_PROG_CC])
[_AM_PROG_CC_C_O
])

で/usr/pkg/share/autoconf/autoconf/autoconf.m4fでのAC_PROC_CCの定義は以下の通り

T10,1346
AC_PROG_CC_m4_defun_pro([$0])AC_LANG_PUSH(C)dnl
(以下50行ほど省略)

こんなん追えるかクソボケェ(激怒)、やっぱGNU m4インポートして終わりにしたくなってきた。

さーてどうやって最小ケース作りましょうかね…もういやだ…

やる気まったくねえので最強寒波を乗り切るため田谷温泉にリフレッシュしに出かけたのだが、どうもここの施設は露天風呂に某クソゴミ民放のゴミクソバラエティ番組延々と流し続けるので不愉快極まりないので逆に心が貧しくなって帰ってきた。 今週はとくに福岡の地下アイドルのプライベートはパン食べ放題荒らしでたった500円で一度にパン100個1万カロリー喰いますみたいな、みてるだけで餓鬼道に堕ちそうな育ちの悪さ全開話をリアクション芸人が脳死ですげーすげーいってて吐き気しかしねえ、バーカ潰れろ民放ついでにNHKも潰れろ。

いうてワイも貧乏でとっくの昔に餓鬼道に堕ちてるから神奈川県の公衆浴場料金のかるく倍の値段設定の温泉施設には怒り心頭なのである、平日会員料金で750円だもんなぁ。 硫黄泉ならまだしも見た目真っ黒インパクトだけの炭酸モール泉じゃそこまでの価値無えのですわ、3回通えば普通に飽きる(断言)。 横浜環状南線工事で環境も悪化つつあるしこれで完成したら騒音やらでもう行かんわな。

いうて戸塚駅近の銭湯が数年前に廃業し公衆浴場料金450円で入れる施設が地下鉄で駅2つ先の踊場さらにそこから徒歩30分の僻地にある葛の湯で、交通費考えるとこれでも安いのだよね、あきらかに公衆衛生上のバグとしかいいようがない。 東海道沿線で他にないよねこんだけ基本インフラぶっ壊れてる駅周辺、やはり地方移民ニュータウンから搾取される戸塚土人は横浜市から独立し失地鎌倉市を併合し鎌倉郡の首都戸塚を復古せねばならないのでは(頭プーチン)。

2023/01/26(Thu)

[オレオレN6] PD m4(その25)

あれだけ念入りに解説したmstack/sstackの実装だけど 完膚なきまでリファクタリングした、ち~ん。

前回も書いたようにmstackはqueue(3)のSLIST_*によるスタック実装にして引数リストはstringlist(3)を使うようにした。

ただstringlist(3)ってchunksizeがたったの20しかもリサイズ要求がかかる時もそのchunksizeでしか増えないせこい実装なので大量のデータ扱う時いちいちrealloc(3)走ってクソ効率悪いんだよね。

本来ならsl_init(3)の引数でデフォルトサイズ指定できてしかるべきだし、リサイズ要求はchunksizeでなく倍々戦略で増やすべきだと思うのだが、まぁ書かれた時代と作者名であきらめるしかない。

ということでstringlist(3)をこのまま使い続けるかはちょっと微妙な感じである。 そのうちベンチをとろうと思うけど、先に--reload-state問題の解決かな。