2009年07月13日

何故、Cygwin の nl_langinfo(CODESET) が "US-ASCII" を吐くの?

 dvd-vr の makeして作ったdvd-vr.exeの不具合で判ったことだが、langinfo の nl_langinfo(CODESET)は環境変数LANGの設定に関わらず、"US-ASCII" を吐くことが判った。

 はっきり言って当方の力の及ばぬ範囲とも見えるが、実際にdvd-vr.c に fprintf(stdinfo,"nl_langinfo(CODESET):\"%s\"\n",nl_langinfo(CODESET)) 等を書き込んでいる内にDOS/V機以前から数年程やっていたC言語の感覚が少しだけ蘇って来て少しは何とかなりそうな気がして来た。まあ、;は毎回つけ忘れるし、文字列はポインタ表現というのは覚えていたが、どう代入するの? 構造体使ったこと無かったので新たに入れようとしたら、手が止まってしまう有様だか一歩一歩積み重ねて行けば何とかならないこともないかもと思うにはなった。行ける所迄をノルマとして取組んでみようかと思う。そうすると後は時間確保が一番の問題だ。

 さて、今日は、本論として現状をまとめておくことにする。
既に Cygwinの設定は書いたので省くが、Windowsの環境変数にも、さらに MAKE_MODE=unix, OUTPUT_CHARSET=sjis を追加している。一部ハンド修正をくわえさせてもらったが、Cygwinのコンソールでのprintenv実行時の出力現状は以下の通りだ。
$ printenv
JLESSCHARSET=japanese-sjis
LANG=ja_JP.Shift_JIS
TZ=JST-9
MAKE_MODE=unix
OUTPUT_CHARSET=sjis

MANPATH=/usr/local/man:/usr/share/man:/usr/man:
HOMEPATH=\Users\WATASHI-DESU
APPDATA=C:\Users\WATASHI-DESU\AppData\Roaming
HOSTNAME=NAISHO-DESU
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 13, GenuineIntel
WINDIR=C:\Windows
PUBLIC=C:\Users\Public
PROGRAMDATA=C:\ProgramData
USERDOMAIN=NAISHO-DESU
OS=Windows_NT
ALLUSERSPROFILE=C:\ProgramData
USER=WATASHI-DESU
APR_ICONV_PATH=C:\Program Files\Subversion\iconv
TEMP=/cygdrive/c/Users/WATASHI-DESU/AppData/Local/Temp
COMMONPROGRAMFILES=C:\Program Files\Common Files
SNMPCONFPATH=C:\var\nino\conf
QTJAVA=C:\Program Files\Java\jre1.6.0_07\lib\ext\QTJava.zip
USERNAME=WATASHI-DESU
PROCESSOR_LEVEL=6
PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/Perl/site/bin:/cygdrive/c/Perl/bin:/cyg
drive/d/PROGRA~1/JUSTSY~1/JSLIB32:/cygdrive/c/Program Files/Common Files/ArcSoft/Bin:/cygdrive/c/Win
dows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Program Files/Softex
/OmniPass:/cygdrive/c/Program Files/pcdNavi/bin:/cygdrive/c/Program Files/Common Files/Roxio Shared/
DLLShared/:/cygdrive/c/Program Files/Common Files/Roxio Shared/DLLShared/:/cygdrive/c/Program Files/
Common Files/Roxio Shared/9.0/DLLShared/:/cygdrive/c/Program Files/Common Files/Ulead Systems/MPEG:/
cygdrive/c/Program Files/Microsoft SQL Server/90/Tools/binn/:/cygdrive/c/Program Files/Fujitsu/Agent
/Core/bin:/cygdrive/c/Program Files/Fujitsu/sadata:/cygdrive/c/Program Files/GnuWin32/bin:/cygdrive/
c/Python25:/cygdrive/c/Program Files/Subversion/bin:/cygdrive/c/Program Files/QuickTime/QTSystem/:/c
ygdrive/d/MinGW/bin:/usr/bin:/cygdrive/c/Program Files/Java/jdk1.6.0_14/bin:/cygdrive/c/usr/bin:/cyg
drive/c/var/perl/bin
FP_NO_HOST_CHECK=NO
PWD=/cygdrive/k/DownloadFiles/dvd-vr-0.9.1/dvd-vr-0.9.1
SYSTEMDRIVE=C:
USERPROFILE=C:\Users\WATASHI-DESU
LOGONSERVER=\\NAISHO-DESU
PROCESSOR_ARCHITECTURE=x86
LOCALAPPDATA=C:\Users\WATASHI-DESU\AppData\Local
!C:=C:\Windows
SHLVL=1
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY
HOMEDRIVE=C:
!D:=D:\cygwin\bin
PROMPT=$P$G
COMSPEC=C:\Windows\system32\cmd.exe
SYSTEMROOT=C:\Windows
PRINTER=EPSON EP-801A
CVS_RSH=/bin/ssh
PROCESSOR_REVISION=0f0d
CLASSPATH=.;C:\Program Files\Java\jre1.6.0_07\lib\ext\QTJava.zip
PROGRAMFILES=C:\Program Files
NUMBER_OF_PROCESSORS=2
SESSIONNAME=Console
COMPUTERNAME=NAISHO-DESU
_=/usr/bin/printenv
TMP=/cygdrive/c/Users/WATASHI-DESU/AppData/Local/Temp
INFOPATH=/usr/local/info:/usr/share/info:/usr/info:
OLDPWD=/cygdrive/k/DownloadFiles/dvd-vr-0.9.1/dvd-vr-0.9.1
PS1=\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$
HOME=/home/WATASHI-DESU
TERM=cygwin


http://pc12.2ch.net/test/read.cgi/unix/1230683366/
拾読みなんだが、新版1.7系UTF-8で使っているツワモノがいる様だ。(現安定版:1.5.25)続きを読む
タグ:DVD-VR cygwin
posted by Mire at 13:35 | Comment(0) | C開発環境 | このブログの読者になる | 更新情報をチェックする

Cygwinに日本語対応が必要なの?

 make した dvd-vr が、Errorを吐く件を解決する為、Cygwinの国際化廻りを調べてみると、直接の原因と迄は言えないのかもしれないが、色々と手を入れることがある様に見える以下はやってみた内容の羅列記録である。

1. \cygwin\usr\share\locale\locale.alias のlocale 定義に誤りがあり次の行を追加


ja_JP.SJIS ja_JP.Shift_JIS
ja_JP.eucJP ja_JP.EUC-JP

情報元:
Cygwinで日本語環境
ロケールについてより

2. \cygwin\home\ユーザ\.inputrc はそのままだと、8ビット文字を通さないぞ、とのこと、36行以下の4つの#をはすず。


# Allow 8-bit input/output
set meta-flag on
set convert-meta off
set input-meta on
set output-meta on

情報元:
Cygwinで日本語環境
bashの設定について
Cygwinで日本語環境 では、これ以外にx環境での対応も記述、しかし当方ではx部分は存在ので処理していない。

3. \cygwin\home\ユーザ\.bash_profile の末尾に 環境変数 LANG 定義を追加


export LANG=ja_JP.Shift_JIS

4. \cygwin\etc\profile の末尾に 次の環境変数定義を追加


export LANG=ja_JP.SJIS
export TZ=JST-9
export JLESSCHARSET=japanese-sjis
情報元: uenox HomePage Cygwin 日本語化 bashの日本語化(環境変数の設定)

5. \cygwin\home\ユーザ\.bashrc の末尾に 次の環境変数4つを追加


# Japanese output
export LANG=ja_JP.SJIS
export TZ=JST-9
export JLESSCHARSET=japanese-sjis
alias ls='ls --show-control-chars'

以上、5つは結構定義が重複し蛇足もあると思うが、dvd-vrのmakeでの改善効果はない。
タグ:DVD-VR
posted by Mire at 02:35 | Comment(2) | C開発環境 | このブログの読者になる | 更新情報をチェックする

2009年07月02日

MinGW で Windowsに Zopeソース インストールを試すが...

 ちょいと、Zope.orgを覗くと、Zope2系は2.11.4にVersion upされているが、ソースのみの提供であった。Zopeでソースインストールが出来ればまあ、当方が必要とするものはほとんどコンパイル出来ると思ってもいいのではないかと思い、これを題材にMinGWでやってみることにした。MinGW利用で必要なことは環境変数PATHを入れて置くことである。これをしないと、当方の場合、CygwinへのPATH登録が災いして、Cygwin側で処理された結果、エラーを発生させてしまった。
k:\DLfiles\Zope\Zope-2.11.3-final>c:\Python24\python.exe setup.py build --force -c mingw32
running build
running build_py
creating build
creating build\lib.win32-2.4
creating build\lib.win32-2.4\ZConfig
creating build\lib.win32-2.4\ZConfig\tests
creating build\lib.win32-2.4\ZConfig\tests\zipsource
creating build\lib.win32-2.4\ZConfig\tests\zipsource\foo
copying ZConfig\tests\zipsource\foo\__init__.py -> build\lib.win32-2.4\ZConfig\tests\zipsource\foo
creating build\lib.win32-2.4\ZConfig\components
creating build\lib.win32-2.4\ZConfig\components\basic
creating build\lib.win32-2.4\ZConfig\components\basic\tests
copying ZConfig\components\basic\tests\test_mapping.py -> build\lib.win32-2.4\ZConfig\components\basic\tests
copying ZConfig\components\basic\tests\__init__.py -> build\lib.win32-2.4\ZConfig\components\basic\tests
creating build\lib.win32-2.4\zope
creating build\lib.win32-2.4\zope\i18n
creating build\lib.win32-2.4\zope\i18n\locales
creating build\lib.win32-2.4\zope\i18n\locales\tests
copying zope\i18n\locales\tests\test_docstrings.py -> build\lib.win32-2.4\zope\i18n\locales\tests
copying zope\i18n\locales\tests\test_fallbackcollator.py -> build\lib.win32-2.4\zope\i18n\locales\tests
copying zope\i18n\locales\tests\test_locales.py -> build\lib.win32-2.4\zope\i18n\locales\tests
copying zope\i18n\locales\tests\test_xmlfactory.py -> build\lib.win32-2.4\zope\i18n\locales\tests
copying zope\i18n\locales\tests\__init__.py -> build\lib.win32-2.4\zope\i18n\locales\tests
creating build\lib.win32-2.4\DateTime
copying DateTime\DateTime.py -> build\lib.win32-2.4\DateTime
copying DateTime\DateTimeZone.py -> build\lib.win32-2.4\DateTime
copying DateTime\interfaces.py -> build\lib.win32-2.4\DateTime
copying DateTime\pytz_support.py -> build\lib.win32-2.4\DateTime
copying DateTime\__init__.py -> build\lib.win32-2.4\DateTime
creating build\lib.win32-2.4\Products
creating build\lib.win32-2.4\Products\BTreeFolder2
creating build\lib.win32-2.4\Products\BTreeFolder2\tests

(中略)

copying Products\TemporaryFolder\TemporaryFolder.py -> build\lib.win32-2.4\Products\TemporaryFolder
copying Products\TemporaryFolder\__init__.py -> build\lib.win32-2.4\Products\TemporaryFolder
running build_ext
creating zope.proxy
copying zope/proxy\proxy.h -> zope.proxy
Traceback (most recent call last):
File "k:\DLfiles\Zope\Zope-2.11.3-final\setup.py", line 491, in ?
distclass = MyDistribution,
File "c:\Python24\lib\distutils\core.py", line 149, in setup
dist.run_commands()
File "c:\Python24\lib\distutils\dist.py", line 946, in run_commands
self.run_command(cmd)
File "c:\Python24\lib\distutils\dist.py", line 966, in run_command
cmd_obj.run()
File "k:\DLfiles\Zope\Zope-2.11.3-final\setup.py", line 255, in run
buildcmd.run(self)
File "c:\Python24\lib\distutils\command\build.py", line 112, in run
self.run_command(cmd_name)
File "c:\Python24\lib\distutils\cmd.py", line 333, in run_command
self.distribution.run_command(command)
File "c:\Python24\lib\distutils\dist.py", line 966, in run_command
cmd_obj.run()
File "k:\DLfiles\Zope\Zope-2.11.3-final\setup.py", line 278, in run
build_ext.run(self)
File "c:\Python24\lib\distutils\command\build_ext.py", line 253, in run
force=self.force)
File "c:\Python24\lib\distutils\ccompiler.py", line 1177, in new_compiler
return klass (None, dry_run, force)
File "c:\Python24\lib\distutils\cygwinccompiler.py", line 292, in __init__
CygwinCCompiler.__init__ (self, verbose, dry_run, force)
File "c:\Python24\lib\distutils\cygwinccompiler.py", line 83, in __init__
self.gcc_version, self.ld_version, self.dllwrap_version = \
File "c:\Python24\lib\distutils\cygwinccompiler.py", line 424, in get_versions
ld_version = StrictVersion(result.group(1))
File "c:\Python24\lib\distutils\version.py", line 40, in __init__
self.parse(vstring)
File "c:\Python24\lib\distutils\version.py", line 107, in parse
raise ValueError, "invalid version number '%s'" % vstring
ValueError: invalid version number '2.18.50.20080625'

 で、PATHを設定後に新たにコマンドプロンプトを開き、新しくファイルを解凍したもので再実行すると、「c:\Python24\python.exe setup.py build --force -c mingw32」は問題なく完了する。ただ、「python setup.py install --force --skip-build」では、installスクリプトで例外エラーが発生してしまった。原因は後日ゆっくり追ってみようと思うが、mingw 自体はちゃんと機能すると見てよいと思う。目出度し目出度しだ。
k:\DLfiles\Zope\Zope-2.11.3-final>c:\Python24\python.exe setup.py  install --force --skip-build
(中略)
copying K:\DLfiles\Zope\Zope-2.11.3-final\lib\python\ZTUtils\HISTORY.txt -> c:\Python24\lib\python\ZTUtils
running install
running install_scripts
Traceback (most recent call last):
File "setup.py", line 552, in ?
distclass=ZopeDistribution,
File "c:\Python24\lib\distutils\core.py", line 149, in setup
dist.run_commands()
File "c:\Python24\lib\distutils\dist.py", line 946, in run_commands
self.run_command(cmd)
File "c:\Python24\lib\distutils\dist.py", line 966, in run_command
cmd_obj.run()
File "setup.py", line 137, in run
install.run(self)
File "c:\Python24\lib\distutils\command\install.py", line 510, in run
self.run_command(cmd_name)
File "c:\Python24\lib\distutils\cmd.py", line 333, in run_command
self.distribution.run_command(command)
File "c:\Python24\lib\distutils\dist.py", line 966, in run_command
cmd_obj.run()
File "c:\Python24\lib\distutils\command\install_scripts.py", line 48, in run
self.outfiles = self.copy_tree(self.build_dir, self.install_dir)
File "c:\Python24\lib\distutils\cmd.py", line 389, in copy_tree
dry_run=self.dry_run)
File "c:\Python24\lib\distutils\dir_util.py", line 140, in copy_tree
if not dry_run and not os.path.isdir(src):
File "C:\Python24\lib\ntpath.py", line 271, in isdir
st = os.stat(path)
TypeError: coercing to Unicode: need string or buffer, NoneType found

posted by Mire at 23:32 | Comment(0) | C開発環境 | このブログの読者になる | 更新情報をチェックする
月額見放題1,000円開始キャンペーンバナー(画像ありver)
紺碧の艦隊 ルパン三世 GREAT CHASE クリックプロモーション
<< 2013年01月 >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
カテゴリ
タグクラウド
ファン
利用中のオープンソース
最近のコメント
最近の記事
過去ログ
QRコード
レガシーなアプリはいかが?
Dell 法人のお客様ページ
  • 【法人様向け】デル、お得なキャンペーン情報
  • 法人のお客様向け ストレージソリューション
  • 法人のお客様向け ネットワークソリューション
  • 【SOHO法人様向け】デル・オンライン広告限定ページ
  • デル-個人のお客様ページ
  • 【個人のお客様向け】デル・オンライン広告限定ページ
  • オンライン広告限定キャンペーンページ
  • ソフトウェア&周辺機器 パソコン工房
    ツートップインターネットショップ(twotop.co.jp) マウスコンピューター/G-Tune
  • ×

    この広告は1年以上新しい記事の投稿がないブログに表示されております。