Cygwin + MinGW + GCC 相談室 Part 8 (987レス)
上下前次1-新
622: デフォルトの名無しさん [sage] 2019/12/24(火) 00:05:26.55 ID:8h2rOUkn(1/2) AAS
> Cygwinはエミュレーションレイヤーを提供しており、つまりUnixのシステムコールを受け付けているだけ。
ただしい
? だから仕様としてUnixと同じ動作になる。
○ 仕様としてUnixと同じ動作になるように目指すべきだが、できてない
623(2): デフォルトの名無しさん [sage] 2019/12/24(火) 00:06:45.59 ID:8h2rOUkn(2/2) AAS
なんか文字化けする方法のバツを記録してるな。これでいいか?
× だから仕様としてUnixと同じ動作になる。
○ 仕様としてUnixと同じ動作になるように目指すべきだが、できてない
624: デフォルトの名無しさん [sage] 2019/12/24(火) 00:22:04.30 ID:6GYTbaHl(1/4) AAS
>>620620(2): デフォルトの名無しさん [sage] 2019/12/23(月) 23:43:56.19 ID:gENEPh5i(1) AAS
WindowsがーではなくCygwinの問題でしょ
WindowsはWindowsの仕様でやってる。それがなんであれ正しい仕様
Cygwinがエミュレート機能をすべて行ってる
問題があるならそれはCygwinの問題
WSLならその問題も解決してるだろうさ
なおWSLは理屈上はUnixの動作になるはず。
ただしbash等を見る限り既知の問題だから対策出来そうではあるが、
バイナリ互換なので現実的に無理だと思う。
(もちろんwindows専用bashを用意すればいいが、それだと既存のシェルスクリプトが動かなくなる。
といってもそれで問題が発生するような奴はWSLなんて使わずDockerだと思うが)
が、まあ、俺に関して言えば、
問題の詳細は判明し、特段問題ないから当面はCygwinを使う。
(すまんがNGに当たっているようなのでバラバラにして投稿する)
625: デフォルトの名無しさん [sage] 2019/12/24(火) 00:23:19.80 ID:6GYTbaHl(2/4) AAS
(すまんがNGに当たっているようなのでバラバラにして投稿する)
>>623
> ○ 仕様としてUnixと同じ動作になるように目指すべきだが、できてない
違う。そこを目指してない。
CygwinはUnixのシステムコールをcygwin1.dllが受け付けることにより、
GNU等が書き溜めた膨大なUnix向けCソースをそのまま動作させることを目標としている。
結果、ありとあらゆるUnixのツールがcygwin上では動くので、大成功している。
626: デフォルトの名無しさん [sage] 2019/12/24(火) 00:24:32.17 ID:6GYTbaHl(3/4) AAS
>>623続き
windowsのCMD。EXEのエミュレーションなんて必要ないし、目指してもいない。
本家でも読め。
そして認識も間違っている。CygwinはUnixと同じ動作になってる。つまり、「できてる」
627(3): デフォルトの名無しさん [sage] 2019/12/24(火) 00:29:23.48 ID:d/S5Qnsu(1) AAS
>>619619(1): デフォルトの名無しさん [sage] 2019/12/23(月) 23:39:27.27 ID:IO6RyZUn(6/7) AAS
>>618
こちらの状況は正しく伝わっており、君の言っていることも正しい。
こちらも615を書いた後、遠い昔にシンボリックリンク周りでトラブった記憶があり、
あれはなんだったかな?と思っていたところだった。
つまりbashで上手く誤魔化していてくれているわけだ。
ではtcshは?と確認したが、こちらもsymlinks変数で誤魔化し方を調整出来るようになっている。
外部リンク[html]:linuxjm.osdn.jp
結果、Cygwinとしては仕様通り、UNIXは糞仕様(≒仕様バグ)だな。
突っ込む必要はないと思うが、
> (引数の..が親ディレクトリの意味になるかはコマンドに依存するから、シェルが勝手に置き換えられない)
これはよく分からない。
bashがコマンドに引数を渡すときにあらかじめシンボリックリンク周りを解決していたら、どういう問題が発生する?
というかtcshだとsymlinks=expandに設定したらそうなるらしい。
今回で言えば、
MyMachine@MyName /cygdrive/d/dev/debug
$ cp ../some_file .
を cp /cygdrive/d/dev/somefile /cygdrive/d/dev/debug として実行すれば問題ないはず。
(.を展開する必要はないかもだが)
既存シェルスクリプトの互換性が無くなるだけなら仕様バグでした、残念でした、でしかなく、
後発のwindowsでは修正されているということになる。
シンボリックリンクを辿って、その上の「論理的ではない、物理的上位ディレクトリ」を辿る必要がある使い方なんて無いはず。
なお上記man of tcshのsymlinksの最後の
> > cd ".."; echo $cwd
> /tmp/from
> > /bin/echo ..
> /tmp/to ←これがよく分からん、/tmpではなくて?あるいはコマンドが .. ではなく /bin/echo . なら納得だが
> > /bin/echo ".."
> ..
分かれば出来れば解説よろしく。
・tcshのmanは間違っているだけだと思う。実際試したら想定通り/tmpになった。
・シェルが勝手に置き換えるべきではないというのは、単にgrep ..とかの動作が今までと変わって直感的でなくなるあたりの問題。.や..の置き換えの仕様とエスケープやクォートの仕様を十分理解すればまあそんなに困らないとは感じる。
628: デフォルトの名無しさん [sage] 2019/12/24(火) 00:49:31.91 ID:6GYTbaHl(4/4) AAS
>>627
おおサンクス、手元にこなれた環境がないので助かる。
しかし今更このレベルの誤字ってあるかね?
まあtcshなんて今時誰も使ってないが、他のマニュアルもそうなってるし。
外部リンク:linux.die.net
とはいえ実行結果がそうなのならそれが一番信憑性があるが。
Unixは今更直せないで行くのだろうけど、WSLの際にMS内部ではどうするか検討してるだろうね。
WSL推しの人はどうぞ動作報告よろしく。
629: デフォルトの名無しさん [] 2019/12/24(火) 15:52:35.51 ID:IBUEMR4t(1) AAS
WSLの話題はこちらへどうぞ 2chスレ:linux
cygwinの話題は引き続きこのスレでどうぞ
630(1): デフォルトの名無しさん [sage] 2020/01/05(日) 00:06:31.37 ID:RxmL5T69(1) AAS
>>627
ばーーーか
631: 627 [sage] 2020/02/21(金) 14:13:26.80 ID:3bMJAyBr(1) AAS
>>630
ごめんなさい。
632: デフォルトの名無しさん [sage] 2020/03/07(土) 09:24:50.59 ID:6t68C04E(1) AAS
このところ、MSYS2 の pacman を実行するとエラーが出るな
サーバー不調なん?それとも pacman がバグった?
一度アンインストールして最初から入れなおしてもダメやった・・・
633: デフォルトの名無しさん [sage] 2020/03/11(水) 21:27:12.49 ID:o+x7iIJI(1) AAS
いつの間にか直ってた
やっぱり、サーバーが不調なだけだったのか・・・
634: デフォルトの名無しさん [] 2020/03/12(木) 11:58:54.03 ID:MzPDqAwN(1) AAS
自分の回線を疑う気は皆無か
635: デフォルトの名無しさん [sage] 2020/03/12(木) 19:21:51.59 ID:TmXPZpmc(1) AAS
自分の回線だけだったら書き込まないが・・・
636: デフォルトの名無しさん [] 2020/03/25(水) 09:30:19.85 ID:C+0WfFNh0(1) AAS
回線があまりに遅いと向こうからお断りしてくるのでは
637: デフォルトの名無しさん [sage] 2020/03/28(土) 13:48:39.21 ID:Mtf58BEo(1) AAS
サーバー不調なだけだぞ、公式でも話題になってた
外部リンク:github.com
638: デフォルトの名無しさん [sage] 2020/04/02(木) 18:00:43.50 ID:1pp0Yvcl(1) AAS
今更
pacmanでfork errorでまくったので見切った。
wslでLinux入れてmingw64クロスコンパイルしている。
wslのコンソールでwindowsバイナリもそのまま動くし良い。
cygwinやmsysみたいにcygwin, msysバイナリとwindowsバイナリが混在することの混乱もないしさらに良い
639: デフォルトの名無しさん [] 2020/04/03(金) 04:00:25.48 ID:FV+QUjkb(1) AAS
GCC 9.3を早く出してくれ
640: デフォルトの名無しさん [sage] 2020/04/03(金) 09:51:54.29 ID:yEeayoKI(1) AAS
pacmanでfork errorの一番の解決策は
ちゃんと出てきたメッセージを読むこと
これに尽きる
638がそうなのかは知らんが
641: デフォルトの名無しさん [sage] 2020/04/05(日) 22:38:22.52 ID:bwZ5xk1F(1) AAS
WSLよりMSYS2の方が更新早い?
642: デフォルトの名無しさん [sage] 2020/04/06(月) 09:55:13.35 ID:m+LKHOnj(1) AAS
WSLで使うディストリビューション(ArchとかUbuntuとか)によるでしょう
共通して言えるのはLinuxではセキュリティ修正の取り込みは早い
643: デフォルトの名無しさん [sage] 2020/04/06(月) 20:27:42.43 ID:O5iO/eDc(1) AAS
WSL は色々なディストリビューションが選べるんですね
644: デフォルトの名無しさん [sage] 2020/04/19(日) 17:57:31.18 ID:UEW9MHEw(1/2) AAS
インストールしようと思ったら、このサイト3年近く更新が止まってる・・・
外部リンク:xhmikosr.1f0.de
今入れるならどうしたらいい?
645(2): デフォルトの名無しさん [sage] 2020/04/19(日) 22:00:29.69 ID:+AizyWB9(1) AAS
WSLがある以上、MSYSのメンテはもう廃れるだろうな。
意味ねーし。
cygwinはXのためだけに存在する
646: デフォルトの名無しさん [sage] 2020/04/19(日) 23:35:15.05 ID:UEW9MHEw(2/2) AAS
>>645
えっ、そんなのあるの?
上下前次1-新書関写板覧索設栞歴
あと 341 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s