[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/12 05:38 / Filesize : 230 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Cygwin + MinGW + GCC 相談室 Part 8



1 名前:デフォルトの名無しさん [2014/09/23(火) 00:20:11.40 ID:G97CLCj1.net]
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。

過去スレ:
Cygwin + MinGW + GCC 相談室 Part 7
peace.2ch.net/test/read.cgi/tech/1357019230/
Cygwin + MinGW + GCC 相談室 Part 6
toro.2ch.net/test/read.cgi/tech/1304609116/
Cygwin + MinGW + GCC 相談室 Part 5
hibari.2ch.net/test/read.cgi/tech/1269400706/
Cygwin + MinGW + GCC 相談室 Part 4
pc12.2ch.net/test/read.cgi/tech/1221233882/
cygwin + mingwn + gcc 相談室 Part3
pc11.2ch.net/test/read.cgi/tech/1177944767/
cygwin + mingwn + gcc 相談室 Part2
pc11.2ch.net/test/read.cgi/tech/1126103347/
cygwin + mingwn + gcc 相談室
pc8.2ch.net/test/read.cgi/tech/1058134693/

関連サイト:
Cygwin www.cygwin.com/
MinGW www.mingw.org/

関連スレッド:
GCCについて part10
toro.2ch.net/test/read.cgi/tech/1315026784/

552 名前:デフォルトの名無しさん mailto:sage [2019/08/21(水) 23:34:12.77 ID:L4bPYRCx.net]
dllの読み込みに時間かかってるってことですか
なるほど
ということはMinGWでコンパイルしたバイナリ全般に現れる問題っぽいですね

553 名前:デフォルトの名無しさん mailto:sage [2019/08/22(木) 04:38:34.97 ID:Rc8J28Ob.net]
コマンドプロンプトで実行するようなプログラムは
Windowsネイティブアプリにしろよw

554 名前:デフォルトの名無しさん mailto:sage [2019/08/22(木) 05:37:28.68 ID:rzNCVH2V.net]
MinGWで作ったら余程変態技を使わない限りWindowsネイティブアプリ

555 名前:デフォルトの名無しさん mailto:sage [2019/08/22(木) 06:10:29.02 ID:dqAPG5D5.net]
>>553
最初はLinuxで開発してて、それからWindows用に移植したんですよ
で、MinGWが手軽だったからMinGW使ってたんだけど

556 名前:デフォルトの名無しさん [2019/08/22(木) 10:15:45.06 ID:xQsiKIbM.net]
そんな用途には tdmgcc64 おすすめ

557 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 03:35:27.20 ID:jZ19Qjup.net]
ググっても一件しか出なかった
gccなのはわかる

558 名前:デフォルトの名無しさん [2019/08/23(金) 15:09:01.75 ID:Zx6EO+xk.net]
これやろ
https://ja.wikipedia.org/wiki/TDM-GCC
tdm-gcc.tdragon.net/download

559 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 18:17:23.56 ID:jZ19Qjup.net]
>>558
おお、ありがとう
ダウンロードしてみる

560 名前:デフォルトの名無しさん [2019/08/23(金) 18:24:15.33 ID:aZS2aOxa.net]
今はこっちが良くね
https://text.baldanders.info/remark/2018/03/mingw-w64/



561 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 06:55:34.51 ID:Glqz8i+r.net]
TDM-GCCでビルドしたら遅いの無くなったかもしれない(*´Д`)!!!
>>556
>>558
もう少し様子見るけど、まじでありがとう

>>560
これはMinGWとは違うの?

562 名前:デフォルトの名無しさん [2019/08/24(土) 09:36:31.35 ID:u2q8uNB0.net]
staticになってるだけというオチだったらわろす

563 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 14:59:08.43 ID:H4K4vAej.net]
ただ単に -static -O3 -mtune=skylake を指定していないだけ
じゃねえだろうな?

564 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 17:29:38.98 ID:Glqz8i+r.net]
staticオプションは特に指定しませんが……
dllの読み込みが原因だとしたらstaticにすれば解決という話ですか
そういう発想はなかった

>>563
--mtune=skylakeってなんですか?

565 名前:デフォルトの名無しさん [2019/08/24(土) 17:48:35.57 ID:u2q8uNB0.net]
DLLよりstaticが速いとか都市伝説

566 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 16:54:37.16 ID:z6AAmiat.net]
>>564
-O3はコードの最適化を3レベル(あるいはタイプ3)で行う
実際に何を行っているかはコンパイランの説明を読まないと分からない
-mtune=skylakeはコードをIntel CPUのSkyLakeアーキテクチャで最適な形にする
どちらも記述したコードを実行形式にするときに最適化を行うオプションなので、
非常に大きなコードを書いた際や似たような処理を繰り返すコードを書いている際に
指定すると早くなる事もある(ライブラリに含まれるコードは最適化されない)

>>565
都市伝説ってこともない

関数A、B、C、Dが含まれるライブラリlibhogeが存在する場合、自分のプログラムで
関数BとDだけを使っていると、ダイナミックリンクの場合自分のプログラムの実行
コードに加えてすべての関数が含まれるlibhoge.dll全体を読み込む必要がある
スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが
早くなる可能性は高くなる

ただし、実際問題としてはdllを一回読み込めばキャッシュからなくならない限り読み込む
必要がない+Windowsのプログラミングで使用するライブラリで基本的なものは通常
システムを起動した時点でキャッシュされていることに加えて、Windowsでプログラムを
動かすために必要な関数郡はかなりの量になる事が多いのでスタティックにリンクすると
すでにキャッシュされている関数郡を使わずに、必要な関数郡を含んだ大きなコードを
読み込む必要があるのでスタティックリンクの方が起動が遅くなるって本末転倒な事態が
発生することもある

MinGWの場合にはWindows一般では使わないライブラリを使用するので1回目の
起動時には必要なdllを読み込むよりは、必要な関数のみをリンクしたスタティックな
状態の方が早い場合があるかもってこと

567 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 19:02:38.36 ID:7s5pz20M.net]
もっと短く

568 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 23:51:01.48 ID:V1f8d4H1.net]
>>566
ということは--static -O3 -mtune=skylakeでビルドすれば起動が早くなるかもということですか
時間があるときに試したいと思いますm(_ _)m

569 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 01:28:47.93 ID:K2zp8I6+.net]
やっぱり名前解決の問題が大きいんすよ
ライブラリの読み込みだけでは説明できない

570 名前:デフォルトの名無しさん [2019/08/26(月) 14:11:24.03 ID:T0vtMl8v.net]
>スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが

これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな



571 名前:デフォルトの名無しさん [2019/08/26(月) 14:11:24.09 ID:T0vtMl8v.net]
>スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが

これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな

572 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 17:43:39.53 ID:eYWa871J.net]
dll読み込みってそんなに重いかな?
なんか別のところで時間がかかっていそうな感じ。

573 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 21:44:29.54 ID:CEMf0Y7L.net]
>>570-571
MinGWの場合はそうかな。確かMinGWでは--gc-sectionsが効かなかったかと。
LTOで未使用関数が除去されるかもしれないけどバグが多いので試してない。

574 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 05:30:30.81 ID:FSIINwco.net]
>>568
でビルドしてみました
様子見します
-O3は、前にビルドしたときにプログラムがうまく動作しないことがあったんですよね
-O0にすると正常に動作したんですけど

575 名前:デフォルトの名無しさん [2019/08/27(火) 09:41:49.02 ID:NZJyfwBK.net]
-O3に完璧を求める方が可笑しい

576 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 11:08:45.95 ID:NDEdv6OD.net]
そこで-Ofastですよ

577 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 12:32:02.21 ID:j4wzaSFP.net]
-O3と-O0で挙動が違うのは、不定の値を使っているとか、
未規定の動作に依存しているとか、そういう系だぞ

まれにコンパイラのバグということもあるが大抵てめーが悪い

578 名前:デフォルトの名無しさん [2019/08/28(水) 17:10:08.53 ID:w9RtsrXP.net]
VCで造られたdllをmingwのgccで使いたいです
hoge.dll と hoge.lib は有るのですが
libhoge.a がありません
あと hoge.c とかのソースファイルもありません
hoge.def は hoge.dll から作れるのですが
hoge.lib から libhoge.a を作るのはどうすればよかったか思い出せません

579 名前:デフォルトの名無しさん [2019/08/28(水) 17:25:07.66 ID:iAy2zRVx.net]
https://stackoverflow.com/questions/8683046/compatibility-of-dll-a-lib-def-between-visualstudio-and-gcc

dlltool.exe -m i386:x86-64 -d libhoge.def -D hoge.dll -l libhoge.a
dlltool.exe -m i386 -d libhoge.def -D hoge.dll -l libhoge.a

しらんけど

580 名前:デフォルトの名無しさん mailto:sage [2019/08/28(水) 17:45:16.06 ID:4qorfKL6.net]
実際parallelstlをコンパイルするのはVCの方が楽だしな
これを.aに変換したいと思っていたのでありがたいです



581 名前:デフォルトの名無しさん mailto:sage [2019/09/03(火) 16:24:26.27 ID:fy59PR5b.net]
9.2.0 Rev2 でPCHのエラーが出なくなった。

582 名前:デフォルトの名無しさん [2019/09/13(金) 12:46:20.65 ID:wKEqF87n.net]
本物のWInネイティブアプリの起動はもっと速いのかもしれません。
MinGW+MSYS2がCygwinより速い理由が釈然としませんが、
forkがCygwinのものまんまよりは多少軽量だったりするんだろうか
https://twitter.com/nullpo_head/status/905032098506915840
(deleted an unsolicited ad)

583 名前:デフォルトの名無しさん [2019/09/13(金) 12:48:07.35 ID:wKEqF87n.net]
ビルド環境のまとめ
i.loveruby.net/ja/rhg/cd/buildenv.png
i.loveruby.net/ja/rhg/cd/win.html

584 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 13:01:11.82 ID:hxTRiT39.net]
mingwはその本物のネイティブとちゃうか

585 名前:デフォルトの名無しさん [2019/09/13(金) 15:13:51.93 ID:ud7Tmahn.net]
cygwin の fork = native じゃなくて emu
mingw の fork = あるんか?

586 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 16:40:00.05 ID:08rV0d8/.net]
MinGW+MSYS2がCygwinより速い理由は
Cygwinはたとえ遅くなろうとも完璧なエミュレートを目指してるのに対して
MinGW+MSYS2は目指してないから

587 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 18:56:41.57 ID:2jKM3FP9.net]
MSYS2は、Windowsネイティブアプリを作るための環境です。
Windowsネイティブアプリを作りましょう。

588 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 19:47:41.41 ID:+NnovRbX.net]
>>586
どういうことなの…

589 名前:デフォルトの名無しさん [2019/09/14(土) 10:05:32.62 ID:NwEptffo.net]
fork の歴史 (windows の fork 含む)
https://www.eelsgo.com/cs-CZ/article/fork%20windows
https://support.microsoft.com/ja-jp/help/190351/how-to-spawn-console-processes-with-redirected-standard-handles

590 名前:デフォルトの名無しさん [2019/09/14(土) 10:32:34.60 ID:NwEptffo.net]
なぜ今 fork が熱いのか
https://mao.5ch.net/test/read.cgi/linux/1560665525/



591 名前:デフォルトの名無しさん [2019/09/14(土) 11:49:59.95 ID:mIZ3m5oP.net]
www.kobore.net/diary_techno/?date=20180221
www.kobore.net/diary_techno/?date=0214
https://books.google.co.jp/books?id=NdmjDwAAQBAJ&pg=PT819&dq=NTDLL+RtlCloneUserProcess

592 名前:デフォルトの名無しさん [2019/09/15(日) 06:58:43.73 ID:zbVYZgVB.net]
>>589
むりぽ
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/afdf1b68-1f3e-47f5-94cf-51e397afe073/cygwin-fork-and-rtlcloneuserprocess?forum=windowsgeneraldevelopmentissues

593 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 07:41:31.63 ID:WxowMW3Q.net]
GMPって真面目にソースtarからビルドするしかないの? ビルド済みのバイナリですぐ使えるのがあれば欲しいんだけどcygwinのインストーラでチェック入れてもダメで、なんじゃこりゃってなってるんだけど。

594 名前:デフォルトの名無しさん [2019/10/02(水) 11:20:07.41 ID:55+aQRnY.net]
https://stackoverflow.com/questions/19192963/are-there-any-recent-gmp-windows-binary-distributions
7shi.hateblo.jp/entry/2012/05/07/034105
https://cs.nyu.edu/~exact/core/gmp/index.html

595 名前:デフォルトの名無しさん [2019/10/02(水) 11:46:15.82 ID:55+aQRnY.net]
4.1.2 は解決

596 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 12:47:35.09 ID:pQm6Lk8A.net]
>>594
どうでもいいことだが Stack Overflow のURLは削れる。

build - Are there any recent GMP Windows binary distributions? - Stack Overflow
https://stackoverflow.com/questions/19192963

597 名前:デフォルトの名無しさん [2019/10/02(水) 12:53:13.99 ID:55+aQRnY.net]
どうでもいいことだが thx

https://stackoverflow.com/questions/19192963/are-there-any-recent-gmp-windows-binary-distributions

build - Are there any recent GMP Windows binary distributions? - Stack Overflow
https://stackoverflow.com/questions/19192963/
では前者の方がバイト数は少ない

598 名前: mailto:sage [2019/10/19(Sat) 01:49:14 ID:US3VZtYL.net]
msys2のpacmanでfdupesがないんですけど、どっからか手に入りますか?

599 名前:593 mailto:sage [2019/10/19(土) 15:58:06.55 ID:US3VZtYL.net]
arch linuxので解決

600 名前:デフォルトの名無しさん [2019/11/10(日) 23:46:15.76 ID:vZIjc/J6.net]
長期間更新がありませんが何か支障があるのでしょうか・・



601 名前:デフォルトの名無しさん [2019/11/14(木) 16:18:35.97 ID:m0xrmwtq.net]
>>600
あるよ

602 名前:デフォルトの名無しさん [2019/11/15(金) 14:11:12.27 ID:L6hfSVpN.net]
>>600
ないない

603 名前:デフォルトの名無しさん mailto:sage [2019/11/15(金) 20:34:54.04 ID:cedqxdDY.net]
ないあるよ

604 名前:デフォルトの名無しさん mailto:sage [2019/11/15(金) 23:50:32.38 ID:z3wd5lUW.net]
WSL使ったら?

605 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 02:13:46 ID:IO6RyZUn.net]
Cygwin って /cygdrive上ではディレクトリまたげないんだけど、これってそんなもんだったっけ?


かなり久しぶりにCygwinを使おうとしているのだが困っている。
ディレクトリ構成 D:\DEV\debug で
下のディレクトリから上のディレクトリのファイルをコピーする、以下のコマンドが通らない。

MyMachine@MyName /cygdrive/d/dev/debug
$ cp ../some_file .

ディレクトリまたげないんだけど、こんなんだったっけ?
なお / をバックスラッシュにしても駄目。
なお/home以下のディレクトリならこれらのコマンドは通る。あまり試していないが、おそらく、/cygdrive以下だけ駄目。

何か設定がおかしい?それともこんなものだったっけ?
なお今のところディレクトリをまたげないだけでカレントについてはコマンドは通る。

606 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 02:30:38 ID:IO6RyZUn.net]
>>605
すまぬ自己解決した。
debugがシンボリックリンクだったorz

607 名前:デフォルトの名無しさん [2019/12/23(月) 12:40:57.34 ID:sEnpgkKc.net]
もちつけ
他人のせいにする前に自分を疑え

608 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 12:45:36.48 ID:CGg4xw4r.net]
自分を疑う自分を疑え

609 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 13:59:53.49 ID:IO6RyZUn.net]
>>607
それはそうだが普段シンボリックリンクである事なんて意識しないからな。
いまだにcygwinではNTFSのシンボリックリンクを辿れないのはしょぼいと思うが。
なお32bit版。bashはversion4.4.12(3)、cygwin1.dll はversion 3001.2.0.0
(昨日の時点でsetup.exeを使いBestに更新)

64bit版なら行けるのかも?誰か動作報告よろしく。

610 名前:デフォルトの名無しさん [2019/12/23(月) 14:06:09.78 ID:sEnpgkKc.net]
NTFSのリンクはシンボリックリンクではないでしょ



611 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 14:48:39.41 ID:Losi+wwQ.net]
シンボリックリンクあるよ、ジャンクションじゃないやつ

612 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 15:26:21.18 ID:IO6RyZUn.net]
>>610
シンボリックリンクはSever2008/Vistaから導入された。もう10年以上前になる。
https://www.atmarkit.co.jp/fwin2k/win2ktips/988symlink/symlink.html
つかお前、このレベルの話を知らないでその言い草は完全に老害化してるぞ。

613 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 15:39:18.43 ID:Losi+wwQ.net]
mklink /? で普通に表示されるのに
それすらやったことないのか?

614 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 15:40:22.34 ID:Losi+wwQ.net]
共有フォルダ作るときなんか
シンボリックリンクとジャンクションの違いを知らないと困るだろうが

615 名前:デフォルトの名無しさん [2019/12/23(月) 15:41:13.85 ID:sEnpgkKc.net]
みなさん思いのほか親切ですね

616 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 15:47:56.41 ID:nbY+qllN.net]
>>609
シンボリックリンクもジャンクションも辿れるし、環境変数の設定(CYGWIN=winsymlinks:nativestrict)によってはln -sやtarの展開でNTFSのシンボリックリンクができる
NTFS側でD:とかをリンク先にしても、勝手に/cygdrive/d以下に読み替えてくれる
cygdrive以下だけ動かないなら、/etc/fstabの設定がおかしいとか?

617 名前:デフォルトの名無しさん [2019/12/23(月) 15:48:24.03 ID:sEnpgkKc.net]
だけどシンボリックリンクωを名乗ってるだけでシンボリックリンクではないですねこれ

618 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 15:52:08.05 ID:Losi+wwQ.net]
難癖つけたいんなら、具体的に問題を指摘しろや

619 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 15:54:08.35 ID:qAO2lZtX.net]
Windowsには
1.ハードリンク
2.ジャンクション
3.あほなシンボリックリンク
4.だるいシンボリックリンク
がある

620 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 16:12:25.30 ID:IO6RyZUn.net]
>>616
すまんが、/cygdrive以下だけ動かない、というのは間違いだった。
動作としては、シンボリックリンクを辿ることは出来るが、戻れない、というものだ。

本来はシンボリックリンクはカレントと共に使用される。
つまりD:/dev/debugがシンボリックリンクでそこにD:/devからcdして入ったら、 cd .. だとD:/devに戻って来れないといけない。
(シンボリックリンク先に入った時の元に戻る。他から入ったらそこに当然戻る)
これが出来ておらず、debugしかないディレクトリ(というものを作って渡しているのだと思う)に戻ってしまう。
だから下から上が参照出来ない。上から下は参照出来るし、
下から上でも自分に戻ってくるのなら参照出来る。(言葉だと分かりにくいが要するに以下が通る)
MyMachine@MyName /cygdrive/d/dev/debug
$ less ../debug/some_file
下から上でもファイル名の補完は出来るのでbash自体は動作してる。
なお cd ../.. とシンボリックリンクを跨いで2つ上がることは可能。
cdってbashのコマンドだっけ?だとして、やはりbash自体は動作してる。
bashから各アプリに渡す時に失敗しているか、cygwin1.dll自体が対応してないか、だと思う。

バグ報告してもいいけど、それ以前に64bit環境の動作を確かめてからでないとウザがられる。
というわけで普段から64bit環境で使っている人がいたら試してみてくれ。


>>617
いや完全にシンボリックリンクだよ。
ln -s と使い勝手は同じ。



621 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 16:26:38.22 ID:CGg4xw4r.net]
cygwinはもう永眠させてやれ
WSLに乗っ取られた

622 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 18:46:28.73 ID:wtBUbgEZ.net]
>>617
黙れ!

623 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 22:27:33.69 ID:nMe23UdH.net]
>>620
何をしようとしているか大体分かった。
・/cygdrive/d/dev/debug はシンボリックリンクで /cygdrive/d/test/debug を指すと仮定
・/cygdrive/d/dev/some_file があると仮定
このとき
・まずcd /cygdrive/d/dev/debugする
・次にcp ../some_file .するとファイルが無いと言われる
ということだと思う。もしそうならそれがUNIX系では普通。LinuxやMacでもそうなる。

これは、cdした時点で既にカレントディレクトリが/cygdrive/d/test/debugに移っているからで、cpは/cygdrive/d/test/some_fileを読もうとしているために起こる。つまり
>本来はシンボリックリンクはカレントと共に使用される。
がUNIX的には正しくない。

実際の挙動としては、
・UNIXの場合、カーネル的にはカレントディレクトリはあくまでもディレクトリで、シンボリックリンクをパスの途中に含むことはできない
・cd ..でもといたディレクトリに戻るのはbashがシンボリックリンクを本当のデイレクトリのようにエミュレーションしているから(set -Pで切れる)
・これは基本的には内部コマンドのcdやpwdに対してのみできることで、外部コマンドのcpやlessに対してはできない(引数の..が親ディレクトリの意味になるかはコマンドに依存するから、シェルが勝手に置き換えられない)
・シェルはPWD環境変数にシンボリックリンクを含むロジカルなカレントディレクトリを出力するので、これを見るようにすれば原理的には外部コマンドもエミユレーションに対応できる(危なっかしいので普通はしない)

WindowsのシンボリックリンクはUNIXと違ってOS自体がシンボリックリンクを含むカレントディレクトリを扱っているようだが、CYGWINはUNIXに合わせていると考えられる。

624 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 23:39:27.27 ID:IO6RyZUn.net]
>>623
こちらの状況は正しく伝わっており、君の言っていることも正しい。
こちらも615を書いた後、遠い昔にシンボリックリンク周りでトラブった記憶があり、
あれはなんだったかな?と思っていたところだった。

つまりbashで上手く誤魔化していてくれているわけだ。
ではtcshは?と確認したが、こちらもsymlinks変数で誤魔化し方を調整出来るようになっている。
https://linuxjm.osdn.jp/html/tcsh/man1/tcsh.1.html
結果、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 ".."
> ..
分かれば出来れば解説よろしく。

625 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 23:43:56.19 ID:gENEPh5i.net]
WindowsがーではなくCygwinの問題でしょ
WindowsはWindowsの仕様でやってる。それがなんであれ正しい仕様

Cygwinがエミュレート機能をすべて行ってる
問題があるならそれはCygwinの問題

WSLならその問題も解決してるだろうさ

626 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 23:58:57.35 ID:IO6RyZUn.net]
>>625
それは違う。
Cygwinはエミュレーションレイヤーを提供しており、つまりUnixのシステムコールを受け付けているだけ。
だから仕様としてUnixと同じ動作になる。
詳しくはWikiなり本家なり読めばいい。

問題はUnixの糞仕様が今も修正されずそのままbash等で誤魔化され続け、
windowsでは修正された?為に動作が異なっている事による。
ただこれをCygwinで修正することは出来ないし、するべき事柄でもない。

627 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 00:05:26.55 ID:8h2rOUkn.net]
> Cygwinはエミュレーションレイヤーを提供しており、つまりUnixのシステムコールを受け付けているだけ。
ただしい

? だから仕様としてUnixと同じ動作になる。
○ 仕様としてUnixと同じ動作になるように目指すべきだが、できてない

628 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 00:06:45.59 ID:8h2rOUkn.net]
なんか文字化けする方法のバツを記録してるな。これでいいか?

× だから仕様としてUnixと同じ動作になる。
○ 仕様としてUnixと同じ動作になるように目指すべきだが、できてない

629 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 00:22:04.30 ID:6GYTbaHl.net]
>>625
なおWSLは理屈上はUnixの動作になるはず。
ただしbash等を見る限り既知の問題だから対策出来そうではあるが、
バイナリ互換なので現実的に無理だと思う。
(もちろんwindows専用bashを用意すればいいが、それだと既存のシェルスクリプトが動かなくなる。
といってもそれで問題が発生するような奴はWSLなんて使わずDockerだと思うが)

が、まあ、俺に関して言えば、
問題の詳細は判明し、特段問題ないから当面はCygwinを使う。


(すまんがNGに当たっているようなのでバラバラにして投稿する)

630 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 00:23:19.80 ID:6GYTbaHl.net]
(すまんがNGに当たっているようなのでバラバラにして投稿する)

>>628
> ○ 仕様としてUnixと同じ動作になるように目指すべきだが、できてない
違う。そこを目指してない。
CygwinはUnixのシステムコールをcygwin1.dllが受け付けることにより、
GNU等が書き溜めた膨大なUnix向けCソースをそのまま動作させることを目標としている。
結果、ありとあらゆるUnixのツールがcygwin上では動くので、大成功している。



631 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 00:24:32.17 ID:6GYTbaHl.net]
>>628続き

windowsのCMD。EXEのエミュレーションなんて必要ないし、目指してもいない。
本家でも読め。

そして認識も間違っている。CygwinはUnixと同じ動作になってる。つまり、「できてる」

632 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 00:29:23.48 ID:d/S5Qnsu.net]
>>624
・tcshのmanは間違っているだけだと思う。実際試したら想定通り/tmpになった。
・シェルが勝手に置き換えるべきではないというのは、単にgrep ..とかの動作が今までと変わって直感的でなくなるあたりの問題。.や..の置き換えの仕様とエスケープやクォートの仕様を十分理解すればまあそんなに困らないとは感じる。

633 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 00:49:31.91 ID:6GYTbaHl.net]
>>632
おおサンクス、手元にこなれた環境がないので助かる。
しかし今更このレベルの誤字ってあるかね?
まあtcshなんて今時誰も使ってないが、他のマニュアルもそうなってるし。
https://linux.die.net/man/1/tcsh
とはいえ実行結果がそうなのならそれが一番信憑性があるが。

Unixは今更直せないで行くのだろうけど、WSLの際にMS内部ではどうするか検討してるだろうね。
WSL推しの人はどうぞ動作報告よろしく。

634 名前:デフォルトの名無しさん [2019/12/24(火) 15:52:35.51 ID:IBUEMR4t.net]
WSLの話題はこちらへどうぞ https://mao.5ch.net/test/read.cgi/linux/1560665525/

cygwinの話題は引き続きこのスレでどうぞ

635 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 00:06:31.37 ID:RxmL5T69.net]
>>632
ばーーーか

636 名前:627 mailto:sage [2020/02/21(金) 14:13:26 ID:3bMJAyBr.net]
>>635
ごめんなさい。

637 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 09:24:50 ID:6t68C04E.net]
このところ、MSYS2 の pacman を実行するとエラーが出るな
サーバー不調なん?それとも pacman がバグった?
一度アンインストールして最初から入れなおしてもダメやった・・・

638 名前:デフォルトの名無しさん mailto:sage [2020/03/11(水) 21:27:12.49 ID:o+x7iIJI.net]
いつの間にか直ってた
やっぱり、サーバーが不調なだけだったのか・・・

639 名前:デフォルトの名無しさん [2020/03/12(木) 11:58:54.03 ID:MzPDqAwN.net]
自分の回線を疑う気は皆無か

640 名前:デフォルトの名無しさん mailto:sage [2020/03/12(木) 19:21:51.59 ID:TmXPZpmc.net]
自分の回線だけだったら書き込まないが・・・



641 名前:デフォルトの名無しさん [2020/03/25(水) 09:30:19 ID:C+0WfFNh0.net]
回線があまりに遅いと向こうからお断りしてくるのでは

642 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 13:48:39.21 ID:Mtf58BEo.net]
サーバー不調なだけだぞ、公式でも話題になってた
https://github.com/msys2/MINGW-packages/issues/6256

643 名前:デフォルトの名無しさん mailto:sage [2020/04/02(木) 18:00:43.50 ID:1pp0Yvcl.net]
今更
pacmanでfork errorでまくったので見切った。
wslでLinux入れてmingw64クロスコンパイルしている。
wslのコンソールでwindowsバイナリもそのまま動くし良い。
cygwinやmsysみたいにcygwin, msysバイナリとwindowsバイナリが混在することの混乱もないしさらに良い

644 名前:デフォルトの名無しさん [2020/04/03(金) 04:00:25.48 ID:FV+QUjkb.net]
GCC 9.3を早く出してくれ

645 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 09:51:54 ID:yEeayoKI.net]
pacmanでfork errorの一番の解決策は
ちゃんと出てきたメッセージを読むこと
これに尽きる
638がそうなのかは知らんが

646 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 22:38:22.52 ID:bwZ5xk1F.net]
WSLよりMSYS2の方が更新早い?

647 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 09:55:13.35 ID:m+LKHOnj.net]
WSLで使うディストリビューション(ArchとかUbuntuとか)によるでしょう
共通して言えるのはLinuxではセキュリティ修正の取り込みは早い

648 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 20:27:42.43 ID:O5iO/eDc.net]
WSL は色々なディストリビューションが選べるんですね

649 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 17:57:31.18 ID:UEW9MHEw.net]
インストールしようと思ったら、このサイト3年近く更新が止まってる・・・
xhmikosr.1f0.de/tools/msys/

今入れるならどうしたらいい?

650 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 22:00:29 ID:+AizyWB9.net]
WSLがある以上、MSYSのメンテはもう廃れるだろうな。
意味ねーし。
cygwinはXのためだけに存在する



651 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 23:35:15 ID:UEW9MHEw.net]
>>650
えっ、そんなのあるの?

652 名前:デフォルトの名無しさん mailto:sage [2020/04/20(月) 01:29:10 ID:VYi0JRSU.net]
そ、そんな〜(´・ω・`)






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<230KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef