Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)


スレッド

└◇1082:
Win95でのconnect() [koba] 04/11 01:41

 └◇1091:便乗 Re:Win95でのconnect() [matsu] 04/14
  └◇1092:Re:便乗 Re:Win95でのconnect() [な] 04/14
   └◇1093:Re[2]:便乗 Re:Win95でのconnect() [matsu] 04/14
    └◇1094:Re[3]:便乗 Re:Win95でのconnect() [な] 04/14
     ├◇1095:Re[4]:便乗 Re:Win95でのconnect() [な] 04/14
     └◇1097:Re[4]:便乗 Re:Win95でのconnect() [matsu] 04/15 <


1082● Win95でのconnect()[ koba ] 2003 04/11 01:41
Win95環境でソケットのconnect()を呼ぶと直ちに、
errno=1 "Operation not permitted"のエラーになります。
これは、何でしょうか?
XP(Cygwin)でもUNIX(ネイティブ)でもOKのCのソースをmakeしています。
スレッド一覧


1091● 便乗 Re:Win95でのconnect()[ matsu ] 2003 04/14 13:55
理由は同じだと思いますが、Win95で、最近のCygwinに替えた所、
fetchmail
w3m
cvs
等が、全て使えなくなりました。fetchmailは
"Operation not permitted"
を返してきます。

昨年の、12月までの環境では、きちんと動いてました。
何方か、理由をご存知ではないでしょうか?
スレッド一覧


1092● Re:便乗 Re:Win95でのconnect()[ な ] 2003 04/14 15:38
手元にWin95のマシンがなかったので確認できなかったのですが、
今日たまたまWin95の環境で確認できました。

お二方とも1.3.22-1をお使いではないでしょうか。
そうであれば、1.3.20にダウングレードすれば動作すると思います。
# 少なくとも、わたしの手元ではそれで回避しています。

他の対処としては、
a) Win98,Me などにアップグレードする。
少なくともWin98では1.3.22-1が動いています。
もちろん、可能ならばNT系へのアップグレードを強くお勧めします。
b) Winsock2を入れてみる。
これについては根拠はありませんが、Win95と98以降との最大の差異なので。

などが考えられます。
スレッド一覧


1093● Re[2]:便乗 Re:Win95でのconnect()[ matsu ] 2003 04/14 18:36
[な]さん、有難う御座います。

仰る通り、Cygwin 1.3.22-1 です。

1. Cygwin Version
1.3.20に戻し方が判らなかったので、1.3.21にして
みましたが、tcsh,bashも動かなくなってしまいました。
私には、荷が重いようです。

2. Windows Version up
会社の方針で、ライセンスがありません。これも不可。

3. Winsock2
これは、まだ試してません。
もし、効果が無いとき、元に戻せるのでしょうか?

ところで、この問題は、Cygwin の開発者の方々はご存知なのでしょうか?

もし、ご存知でしたら、解決されるのを待つのも手かと?
今は思ってます。
スレッド一覧


1094● Re[3]:便乗 Re:Win95でのconnect()[ な ] 2003 04/14 19:07
まず、1.3.21はダメです。
Win9X系で全滅だったので、その後すぐに1.3.22が出ました。
# 結局のところ、Win95ではいまだにダメなわけですが。

原因は cygwin-1.3.22-1/winsup/cygwin/autoload.cc:278 の
>> int res = wsastartup ((2<<8) | 2, &wsadata);
という行です。ここで "(2<<8) | 2" とされているため、
winsock2でないWin95環境ではエラーとなり、ネットワーク周りが
使用できなくなっている模様。

そのため、Win95からアップグレードできないのなら、
1.3.20-1を入れるか、winsock2を入れるしかない、ということになるかと。

1.3.20-1のパッケージはGoogleなどで検索すれば見つかると思います。
ローカルに保存したら、cygwinのsetup.exeで"Install from Local Directory"を
選び、パッケージを保存したディレクトリを指定してやれば、選択肢に出てくる
はずです。

winsock2はすでに古い情報が多いのですが、
http://homepage1.nifty.com/yito/namazu/gbook/20020116.0032.html
http://www-online.kek.jp/~keibun/fujiih3/network/win95.htm
http://www.nn.iij4u.or.jp/~showtake/win95.htm
あたりを参照し、リスクを理解した上でどうぞ。
# ちなみにわたしの場合は該当マシンが業務アプリの検証用にも使用するため、
# winsock2へのアップグレードは行いません。

この問題をCygwinの開発陣が把握しているかどうかは、
開発メーリングリストを見ればわかると思いますが、
わたしはここしばらく見ていませんのでわかりません。
スレッド一覧


1095● Re[4]:便乗 Re:Win95でのconnect()[ な ] 2003 04/14 21:23
すみません。これ↓は嘘でした。1.3.19からこのコードですので。

> 原因は cygwin-1.3.22-1/winsup/cygwin/autoload.cc:278 の
> >> int res = wsastartup ((2<<8) | 2, &wsadata);
> という行です。ここで "(2<<8) | 2" とされているため、
> winsock2でないWin95環境ではエラーとなり、ネットワーク周りが
> 使用できなくなっている模様。
スレッド一覧


1097● Re[4]:便乗 Re:Win95でのconnect()[ matsu ] 2003 04/15 08:02
[な]さん、ご丁寧に有難う御座いました。

winsock2を、インストールする事で、問題は解決しました。

多謝
スレッド一覧

早田のホームページへ
CGIROOM