2016年5月11日水曜日

GAE/p + boto3 で、ImportError: No module named _winreg

  File "C:\Proj\appspot\get---ip\botocore\session.py", line 470, in user_agent

    platform.system(),

  File "C:\Python27\lib\platform.py", line 1263, in system

    return uname()[0]

  File "C:\Python27\lib\platform.py", line 1159, in uname

    release,version,csd,ptype = win32_ver()

  File "C:\Python27\lib\platform.py", line 632, in win32_ver

    from _winreg import OpenKeyEx, QueryValueEx, CloseKey, HKEY_LOCAL_MACHINE

  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\python\sandbox.py", line 963, in load_module

    raise ImportError('No module named %s' % fullname)

ImportError: No module named _winreg


C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\python\sandbox.py

_WHITE_LIST_C_MODULES に必要なモジュール名を追加します。例:
_WHITE_LIST_C_MODULES = [
    'array',
    '_ast',
    'binascii',

    ...

    'zlib',
    '_winreg',
    '_ssl',
    '_ctypes',
]

Stop → Run で、アプリを再起動します。

2016年4月25日月曜日

magic block mismatch の件


magic block mismatch を引き起こす理由:
  • 9.4 用の物を 9.5 で使おうとした等。「Server is version %d.%d, library is version %d.%d.」
  • 9.5 の場合、include の内容が x64 用と x86 用とで微妙に異なる。。。「Server has FLOAT8PASSBYVAL = %s, library has %s.」


error LNK2001: 外部シンボル "CurrentMemoryContext" は未解決です。

 "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64\link.exe" /libpath:"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64;C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64" libmecab-sdk64/libmecab.lib PGfiles/9.5/lib_x64/postgres.lib /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /LTCG /MACHINE:x64 /DLL /RELEASE obj\9.5\x64\textsearch_ja.obj obj\9.5\x64\encoding_eucjp.obj obj\9.5\x64\encoding_utf8.obj /DEF:textsearch_ja.def /OUT:bin\9.5\x64\textsearch_ja.dll
Microsoft (R) Incremental Linker Version 11.00.61030.0
Copyright (C) Microsoft Corporation.  All rights reserved.

   ライブラリ bin\9.5\x64\textsearch_ja.lib とオブジェクト bin\9.5\x64\textsearch_ja.exp を作成中
textsearch_ja.obj : error LNK2001: 外部シンボル "CurrentMemoryContext" は未解決です。
bin\9.5\x64\textsearch_ja.dll : fatal error LNK1120: 1 件の未解決の外部参照


foo.def を作成↓
LIBRARY postgres.exe
EXPORTS CurrentMemoryContext


lib を使って、インポートライブラリを作成↓
lib /out:x64\foo.lib /def:foo.def /machine:x64
lib /out:x86\foo.lib /def:foo.def /machine:ix86

作ったインポートライブリを使って、リンクします。

参考:http://openlab.ring.gr.jp/tsuneo/soft/tar32_1/tar32_1/SDK/DLL2LIB.TXT

2016年4月14日木曜日

USB 外付け HDD に Boot next device を仕込む

☆彡 syslinux 6.0.3 等を入手して展開

https://www.kernel.org/pub/linux/utils/boot/syslinux/6.xx/syslinux-6.03.zip

ソースコードだけと思われがちですが、バイナリも含んでいます。

☆彡 syslinux をインストール

bios\win32\syslinux.exe を使用

仕込み例:
syslinux.exe -miaf -d /boot/ Z:

ルートディレクトリがごちゃごちゃすると、誤って消されそうです。ここでは、boot フォルダに仕込みます。

☆彡 /boot/syslinux.cfg を仕込む

内容例:
DEFAULT main

LABEL main
MENU LABEL Boot next device
TEXT HELP
 Boot next device in the boot sequence.
ENDTEXT
COM32 /boot/syslinux/whichsys.c32
APPEND -sys- /boot/syslinux/chain.c32 hd1 swap -iso- /boot/syslinux/localboot.c32 -1

☆彡 必要なファイルを仕込む

chain.c32
libcom32.c32
libgpl.c32
libutil.c32
localboot.c32
menu.c32
whichsys.c32

在り処:

bios\com32\chain\chain.c32
bios\com32\lib\libcom32.c32
bios\com32\gpllib\libgpl.c32
bios\com32\libutil\libutil.c32
bios\com32\samples\localboot.c32
bios\com32\menu\menu.c32
bios\com32\modules\whichsys.c32

☆彡 動作チェックを

hp Proliant で USB 外付け HDD をつなげると、Windows が起動しなくなる!

もうこの界隈では有名な話かもしれません。

hp のサーバーは、USB 外付け HDD から優先的に起動するよう初期設定しているようです。

バックアップ用に 1TB 程の USB 外付け HDD を接続している方は要注意!

BIOS の設定変更で対応するようですが、もう納品済みで、実機は 100km 以上先に在ります!

そういう場合は… USB 外付け HDD に Boot next device を仕込む を参考にどうぞ!

DELL PowerEdge T110 II 解体の巻


 ↓SAS。SATA でした。電源とデータで、コネクタが一体型
↓SATA。左のデータ用と、右の電源用とで、コネクタが別々