モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

apt-cygがアップデートされxz形式に対応されてた

cygwinからdigが出来なかったので、apt-cygでdigを入れようとしました。
ちなみにcygwinでdigはbind-utilsに入っているとのこと。

> apt-cyg install bind-utils

するとbind-utilsの圧縮ファイル形式が「〜.tar.xz」と「bz2」形式ではなく「xz」形式となっており、そのためapt-cygではbunzip2で解凍出来ずエラーになり、インストール出来なくなっていました。


それでtwitterで色々と聞いてると、長らくメンテナンスが止まっていたapt-cygがつい最近メンテ再開されたとのこと。
4年近く放置されていたのが、2014/2/17からアップデートがいくつも掛かっていました。
んで、どうやらxz形式や、以前はまったx86とx86_64の問題にも対応しているようでした。


なので早速、apt-cyg自体をアップデートしてみました。
apt-cygのページ見ると基本svnで持ってくるように書いてありましたが、もうsvn使ってなくてしかも apt-cyg install subversion すると、同じくxz形式の罠ではまるので wget で持ってきました。

> wget --no-check-certificate https://apt-cyg.googlecode.com/svn/trunk/apt-cyg

これを /bin/apt-cyg か、gnupack使っているなら /app/script/apt-cyg に置き換えればOKです。


これで無事、xz 形式になっているパッケージも、apt-cyg install で入れることが出来るようになりました!


…が、そうやって入れたdigはなぜか動かず。
cygwin bashからやるとなにも反応無く、コマンドプロンプトから試すと「プロシージャエントリポイントarc4randomがダイナミックリンクライブラリ C:\gnupack\app\cygwin\cygwin\bin\dig.exe から見つかりませんでした。」というエラーとなっていました。
ちゃんとx86で入っているようだし、DLL HELLにはまっている感じでもないようなのですが…
よくわかりませんので引き続き調査したいと思います。


(追記)

調査したところ、Win8.1ではちょい前のcygwinがうまく動かないという問題が出ているようです。


Win8.1でgnupack11 の emacscygwinマウントに失敗 ハードなソフトの話/ウェブリブログ
http://hardsoft.at.webry.info/201401/article_2.html


なのですがgnupackのcygwinは更新されていないため簡単には対処できず、一旦gnupackのcygwincygwin.oldにしておいて、公式の最新のcygwinを持ってきて入れなおしました。
入れなおすと、gnupack用の環境になってる部分に合わせるため色々設定が必要になりました。
このあたり全て解決できたら後でまとめようと思いますが、とりあえずは /etc/fstab と /etc/passwd をコピーすればだいたいクリアされると思います。



(関連)

cygwinで32bit dllと64bit dllが混ざって動かなくなった件 - モーグルとカバとパウダーの日記
http://d.hatena.ne.jp/stealthinu/20130829/p1