2014年9月26日金曜日

unoconvが失敗「ERROR: DLL load failed: 指定されたプロシージャが見つかりません。」

unoconvを使って変換しようとすると、次のようなエラーに遭遇致しました。

unoconv: Cannot find a suitable pyuno library and python binary combination in C:\Program Files (x86)\OpenOffice 4

ERROR: DLL load failed: 指定されたプロシージャが見つかりません。



unoconv: Cannot find a suitable pyuno library and python binary combination in C:\Program Files (x86)\OpenOffice 4

ERROR: DLL load failed: 指定されたプロシージャが見つかりません。



unoconv: Cannot find a suitable office installation on your system.

ERROR: Please locate your office installation and send your feedback to:

       http://github.com/dagwieers/unoconv/issues

利用しているOpenOfficeは「Apache_OpenOffice_4.1.1_Win_x86_install_ja.exe」です。

unoconvで当該エラーが出ている箇所では、「import uno, unohelper」をやっています。

そこで、自分でpythonを起動して、それをやってみました。

Python 2.7 (r27:82525, Jul  4 2010, 09:01:59) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import uno
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "uno.py", line 36, in <module>
    import socket # since on Windows sal3.dll no longer calls WSAStartup
  File "C:\Program Files (x86)\OpenOffice 4\program\python-core-2.7.6\lib\socket
.py", line 47, in <module>
    import _socket
ImportError: DLL load failed: 指定されたプロシージャが見つかりません。
>>>

「import _socket」が失敗しています。

Dependency Walkerで、DLLファイル"C:\Program Files (x86)\OpenOffice 4\program\python-core-2.7.6\lib\_socket.pyd"
をチェック致しましたところ、エクスポート関数が無い!
通常、init_xxxなどが輸出されていると思われるのですが、それが無いのです。

私のPython2.7に付いてくるファイル「C:\Python27\DLLs\_socket.pyd」では、「init_socket」と「init_sockobject」が輸出されていました。

つまり、OpenOffice 4.1.1に付いてくるPythonは部分的に壊れている可能性が高いです。

私の手持ちの_socket.pydで置き換えました所、エラーはでなくなりました。

一応、本家にも報告致しました。

2014年9月11日木曜日

HTTP.sysがTCP port 80を押さえてしまう

何者かがHTTP.sysを使役し、TCP port 80を押さえる事によって、ApacheがTCP port 80を使用できなくなりました。Windows Server 2008 R2 Foundation

イベントビューアの「アプリケーション」ログ:
---
The Apache service named  reported the following error:
>>> (OS 10013)アクセス許可で禁じられた方法でソケットにアクセスしようとしました。  : make_sock: could not bind to address 0.0.0.0:80    
---

まず、次のコマンドで滅しました。
---
netsh http delete urlacl url=http://+:80/Temporary_Listen_Addresses/
netsh http delete urlacl url=http://+:80/MSDEPLOYAGENTSERVICE/
---

更に、サービス「MsDepSvc」Web Deployment Agent Serviceについて、停止。自動→無効。

これで何とかApacheがTCP port 80を使用できるようになりました。

一覧化には、 netsh http show urlacl を用います。

C:\Users\ku_000>netsh http show urlacl

URL 予約:
-----------------

    予約済み URL            : http://+:80/Temporary_Listen_Addresses/
        ユーザー: \Everyone
            リッスン: Yes
            委任: No
            SDDL: D:(A;;GX;;;WD)

予約ではなく、実際に使っている場合は、netsh http show servicestate で確認するようです。

IIS が TCP ポート 80 番を使ってしまうという情報も有ります。

2014年7月22日火曜日

LinkStationのIPアドレスが192.168.11.150に戻ってしまう?

今朝、TERA2(LinkStation)を閲覧しようと思い、\\TERA2 にアクセスを試みたところ、できませんでした。
BUFFALO NAS Navigator 2で確認した所、IPアドレスが既定値と思われる192.168.11.150になっています。


この画面で「はい」を選択しても、成功する事は経験上、ほぼ有り得ません。。。

NICにIPアドレスを増やして、Web設定画面にアクセスして、再起動を掛けて対処致しました。




 DHCPを有効にしています。しかし、何らかの理由でdhcpサーバーからアドレスを取得できなかったのだろうか。。。

2014年7月15日火曜日

hadoop 2.4.1や2.7.0用winutils.exeとhadoop.dllのダウンロード

試用したかったので、懸案のwinutilsを自前でビルド致しました。

拙作自炊のwinutils.exeとhadoop.dllがダウンロードできます。

hadoop-2.4.1-VC11-winutils.7z
https://drive.google.com/file/d/0Bygl-em20CSKRW5mODhCOXI2clk/edit?usp=sharing

プラットフォームごとに分けています。

x86\hadoop.dll
x86\winutils.exe
x64\hadoop.dll
x64\winutils.exe

Notes
  • jdk1.7.0_45を使いました。
  • Microsoft Visual Studio Express 2012 for Windows Desktopを使いました。
  • Static linkedです。C Runtime Libraryの心配は、ございません。

hadoop-2.7.0用 ダウンロード。

2014年6月30日月曜日

切断したネットワークドライブ Dokan

Dokanを使い、仮想ドライブを作っています。

ネットワークドライブ、という扱いにすると、どうしても「切断したネットワークドライブ」になってしまいます。Windows 7だけ? Windows XPではならない、という情報も。。。


http://dokan.googlecode.com/svn/trunk/sys/howtobuild.txt

上のURLのテキストに、次の文言が記されています。

** Network filesystem/provider support

Dokan supports network filesystem mode. You need dokan network provider dll in \dokan_np.
Please build it and copy dokannp.dll into Windows\system32 directly.
You need to register network provider dll to system : dokanctl.exe /i n 
(Unregister network provider : dokanctl.exe /r n) 
You probably need to restart your computer after register or unregister network provider.
And try "mirror.exe /r root_path /l drive_letter /n". 
/n option means to mount as network drive 
Network filesystem mode is an experimental implementation and not tested well. 

どうも、Dokan専用、network providerを提供する必要が有るようです。

ーーー

(2014/8/2追記, 9/19編集)

判りました。

結論的には、Windows 7の64ビット版でも対応可能、デジタル署名がなくても実現可能です。



但し、64ビット環境では、32ビット用DLL、64ビット用DLLの、両方のDLLを用意する必要が有ります。

レジストリでは、設定は一か所だけ。例のようになっていると思います。

例:%SystemRoot%\System32\davclnt.dll

両方を同時に設置できる謎は、レジストリの仮想化、ファイルシステムの仮想化に有ります。

次のパスのように、仮想化によって実在場所の解釈が異なるので、各々設置できるようになっています。

C:\Windows\System32\davclnt.dll
C:\Windows\SysWOW64\davclnt.dll

これがトリックの全貌でした。。。

2014年6月9日月曜日

Accessで、ODBCリンクテーブル。SQL Native Clientで接続

10分間、つまり600秒間、通信(SQLクエリ)が無いと、接続が切れてしまう。

切れてもエラーにはならないが、再接続までにちょっと時間が掛かる点がネックとのこと。。。

ーーー
リモート クエリの制限時間を設定する方法 (SQL Server Management Studio)
http://msdn.microsoft.com/ja-jp/library/ms189040(v=sql.100).aspx

「remote query timeout オプションは、リモート操作を実行してから MicrosoftSQL Server がタイムアウトになるまでの時間 (秒単位) を指定する場合に使用します。既定値は 600 で、10 分間待機できます。」
ーーー

これかな?

設定方法は次のKBが詳しいです。

SQL Server でリンク サーバー クエリを実行するとエラー メッセージ "タイムアウトが発生しました" が表示される
http://support.microsoft.com/kb/314530/ja

確認方法は良くわかっていませんが、
クエリ「select * from sys.configurations;」で引き出すことはできました。

2014年6月6日金曜日

アイコン作成・編集ソフトウェア 調査の件

@icon変換 (DL)

概要:
  • 画像ファイル⇔アイコン 変換するソフトウェア
気になるメリット:
  • PNG形式の入出力Ok
  • 透明度の編集Ok
確認している難点:
  • ICOファイルを開く際、Vistaアイコン(PNG形式のアイコン)を読み込みできない場合有り。
  • 16色のアイコンをPNG出力すると、透明度情報が無くなる。

Pixelformer (DL)

概要:
  • アイコン編集ソフトウェア

ExplodeICO (DL)

概要:
  • ICOファイルの中身をPNGファイルで出力する。
気になるメリット:
  • Vistaアイコン対応。
確認している難点:
  • 手抜きの為、すべて32ビットPNGで出力してしまう。