先日書いた問題と関連して、タスクバーに格納した言語バーが出ない。また、VAIOにプリインストールされたランチャー「VAIO Gate」が起動しない。
これらはすべて、Windows起動時に実行されるべきTaskSchedulerサービスが開始時に「サービスの重大なエラー」つまり「タスク スケジューラ サービスは、サービスの起動時にタスクを読み込むことができませんでした。追加データ: エラー値: 2147549183。」によって、開始できなかったことによるものらしい。
ならば、と、タスクスケジューラを起動すると、「選択されたタスク"{0}"が存在しません。現在のタスクを表示するには、[最新の情報に更新]をクリックしてください」などというアラートメッセージが出る。何か良くないことが起こっているらしい。
仕方ないのでネットで情報を探すと、「Windows 7 で言語バーが消えて出てこない件の原因究明と暫定対策」というサイトがあった。ここに書かれている情報は結構具体的。なぜおかしくなったかはともかく、対処方法が示されている。「<UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>」という記述を含むタスク記述ファイル(C:\Windows\system32\Tasks\以下のファイル)があると、エラーになるとか。
まず、タスク記述ファイルをすべて他に移して、少しずつ戻しながら、エラーになるファイルを特定してみた。すると、十数個のファイルが該当する。しかし、これらを外しても、タスクスケジューラの起動時のエラーは出なくなるものの、OS起動時のエラーはなくならないし、冒頭の問題も解決しない。
次いで、エラーを起こすタスク記述ファイル内で上記のエントリを含むファイルから、上記エントリを消してみた。これだけでは、タスク記述ファイルとレジストリの間で不整合が起こるようなので、上記サイトからリンクされているMicrosoftの情報(http://support.microsoft.com/?kbid=2305420)に基づき、レジストリも修正して対処してみた。しかし、まだ駄目。
次いで、すべてのタスク記述ファイルで、上記のエントリを含むものを探し、そのエントリを消してみた。そしてレジストリの修正。しかしまだ駄目…どうもまだ不整合があるらしい。
最後に、すべてのエントリとレジストリの整合性を、一つずつ確認してみたら、レジストリに多くのゴミデータが残っていた。これを削除し、残りもすべて再登録してみて、ようやく解決。
おかしくなったのは約1か月前からのようだが(イベントログにOS起動時のTaskSchedulerのエラーが見るかったのが6月25日以降)、普段はサスペンド状態で使っているので、いつおかしくなったかは不明(その前1週間以内だろう)。そのころに何かやましいことをした覚えはない。
なお、タスクスケジューラへの再登録時に、何度試しても登録できないエントリがあった。「既に登録されてます」だとか。でも、ファイルは存在しないし、レジストリにもエントリはない。原因不明。
また、上記の「<UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>」というエントリの役割はよくわかっていない。つまり、これを消してもいいのかも、よくわかっていない。
■ 先月、松山でお世話になった方を、奈良で案内。梅田で待ち合わせ、実家のある橿原市に移動して車を借り、実家近辺を徘徊。その後、江戸時代の町屋が並ぶ、橿原市今井町を散策。途中で説明のボランティアの人の話を聞き、さらに紙半豊田記念館の案内の方の説明をじっくり聞くことになったので、おもいのほか時間をとってしまった。その後、多武峰から吉野町へ行き、私の生まれ育った家を案内。吉野川沿いまで南下して、大淀町から橿原へ。その方が橿原に泊まることになったので宿まで送り、1時間半ほど休憩してもらった後、夕食。そののち、再度今井町に行って、燈花会を散策。旧家の街並み沿いにろうそくの灯りが並ぶ姿は、幻想的でした。宿まで歩いて送って行って、京都へ帰宅。
IE10+Google Toolbarで、先日Google Toolbarを更新したら、IE10を起動するたびに、Googleのサイトが表示されるようになった。うっとうしい…
IEの「ホームページ」を空白にしても、起動するたびに元に戻る。Google Toolbarの設定で、「ホームページにする」というチェックが外せなくなっていた…恐ろしい。
portsdb -Uuすると、途中でおかしいことになる。
Updating the ports index ... Generating INDEX.tmp - please wait..Warning: Duplicate INDEX entry: ghostscript7-7.07_29だとか。
Warning: Duplicate INDEX entry: ghostscript8-8.71_13
Warning: Duplicate INDEX entry: ghostscript9-agpl-9.07_3
Warning: Duplicate INDEX entry: ghostscript9-9.06_4
Done.
done
[Updating the portsdb <format:dbm_hash> in /usr/ports ... - 24371 port entries found .........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000.........17000.........18000.........19000.........20000.........21000.........22000.........23000.........24000... ....HASH: Out of overflow pages. Increase page size error] Remove and try again.
このうち、"Duplicate INDEX entry"は、Makefileの書き方の問題らしく、大したことではないらしい。
一方、最後のメッセージが理解できない。今までエラーになったことはなかったし、問題になる理由がよくわかっていない。
そもそも、このメッセージを出しているのは誰なのか?と思って、メッセージの文字列をruby関連のソースコードで検索してみた。が、見つからない…ということは、システムのメッセージということか。たしかに、libcに含まれている。
ということで、このメッセージで検索した結果、こちらの方法を見つけたが、これでもダメ。どうも、INDEXファイルを作成するとだめらしい。
% cd /usr/portsで解決。
% rm -f INDEX*
% make fetchindex
% portsdb -u
■ もうトマトが枯れそうなので、上のほうを刈ってしまった。茄子はまだ花が咲いているので、更新剪定できず。大豆は非常によく伸びてます。茄子と同じプランターなので、肥料をよく吸収しているのかも。
■ 実家の祖母の初盆、ということもあり、吉野の生家で宿泊。静かだ。
■ 昨日から、食べているか寝ているか。田舎はすることがない。よく寝られるもんだと不思議なくらい。何しろ、涼しくて気持ちいいのだ。
■ 帰京。昨晩からかなり落ち込んでいる。人生設計を大きく誤った、と後悔してももう遅い。自分の力では如何ともしがたい問題なのだ。MWさんを苦しめているだけなのか?と思うと…
高分子学会誌の一部は今や雑誌として配布されず、ネットで見なければならない。
今までは拡大して見られたと思うのだが、先日からそれができなくなった。拡大・縮小のボタンが無効になって利かない。Flashを使ったアプリのようなので、他に拡大縮小の方法がない。
だれも文句を言っていないのか、それとも無視しているのか。そもそも、だれも読んでないんじゃないのか。通常の本文の文字さえ読めないサイズでは、意味がないだろう。
www/chromiumのビルドに失敗する。
===> Configuring for chromium-29.0.1547.57
cd /usr/ports/www/chromium/work/chromium-courgette-redacted-29.0.1547.57 && /usr/bin/env TMPDIR="/tmp" COMPILER_PATH=/usr/local/bin CC=gcc46 CXX=g++46 CFLAGS="-O -pipe -Wl,-rpath=/usr/local/lib/gcc46" CXXFLAGS="-O -pipe -Wl,-rpath=/usr/local/lib/gcc46 -Wl,-rpath=/usr/local/lib/gcc46" CPPFLAGS="" LDFLAGS=" -Wl,-rpath=/usr/local/lib/gcc46" GYP_GENERATORS=ninja GYP_DEFINES="use_cups=1 use_system_yasm=1 use_system_libxml=1 use_system_ffmpeg=0 use_system_libusb=1 use_system_libevent=1 use_system_libvpx=0 linux_breakpad=0 linux_strip_binary=1 linux_use_tcmalloc=0 linux_use_heapchecker=0 test_isolation_mode=noop clang_use_chrome_plugins=0 disable_nacl=1 enable_webrtc=1 enable_openmax=1 enable_one_click_signin=1 werror= no_gc_sections=1 os_ver=804500 prefix_dir=/usr/local python_ver=2.7 google_api_key=AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8 google_default_client_id=996322985003.apps.googleusercontent.com google_default_client_secret=IR1za9-1VK0zZ0f_O8MVFicn ffmpeg_branding=Chrome proprietary_codecs=1 use_pulseaudio=0 disable_sse2=1 gcc_version=46 buildtype=Official" TMPDIR="/tmp" PYTHON="/usr/local/bin/python2.7" PKG_CONFIG=pkgconf TMPDIR="/tmp" SHELL=/bin/sh CONFIG_SHELL=/bin/sh /usr/local/bin/python2.7 ./build/gyp_chromium chrome/chrome.gyp --depth .
Updating projects from gyp files...
===> Building for chromium-29.0.1547.57
cd /usr/ports/www/chromium/work/chromium-courgette-redacted-29.0.1547.57 && /usr/bin/env TMPDIR="/tmp" COMPILER_PATH=/usr/local/bin BUILDTYPE=Release GPERF=/usr/local/bin/gperf TMPDIR="/tmp" TMPDIR="/tmp" SHELL=/bin/sh NO_LINT=YES ADDR2LINE="/usr/local/bin/addr2line" AR="/usr/local/bin/ar" AS="/usr/local/bin/as" CPPFILT="/usr/local/bin/c++filt" GPROF="/usr/local/bin/gprof" LD="/usr/local/bin/ld" NM="/usr/local/bin/nm" OBJCOPY="/usr/local/bin/objcopy" OBJDUMP="/usr/local/bin/objdump" RANLIB="/usr/local/bin/ranlib" READELF="/usr/local/bin/readelf" SIZE="/usr/local/bin/size" STRINGS="/usr/local/bin/strings" PREFIX=/usr/local LOCALBASE=/usr/local LIBDIR="/usr/lib" CC="gcc46" CFLAGS="-O -pipe -Wl,-rpath=/usr/local/lib/gcc46" CPP="cpp46" CPPFLAGS="" LDFLAGS=" -Wl,-rpath=/usr/local/lib/gcc46" CXX="g++46" CXXFLAGS="-O -pipe -Wl,-rpath=/usr/local/lib/gcc46 -Wl,-rpath=/usr/local/lib/gcc46" MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install -s -o root -g wheel -m 555" BSD_INSTALL_LIB="install -s -o root -g wheel -m 444" BSD_INSTALL_SCRIPT="install -o root -g wheel -m 555" BSD_INSTALL_DATA="install -o root -g wheel -m 444" BSD_INSTALL_MAN="install -o root -g wheel -m 444" /usr/local/bin/ninja -j2 -C out/Release chrome
ninja: Entering directory `out/Release'
[367/11982] LINK libvpx_obj_int_extract
FAILED: g++46 -Wl,-rpath=/usr/local/lib/gcc46 -Wl,-z,now -Wl,-z,relro -pthread -Wl,-z,noexecstack -fPIC -Wl,--no-keep-memory -m32 -Wl,-O1 -Wl,--as-needed -o libvpx_obj_int_extract -Wl,--start-group obj/third_party/libvpx/source/libvpx/build/make/libvpx_obj_int_extract.obj_int_extract.o -Wl,--end-group
obj/third_party/libvpx/source/libvpx/build/make/libvpx_obj_int_extract.obj_int_extract.o: In function `parse_elf':
obj_int_extract.c:(.text.parse_elf+0x756): undefined reference to `__stack_chk_fail_local'
/usr/local/bin/ld: libvpx_obj_int_extract: hidden symbol `__stack_chk_fail_local' isn't defined
/usr/local/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
[367/11982] ACTION Generating gen/webk...or/InjectedScriptCanvasModuleSource.js
ninja: build stopped: subcommand failed.
*** Error code 1
Stop in /usr/ports/www/chromium.
*** Error code 1
Stop in /usr/ports/www/chromium.
原因は、/etc/make.confでのCFLAGSの設定らしい。
これが原因のトラブルはもう何度目かわからないくらい。設定できないのならそうはっきりと書いておいてくれ。本来はユーザによる設定と共存できるように配慮すべきだと思う。
ところで、これで一件落着と思いきや、これでもあとで別の個所で同様のエラーが出てビルドに失敗する。おそらくは同じ問題に起因し、既にインストール済みのビルドツールのいずれかが内部に保持しているCFLAGSの値が原因だと思われるが、これ以上は調べているヒマもない。また、別のホストでは起こらなかったので、原因はかなり複雑なのかも。