X



Cygwin + MinGW + GCC 相談室 Part 8
レス数が900を超えています。1000を超えると表示できなくなるよ。
0327perl 使えなくなった助けて
垢版 |
2017/12/19(火) 14:10:48.24ID:00NlJhNM
# # echo foo | sed -e 's/foo/bar/'
bar

✔ Success (retv = 0)


# # echo foo | perl -pe 's/foo/bar/'

✗ Failure (retv = 127)


# # which perl
/usr/bin/perl
0333デフォルトの名無しさん
垢版 |
2017/12/20(水) 21:32:25.03ID:XmSEA4Qy
それはないかと
# which perl
/usr/bin/perl

✔ Success (retv = 0)


# # /usr/bin/perl -v

✗ Failure (retv = 127)
0335デフォルトの名無しさん
垢版 |
2017/12/21(木) 13:45:47.39ID:UXAmX4iO
多分シェルがだしてる
このcygwin は gnupack_devel-13.06-2015.11.08 のを使っています
0336デフォルトの名無しさん
垢版 |
2017/12/21(木) 14:28:52.68ID:UXAmX4iO
今気が付いたのですが gnupack のはポータブルなので
新しくダウンロードした方にhome 以下移したら
apt-cyg install xxx
などの手間はかかるけどperl 動きますね

今回はそれでOK
お騒がせしました
0337 ◆QZaw55cn4c
垢版 |
2018/01/17(水) 12:28:36.69ID:yPRkNg4C
手元の mingw32/g++ 6.4 で仮想デストラクタがらみがうまくいかない現象が起きています
mingw32/g++ 5.4 ベースに戻すとうまくいくようです

なにか情報ありませんか?
0338 ◆QZaw55cn4c
垢版 |
2018/01/17(水) 20:43:07.77ID:yPRkNg4C
>>337
モジュール名が更新されており、libstd++ ともども cygwin のモジュールを削除した上で新しく入れなおすことで解消しました
mingw64-g++6.4 で問題ありません
お騒がせいたしました
0340デフォルトの名無しさん
垢版 |
2018/02/16(金) 06:30:03.04ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
0341デフォルトの名無しさん
垢版 |
2018/02/27(火) 20:04:40.07ID:8i84/p/L
スカトロMinGWがいち早くgcc7.3.0になったな
0342デフォルトの名無しさん
垢版 |
2018/02/27(火) 21:40:18.84ID:xfHUmh10
最近MSYSがまともに動かないリリース連発してて萎えるわ
みんなWSLに移行したのかね
0343デフォルトの名無しさん
垢版 |
2018/02/28(水) 09:58:25.81ID:f5/eDtaO
>>342
更新失敗してない?
msys-2.0.dll (msys2-runtime)
pacman.exe (pacman)
bash.exe (bash)
この辺はいつも削除失敗で手動でコピーするはめになってる
人によってはターミナル系もかな
0344デフォルトの名無しさん
垢版 |
2018/03/04(日) 12:57:37.44ID:mX/EyO7/
これまでMSYS2と仮想マシン上のLinuxを両方使っててWSLも試してみたけど
WSLだけで全部賄うのは無理だし、MSYS2の代わりになるかも微妙だと思った
0345デフォルトの名無しさん
垢版 |
2018/03/14(水) 14:55:32.55ID:rLA9sGaB
cygwinってハードの最低動作環境ってどんなもん?
セレロンG1610でも十分動く?
0346デフォルトの名無しさん
垢版 |
2018/03/14(水) 15:25:24.16ID:2cAisCwC
動く
0347デフォルトの名無しさん
垢版 |
2018/03/17(土) 13:02:16.05ID:gLwvyXQa
LLVM Clangって、見つけたんですよ
gccより高速で、エラーの内容がわかりやすいんだけど
なんで、gcc使い続けてるの?
0348デフォルトの名無しさん
垢版 |
2018/03/17(土) 18:31:14.60ID:YJFErllj
ゼロから作るんならClangでも良いけどgccでコンパイルできる
ソースが必ずしもClangでコンパイルできる訳ではないからでは
0350デフォルトの名無しさん
垢版 |
2018/03/22(木) 00:14:02.04ID:FaIr56VM
ここじゃない
0352デフォルトの名無しさん
垢版 |
2018/03/23(金) 04:57:37.56ID:X5KKLTky
スクリプト走らせてるとusememが肥大化してしまうのですが
Cygwinのメモリ開放ってどうやるんでしょうか?
0353デフォルトの名無しさん
垢版 |
2018/03/23(金) 18:05:31.72ID:GtydX90K
fg
^C
kill
0354デフォルトの名無しさん
垢版 |
2018/03/23(金) 20:47:03.40ID:X5KKLTky
>>353
ありがとうございます
ただ、topなどで確認してもプロセスが占有してるというよりはよくわからないけどfreeのメモリが消費されてるといった感じなんです
あきらめて別の方法を探してみます
0355デフォルトの名無しさん
垢版 |
2018/03/24(土) 23:48:25.89ID:rRlQvr0X
スカトロMinGWを消してMinGW W64 7.3.0を入れた
ようやく来たか
0356デフォルトの名無しさん
垢版 |
2018/04/12(木) 06:28:32.21ID:wYEErH2x
i686-7.3.0-release-posix-dwarf-rt_v5-rev0.7z
MD5 d1e009df8d254a15a549c5af2e2200db
SHA-1 96e11c754b379c093e1cb3133f71db5b9f3e0532

これ、カスペが反応するんだけどみんなのところではどうよ
C:\mingw32\opt\bin\python.exe トロイの木馬
0358デフォルトの名無しさん
垢版 |
2018/05/12(土) 12:16:05.84ID:l2Chn+wB
msys2 64bitとcygwin64両方ともautomakeを使おうとすると
ラッパーさんから使えるバージョンはないとか怒られて終わります
これのせいでautoconfとかも途中で終わるのでつかえません
調べまくりましたが途方にくれました何かアドバイスを

ちなみにautoconfは普通にバージョン見ると2.69で
automakeは1.10から1.9までたくさん入っています
他のlibとかも全部入れたと思います
調べたらラッパースクリプトがバージョン判断出来なくてコケるみたいなのを見たんですが
そのへんがよくわかりません
0359デフォルトの名無しさん
垢版 |
2018/05/12(土) 17:14:27.18ID:wQPN3T7y
sygwinは分からんけどmsysはpacmanで入れたモジュールなのかな
普通にpacmanで作った環境では特に問題なくautoconfできるけど
0362デフォルトの名無しさん
垢版 |
2018/05/12(土) 19:28:25.95ID:n4fPuvh4
>>359
pacmanで入れました
(どうしてもPGP鍵のエラーを解決出来なかったのでsiglevel無理やり変えたけど)
自分が信用出来ないので複数の入門用サイトのインストール手順そのままなぞっても変わらず
cygwinは普通にsetupから入れました

autotoolなど使わないで普通にコンパイルするだけなら普通に出来ます
最初はemacsとかでかいのをやろうとしたのですが、ハローワールド的なプログラムで
試しにやってみてもautoreconf等やはりautomakeのところで引っかかって終わります

msys2とcygwin両方とも同じというのが何故なのかわからないです
msys2の入口はどのみち3種類どれでやっても結果は変わらないです
am-wrapperに使えるバージョンが無いって怒られます
pacmanの入れ方が駄目だったんでしょうか
0364デフォルトの名無しさん
垢版 |
2018/05/13(日) 11:14:28.83ID:lO6n2Uvo
鍵は特に指示するようなメッセージはないです
暗号エンジンが不正とかパッケージが壊れてるとか鍵が不正とかそれだけで

とりあえず適当にautomakeを打つと
$ which automake
/usr/bin/automake
$ automake
am-wrapper: automake: error: Unable to locate any usuable version of automake.
I tried these versions:
With a base name of '/usr/bin/automake'.

msys2とcygwin64両方同じです
これは正しい反応なのでしょうか
0365デフォルトの名無しさん
垢版 |
2018/05/13(日) 12:08:20.63ID:lO6n2Uvo
今気が付いたんですが
$ automake-1.10 とか直接やると当たり前かもしれませんがconfigure指定しろと動くので
やはり選択出来てないみたいです
あと調べるとWANT_AUTOMAKEでバージョン指定出来るみたいなので
それでautomakeするとエラーは出ないです
調べてもこんなところでつまずいてる人誰もいないみたいなのに何故…
0367デフォルトの名無しさん
垢版 |
2018/05/15(火) 13:37:48.79ID:PXOgwrWU
MSYS2 からだと /proc/registry を見ればレジストリの内容を読めるけど、
レジストリの設定はどうやればいいの?
0368デフォルトの名無しさん
垢版 |
2018/05/15(火) 15:38:03.48ID:JLuDISpE
上で長々とautomakeについて書いたものですが
最後に念のため全部管理者からにしてインストールから全て自分の知識を一切使わず
ぐぐったやり方に沿ってやりなおしたところやっぱり結果は同じでした

バージョン指定してautomakeを突破してもautom4teのエラーが出たりするので
とりあえず素直に諦めました
変なことは特にしてないと思うんですが…根本的に何かおかしいんでしょうね
一連の書き込み見て、もし何か気が付いた方いましたらよろしくお願いします
0369デフォルトの名無しさん
垢版 |
2018/05/15(火) 15:54:21.90ID:gV7swnN5
まずMSYS2とCygwinで同じ状況というので疑われるのは環境の混在
きちんと分離できていれば両方同じ結果にはならないと思う
他のアプリを含めてWindowsのグローバルな環境変数を汚さないようにするかあるいは完全に把握してればこの手の問題は起き難い
0370デフォルトの名無しさん
垢版 |
2018/05/17(木) 23:25:54.23ID:hM1fOWSN
>>369
もしかしたら何か環境被ってるか影響受けて駄目なのかもしれないですね
両方全く一緒っていうのが…
今度時間空いたらまっさらなOSにでも入れてみようと思います
0371デフォルトの名無しさん
垢版 |
2018/05/18(金) 08:58:45.15ID:dGQ/v6Kx
まずは環境変数からCygwinを除去してみるところからだろ
そもそもWindowsの環境変数に混在させるのは良くない
必要な設定はシェルを起動するbatファイルにでも書いて切り分けをはっきりさせた方がいい
0373 ◆QZaw55cn4c
垢版 |
2018/05/21(月) 22:21:15.09ID:wfqSsSFN
コンパイラ g++ が-l オプションにてライブラリをサーチしてくれません
cygwin 上でのパス:/usr/loca/lib/libcppunit.a
実パス U:\usr\system\cygwin\usr\local\lib\libcppunit.a
をコンパイルオプション -l で見つけてくれるようにすればどうすればいいでしょうか?
0375 ◆QZaw55cn4c
垢版 |
2018/05/21(月) 22:23:21.23ID:wfqSsSFN
>>373
とりあえずコンパイラの -L オプションで凌ぐことにしました
0376 ◆QZaw55cn4c
垢版 |
2018/05/21(月) 22:23:49.00ID:wfqSsSFN
>>374
コメントありがとうございます
それは大丈夫でした
0377デフォルトの名無しさん
垢版 |
2018/05/22(火) 16:58:07.60ID:EV0iplRL
>>375

勘違いしている気がするのは気のせいかな

「-l」はリンクするライブラリの「lib」を除いた名称を
指定するためのオプション

そのライブラリを検索する場所を指定するオプションが
「-L」じゃなかったっけ
0378デフォルトの名無しさん
垢版 |
2018/05/22(火) 17:55:37.99ID:q5t1htis
コンパイルオプションとリンクオプションは区別しろよ
0379 ◆QZaw55cn4c
垢版 |
2018/05/22(火) 18:49:29.91ID:xeMs/wd1
>>377
はい、-L usr/local/lib -lcppunit とベタ打ちすることにしました cygwin の環境変数を触るのはあきらめました…
0383 ◆QZaw55cn4c
垢版 |
2018/05/24(木) 19:19:40.85ID:dCOL2CYR
>>380
それが手元のWindows7環境ではうまくいかないのです…
0384デフォルトの名無しさん
垢版 |
2018/05/25(金) 16:18:51.34ID:bGEIPgDt
MinGW gcc 8.1.0来たな
0386デフォルトの名無しさん
垢版 |
2018/05/25(金) 17:11:47.06ID:XO9fqtgP
Firefoxみたいになってきた
0389デフォルトの名無しさん
垢版 |
2018/05/26(土) 07:58:56.19ID:WhnOnvzV
201402じゃん ・・・と思ったら
-std=c++17で201703になるのか

つーか7.3.0でもそうなるやん
0390デフォルトの名無しさん
垢版 |
2018/05/26(土) 10:52:04.44ID:syYJ3FKh
>>389
本当?知らなかった
7.3.0で-std=c++1zや-std=gnu++1zを付けてコンパイルしても__cplusplusは201402のままだったのだが俺環?
8.1.0なら-std=c++1zでちゃんと201703になる
0391デフォルトの名無しさん
垢版 |
2018/05/26(土) 18:07:23.48ID:IvOjJRME
>>390
俺環
g++ (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 7.3.0
686-7.3.0-release-posix-dwarf-rt_v5-rev0.7z
MD5: d1e009df8d254a15a549c5af2e2200db
SHA1: 96e11c754b379c093e1cb3133f71db5b9f3e0532

OS 名: Microsoft Windows 7 Professional
OS バージョン: 6.1.7601 Service Pack 1 ビルド 7601
プロセッサ: 1 プロセッサインストール済みです。
[01]: x64 Family 6 Model 60 Stepping 3 GenuineIntel ~2601 Mhz
0393デフォルトの名無しさん
垢版 |
2018/07/04(水) 22:46:38.56ID:gFgZc5FG
2PL
0395デフォルトの名無しさん
垢版 |
2018/07/31(火) 03:17:47.09ID:RDQpCs3a
MinGWだけど -Wl,--stack でどうしてもスタックサイズが変わらないので悩んでいた
dumpbinとeditbinを使うと変わるし確かめられるんだけど、ようやく方法がわかった

リンカの-Xlinker optionで --stack=<バイトサイズ> と指定すれば変わった
どうも-Wlにバグがあるみたいだな
それとも-Wl,--stack=<バイトサイズ>としないといけないのだろうか
まあリンカの方をいじるのが確実だな
0396デフォルトの名無しさん
垢版 |
2018/07/31(火) 03:20:28.10ID:RDQpCs3a
今試してみた
-Wl,--stack=<バイトサイズ> でも駄目でした
結局-Xlinker --stack=<バイトサイズ>で行きます
0397デフォルトの名無しさん
垢版 |
2018/07/31(火) 05:20:50.36ID:A5W680W/
OBJ吐いて結合のときと
OBJ吐かずにコンパイル即EXEのときで違うとか
0400デフォルトの名無しさん
垢版 |
2018/07/31(火) 13:27:12.23ID:Sn2VrW8x
そうでもない
0403デフォルトの名無しさん
垢版 |
2018/08/01(水) 17:56:49.43ID:q25SMjQY
実は始まっていなかった
0409デフォルトの名無しさん
垢版 |
2018/08/04(土) 01:43:56.45ID:i5vBNvJr
>>406
ほんそれ
0414デフォルトの名無しさん
垢版 |
2018/08/05(日) 01:32:40.33ID:us+tZNOh
>>413
Git for WindowsもMSYS2もChocolatey経由でinstall&upgradeしている。
Windowsの「アプリと機能」ってパッケージ管理じゃないの?
0416デフォルトの名無しさん
垢版 |
2018/08/05(日) 17:10:39.33ID:aJhRtn6H
>>410
MSYS2で擬似Linux環境が欲しいとかMinGWで
開発をしたいわけではないけど、最新の
VisualStudioとかAndroidStudioがGitを要求
するんでWindowsでGitだけ使いたいとかっていう
要求はある

Git使いたいわけではなくて、ソースコードに
GitHUBなどから動的にソースを取ってくる
見たいなものも増えているので
0417デフォルトの名無しさん
垢版 |
2018/08/16(木) 00:54:28.51ID:dflIWUnx
GPLにしたくないのでclang+libc++をベースとしたw32api開発環境を構築してみようと思ったけど全然情報ないのな
0418デフォルトの名無しさん
垢版 |
2018/08/17(金) 15:28:41.39ID:FVp24TVc
>>417
このスレで言うのもあれだけど、わりとそのまま置き換えて使えるよ
msvc系で使うならターゲットも気にしなくていいし
でもそれならMSからvcのビルドツール落としてそっちのコマンドラインの方を
使った方がいいような気もする
0419417
垢版 |
2018/08/17(金) 23:30:52.33ID:yyLE/n3z
>>418
事態が結構複雑で・・・
言語はRust
使いたいライブラリはOpenCV(cmake)、GraphicsMagick(make/VisualMagick)、PDFium(Ninja)

ビルドツールだと最新のsln/vcxprojしかビルドできない(VisualMagickはVC++7のslnしか作れない)
コミュニティを入れればビルドできるだろうがめっちゃでかい
最近はWindowsでも脱msvcの流れっぽいしRustも例外ではない(リンカをlldにしようという話があるらしい)
最終的にはLinuxや*BSDでも使う可能性を考えるとmsvc依存は好ましくない
じゃあMinGWで・・・でもライブラリ類がGPLなのは困る。今更gccというのも
ならLLVM系は・・・clangはビルド済みを落とせるけどlibc++はどうすれば??? ←イマココ

以降愚痴。Chromeのコンパイラがmsvcからclangになんて記事が出回っているくらいだし
PDFiumもclangでビルドできるはずだがmsvc(コミュニティ)を使う記事しか見つからん
俺様ビルドシステムの上に情報不足とかマジやめて欲しい
0420デフォルトの名無しさん
垢版 |
2018/08/18(土) 11:27:26.31ID:TgZCKLMK
需要なし
0424デフォルトの名無しさん
垢版 |
2018/08/18(土) 23:25:05.14ID:MifkGBcf
GPL系ライセンスの嫌いなところは業界内で通用する統一された解釈がなくトラブルに発展する可能性が高いこと
類似の事象でも人によって正反対の主張をしているとかザラだし
0426デフォルトの名無しさん
垢版 |
2018/08/19(日) 12:42:10.06ID:plhuPGbS
>>424
ほんそれ
0429デフォルトの名無しさん
垢版 |
2018/08/19(日) 19:35:32.54ID:AHbKk0RR
>>428
プロプライエタリなプログラムと混ぜてはいけないと読めるが自分の解釈は間違っているかな?
0430デフォルトの名無しさん
垢版 |
2018/09/02(日) 13:37:57.28ID:U5QFbq32
GCCランタイムライブラリ例外、GCCランタイムライブラリ例外言っていた人はどこかへ行っちゃったんか?
OS例外というのもあるよね「何を持ってOSか、どこまでがOSか」に対する統一された見解はなくて
人や会社によって差があった気がするけど
0431デフォルトの名無しさん
垢版 |
2018/09/04(火) 03:59:36.35ID:ceyZWyCm
>>429
GCCのプラグインとしてproprietaryなプログラムを組み合わせると例外の恩恵を受けられない
「GPLと両立しないプラグインなど」を組み込ま「ない」GCCが、proprietaryなソースコードをビルド(*.oの出力、リンク)しても例外は適用される(出力されるものはGPL扱いにならない)
ように読んだ
たぶん「コンパイラの中間表現」はGIMPLEとかRTLみたいなGCC固有の表現を指してて、アセンブリ言語(-Sオプションで出力されるやつ)やオブジェクトコードは指してなさそう
0433デフォルトの名無しさん
垢版 |
2019/01/02(水) 16:43:38.97ID:3QK6uhic
スカトロMinGWの方が先に8.2.0出しやがった
0434デフォルトの名無しさん
垢版 |
2019/02/13(水) 17:59:49.60ID:aV+jBrpA
待った
このビルドおかしいぞ
g++ -v で --with-arch が i686 じゃなく i586 になってて
#include <thread> は通るのに std::thread がエラーになったり
#include <mutex> は通るのに std::mutex がエラーになるぞ

「このビルド」は、ここ↓で拾ったやつ
https://ja.osdn.net/projects/mingw/releases/p15522
0436デフォルトの名無しさん
垢版 |
2019/02/28(木) 00:03:08.86ID:ECv4xj6W
MinGWは最近更新が無い
0437デフォルトの名無しさん
垢版 |
2019/02/28(木) 00:57:58.22ID:p6WvsFw7
最近 Cygwin も今使ってるやつ居るのか不安になる事が・・
もしかして日本で10人ぐらいの Cygwin ユーザーの一人が俺だったりするんじゃないのか?とか
0438デフォルトの名無しさん
垢版 |
2019/02/28(木) 02:42:07.39ID:qfTaiLvR
>>437
俺も日本人ユーザーの一人だが、最近はあまり使っていない。
頻繁にパッケージは更新されているから、世界的にユーザーはいるんだろうと思う。
0448デフォルトの名無しさん
垢版 |
2019/02/28(木) 20:42:24.55ID:qfTaiLvR
>>439
デスクトップ2台使っている。
旧機はUbuntu。新機はWindows 10 Pro。
Windows上でUNIXライクなコマンドを使いたいことが多々ある。
0449デフォルトの名無しさん
垢版 |
2019/03/01(金) 02:11:07.18ID:h8NHrx+2
みなWSL(Windows Subsystem for Linux)に行ってしまったのさ・・・
0452デフォルトの名無しさん
垢版 |
2019/03/01(金) 15:03:52.75ID:a4IFMTFx
minttyのためだけにcygwin入れてた時期があったけど
それもももうcygwin気にせず使えるようになったし
cygwinはお役御免
0454デフォルトの名無しさん
垢版 |
2019/03/01(金) 15:17:41.76ID:h8NHrx+2
pcre2のpcre2_match_*() がクラッシュするんだけど、cygwinでしか起きないので調査する意欲がわいてこない。
0456デフォルトの名無しさん
垢版 |
2019/03/06(水) 07:49:41.91ID:paKD8ls/
Git for Windows v2.21.0 Release Notes
Latest update: February 26th 2019
https://gitforwindows.org/
0457デフォルトの名無しさん
垢版 |
2019/03/09(土) 08:54:55.16ID:Ed78ws/P
random_deviceがクソすぎ

D:\learn\random>type test1.cpp
#include <random>
#include <iostream>
using namespace std;

int main()
{
random_device d;
cout << d() << endl;
cout << d() << endl;
cout << d() << endl;
}

D:\learn\random>g++ test1.cpp

D:\learn\random>a
3499211612
581869302
3890346734

D:\learn\random>a
3499211612
581869302
3890346734
0458デフォルトの名無しさん
垢版 |
2019/03/09(土) 16:56:58.38ID:kfZA3URW
STLがクソすぎ
0459デフォルトの名無しさん
垢版 |
2019/03/10(日) 06:26:32.12ID:gKFy67J4
msys2のスレないのね
0460デフォルトの名無しさん
垢版 |
2019/03/10(日) 12:24:46.05ID:yzd/Af8M
>>457
MinGWはmt19937を使うと書いてあるぞ。
0461デフォルトの名無しさん
垢版 |
2019/03/10(日) 13:13:05.02ID:uE8BPcgQ
それじゃ意味ねえだろって話
mt19937のseedを作るのにmt19937を使ったらアホだろうが
0462デフォルトの名無しさん
垢版 |
2019/03/10(日) 13:16:07.39ID:yzd/Af8M
>>461
でも規格上実装依存ってことになっていて、実装が疑似乱数だと明示しているのだから、避けるのは利用者側の義務になるのでは。
0463デフォルトの名無しさん
垢版 |
2019/03/10(日) 13:16:49.38ID:yzd/Af8M
素直にVC++使えってことではないだろうか。
0464デフォルトの名無しさん
垢版 |
2019/03/10(日) 15:05:41.26ID:uFsYqTSV
疑似乱数よりμs取る方がまし
0465デフォルトの名無しさん
垢版 |
2019/03/10(日) 15:06:05.60ID:uFsYqTSV
ごみん
μsだと一緒になるわ
nsでどうかひとつ
0466デフォルトの名無しさん
垢版 |
2019/03/10(日) 16:47:30.29ID:frDbeikI
seedはプロセスid と スレッドid の組み合わせのほうがよくない?
0468デフォルトの名無しさん
垢版 |
2019/03/10(日) 18:10:59.99ID:uFsYqTSV
どうせmt使うんだからseedさえ適当に変更掛かるものなら何でもいいっしょ
0469デフォルトの名無しさん
垢版 |
2019/03/11(月) 09:07:42.73ID:SMAjCV/D
>>457
std::random_device::entropy()を表示させてみ

これで 0.0 が帰る場合は毎回同じ値が帰るから
VCはプロセスIDをうまく使ってrandom_deviceを実現してるようだな
MinGWは駄目だよ
0473はちみつ餃子 ◆8X2XSCHEME
垢版 |
2019/03/18(月) 14:59:42.06ID:YfgH0B4l
>>472
gets_s は C11 から導入されたので C11 を有効にするオプション (-std=c11) を付ければいいんじゃね?
0475デフォルトの名無しさん
垢版 |
2019/03/19(火) 22:39:22.82ID:5qst9NFY
>>473
わたしはぜひそれをしたいと思っていますがBasic Setupのツリーからその項目を見つけることができません
どこにあるのでしょう><
0476デフォルトの名無しさん
垢版 |
2019/03/19(火) 22:54:37.22ID:5qst9NFY
>>473
あ、もしかしてそれってターミナルでコンパイルするときに
gcc -std=11 hoge.cとやれということでしょか?だとしたら死にたい…
0477はちみつ餃子 ◆8X2XSCHEME
垢版 |
2019/03/23(土) 17:33:03.74ID:ByL/s3eU
MSYS2 環境 (32bit) で Guile を実行するとライブラリのプリコンパイルが
始まってなかなか終わらないし、終わってから再度実行するとまた最初
から始まってしまう。
パス変換の考慮ミスで既にあるプリコンパイル済みライブラリを見つけらない (?) っぽい
報告もあるんだけど、これってどうにもならない?
0478デフォルトの名無しさん
垢版 |
2019/03/23(土) 18:17:20.21ID:iMO+WCpL
ダミーで ./c/hoge -> /c/hoge みたいなリンク作って path に追加したら?
0479デフォルトの名無しさん
垢版 |
2019/04/10(水) 07:27:34.52ID:qyNiIlQC
Windows 8.1 64bit 上で

>set | findstr PATH > c:\tmp\PATH.txt
>set | findstr Path > c:\tmp\Path.txt

したらファイル1つしか残らなかっただ…。
LFN でも大文字小文字区別せんのか…
Windows10 だと違うのか
0481デフォルトの名無しさん
垢版 |
2019/04/10(水) 10:38:27.98ID:g9h2j5fz
chcp 65001 はバグだらけだから今はしないのが常識
0482デフォルトの名無しさん
垢版 |
2019/04/10(水) 11:57:36.05ID:ctVOU6iK
>>479
grep -ir "abc" ./*

grep でも使えば?

i は、大文字小文字を区別しない。
r は、ディレクトリを再帰的にたどる
0487デフォルトの名無しさん
垢版 |
2019/04/17(水) 09:23:22.24ID:LMpL5fl6
mingw-w64-x86_64- が頭についてるGUIソフトってXなしで動くのですか?

また、これが頭についていないパッケージってなんのために存在するのですか?
0488デフォルトの名無しさん
垢版 |
2019/04/17(水) 09:52:22.56ID:vaxiFaLk
名前はなんでもいいが、mingwをつかって直接windows api呼んでりゃXなしでうごく。あとQtとか使ってるのもあるじゃろう。
公式のパッケージは全部同じ命名なんじゃないか?なんか管理用のファイルとか?
0490デフォルトの名無しさん
垢版 |
2019/04/17(水) 10:14:46.50ID:RU1ct6Mv
<私見>
qt charts ブチ込んでも、qt-5.12.2なら問題はリバースエンジニアリング関連にとどまる
なぜなら、qt chartsをインストール対象としてチェックしたうえでインストーラを進めても、
ライセンスとしてLGPLが選択可能で、GPLv3が要求する "displays an appropriate copyright notice" を満たさずGPLv3の適用を主張できないから
</私見>

正確なところは弁理士または弁護士に確認されたし
IPAの逐条訳が参考になるかも
0493デフォルトの名無しさん
垢版 |
2019/04/18(木) 17:45:20.57ID:T5E1BM4x
>>488
最初は意味が分からなかったんだけど、unix(っていうかLinux系かな)と同じGUIツールは
X11なしでも動くのなんでかなって話かな
これは>>488が書いているようにGUIの表示にX11を使っていなくてWindowsで表示可能な
GUIシステム(例えばmingw用のQtとか)で組まれているならば当然X11は必要ない
逆にX11ベースのxtermコマンド(あるならば)はX11サーバがないと表示できない

「mingw-w64-x86_64-」っていうのはマルチプラットフォーム/マルチアーキテクチャに
対応しているアプリケーションでプラットフォームやアーキテクチャをを表している
例えば「gcc」は「mingw」や「linux」といった複数のプラットフォームで「x86」や「arm」など
複数のアーキテクチャに対応している
なのでこの「gcc」は「64bit Windows」の「mingw」で「x86」系のCPUで動く「64bit」CPUで
動くよって意味で「mingw-w64-x86_64-」という接頭語みたいなのが付けられている

ただし接頭語が付いたままだと使うときにユーザーが一々プラットフォームとアーキ
テクチャを意識しなければならないし、configureみたいにその辺を自分で解決できる
スクリプトとかアプリケーションでないと一般的なコマンドとして使用出来ないので接頭語
なしのコマンドが用意されている

Linuxの場合には複数バイナリを用意するのは無駄なので接頭語つきのコマンドに
シンボリックリンクされた接頭語なしコマンド名が作られているけど「MSYS」みたいな
Windows上で動作する環境の場合シンボリックリンクに対応していないので同じバイナリが
2つあるような感じで実装されてたりするって感じかな
0494デフォルトの名無しさん
垢版 |
2019/04/19(金) 16:30:35.71ID:kPHA0zLK
>>493
違います
0495デフォルトの名無しさん
垢版 |
2019/04/19(金) 17:02:11.09ID:dBiDFHmq
emacsはX Window System必須ではなかったような気もするし今は違うのかも知れないし何とも
0496デフォルトの名無しさん
垢版 |
2019/04/19(金) 17:21:27.71ID:jGjLpvIL
windowsではcygwinのやつ使っとるよ。
msys2/mingwはいまいち信用できん。
なんにせよXは不要だよ
0501デフォルトの名無しさん
垢版 |
2019/05/02(木) 21:24:20.65ID:qbL1jEY8
valgrind みたいにアクセス違反検出する仕組で msys2 上で使えるものってあります?
0503デフォルトの名無しさん
垢版 |
2019/05/21(火) 22:53:35.55ID:5dr0Nkwr
>>501
ありますよ
0504デフォルトの名無しさん
垢版 |
2019/05/22(水) 01:15:47.82ID:zrih+ccQ
Windows 上で g++ & qt ってどのくらいメジャーなのかな

とりあえず「オレオレコード」書くなら C++11 とかかいな
GCの仕組みとか全く知らんけど
「適切なC++11の教科書などない!」という話もあるけど

Python 使え?
0505デフォルトの名無しさん
垢版 |
2019/05/22(水) 11:00:03.94ID:1OSMRbFi
C++11 なんてオワコンだからやめとけ
0508デフォルトの名無しさん
垢版 |
2019/06/13(木) 16:59:54.42ID:/0Hvd4dT
cygwin に apt-cyg find R したら Rがあった(長らくこれはなかった)
感動的だ

ようやくWindowsの上でもスタート地点に立った
0510デフォルトの名無しさん
垢版 |
2019/06/13(木) 22:37:36.09ID:tYlssfYj
ものすごい今さらな質問なんだが・・・
Cygwin て何て発音するんだ?サイウイン?
まわりに使ってるやつ1人もいないから実際に発音することがなくて困る
0516デフォルトの名無しさん
垢版 |
2019/06/14(金) 12:20:34.75ID:5t0rLbyA
cygnusは英語では、「シグナス」です。

むかし、Cygnusと云う商標で、「キグナス石油」という会社が
あったので、Cygnusを英語読みで[シグナス」ということを
知らないで、、「キグナス」と読んだりするみたいです。

ちょっと、きになったら、『英和辞典」を引いてみるとよいでしょう。
0517デフォルトの名無しさん
垢版 |
2019/06/14(金) 12:26:57.67ID:YE54Q2cv
ジョアンとフアンとジョンとジャンと…

カルロスとチャールズとシャルルと…

ジョージとホルヘとゲオルクと…
0519デフォルトの名無しさん
垢版 |
2019/06/14(金) 12:47:10.03ID:bpAwmG5b
ペーターピーターピョートル
シーメンスジーメンス
ジャーマンゲルマンドイツドイチュ
0521デフォルトの名無しさん
垢版 |
2019/06/14(金) 23:28:44.92ID:5t0rLbyA
フランス語は
cygne
で、cygnusとは違います。
ラテン語は、英語と同じ
cygnus
です。
0523デフォルトの名無しさん
垢版 |
2019/06/15(土) 11:12:22.87ID:Z5/LYv7k
Cognac
Tough
Lamborghini
を思い出す
0525デフォルトの名無しさん
垢版 |
2019/06/22(土) 19:12:03.45ID:UYyu+IU/
>>523
ぶぁーか
0526デフォルトの名無しさん
垢版 |
2019/06/23(日) 05:49:44.99ID:g5igmDJr
MinGW更新が滞っています
0527デフォルトの名無しさん
垢版 |
2019/06/24(月) 05:27:39.62ID:bdPLxrDs
>>526
MinGW-W64 project のやつは滞ってるけど、
MSYS2 project のやつ(pacmanで入れるやつ)は滞ってないよ(9.1.0)。
0530デフォルトの名無しさん
垢版 |
2019/06/25(火) 20:17:15.80ID:Cgc4J/db
>>529
一言余計なんだよカス
0537デフォルトの名無しさん
垢版 |
2019/08/14(水) 15:59:31.43ID:cSlSK8mm
> warning: hoge.hpp.gch/fuga.gch: had text segment at different address
9.2でこんなエラーが出るようになってPCHが効かない。ビルド時間が3倍に。
> cc1plus.exe: warning: '-Werror=' argument '-Werror=hoge-fuga' is not valid for C++
あとこんな警告が大量に出るようになって邪魔。
0538デフォルトの名無しさん
垢版 |
2019/08/20(火) 15:18:40.97ID:4DZMx7ke
MinGWで作ったバイナリ、コマンドプロンプトで実行するとすごい遅い
一回実行するとキャッシュでもされるのかそれ以降の実行はわりと速い
ひどいときはプロセス間通信を使ってるバイナリで実行から終了まで7秒とかかかったりする

Gitとかはコマンドプロンプトで実行してもすぐに実行されるんだけど、何が違うんだろう
ウィルスソフトのリアルタイムスキャンに時間がかかってるのかと思って、問題のバイナリの除外設定とかしてみたけど、効果なかった

問題のバイナリはプロセス間通信を使ってるから、このプロセス間通信がボトルネックになってるのかなぁ
WindowsのCreateProcessはLinuxのforkに比べるとめちゃくちゃ遅いらしいし
0539デフォルトの名無しさん
垢版 |
2019/08/20(火) 15:20:15.93ID:zlJnj2O9
cmd からじゃなくて mintty から実行しても遅いか?
0542デフォルトの名無しさん
垢版 |
2019/08/20(火) 17:27:25.95ID:4DZMx7ke
>>539
mintty, MSYSでは動作が速かったです
cmd特有の「初回起動だけ遅い」というのはありませんでした
powershellでも試してみます

>>541
cmdでも実行は出来てるんですが、なんか初回実行だけ遅いんです
初回以降は速くて、しばらく放置してまた実行すると遅くなってます
0543デフォルトの名無しさん
垢版 |
2019/08/20(火) 17:37:17.04ID:zlJnj2O9
キャッシュしてるとしたら socks の dll かな
0545デフォルトの名無しさん
垢版 |
2019/08/21(水) 17:19:04.83ID:iGK2Kp/R
雑な事いえばminttyやMSYSを起動すると、起動した時点でMinGWのdllが
読み込まれるのでコマンド起動遅くならないのでは
0546デフォルトの名無しさん
垢版 |
2019/08/21(水) 17:33:03.25ID:ur92HW83
それならそれで解決とするか
0547デフォルトの名無しさん
垢版 |
2019/08/21(水) 23:34:12.77ID:L4bPYRCx
dllの読み込みに時間かかってるってことですか
なるほど
ということはMinGWでコンパイルしたバイナリ全般に現れる問題っぽいですね
0548デフォルトの名無しさん
垢版 |
2019/08/22(木) 04:38:34.97ID:Rc8J28Ob
コマンドプロンプトで実行するようなプログラムは
Windowsネイティブアプリにしろよw
0550デフォルトの名無しさん
垢版 |
2019/08/22(木) 06:10:29.02ID:dqAPG5D5
>>548
最初はLinuxで開発してて、それからWindows用に移植したんですよ
で、MinGWが手軽だったからMinGW使ってたんだけど
0551デフォルトの名無しさん
垢版 |
2019/08/22(木) 10:15:45.06ID:xQsiKIbM
そんな用途には tdmgcc64 おすすめ
0556デフォルトの名無しさん
垢版 |
2019/08/24(土) 06:55:34.51ID:Glqz8i+r
TDM-GCCでビルドしたら遅いの無くなったかもしれない(*´Д`)!!!
>>551
>>553
もう少し様子見るけど、まじでありがとう

>>555
これはMinGWとは違うの?
0557デフォルトの名無しさん
垢版 |
2019/08/24(土) 09:36:31.35ID:u2q8uNB0
staticになってるだけというオチだったらわろす
0559デフォルトの名無しさん
垢版 |
2019/08/24(土) 17:29:38.98ID:Glqz8i+r
staticオプションは特に指定しませんが……
dllの読み込みが原因だとしたらstaticにすれば解決という話ですか
そういう発想はなかった

>>558
--mtune=skylakeってなんですか?
0560デフォルトの名無しさん
垢版 |
2019/08/24(土) 17:48:35.57ID:u2q8uNB0
DLLよりstaticが速いとか都市伝説
0561デフォルトの名無しさん
垢版 |
2019/08/25(日) 16:54:37.16ID:z6AAmiat
>>559
-O3はコードの最適化を3レベル(あるいはタイプ3)で行う
実際に何を行っているかはコンパイランの説明を読まないと分からない
-mtune=skylakeはコードをIntel CPUのSkyLakeアーキテクチャで最適な形にする
どちらも記述したコードを実行形式にするときに最適化を行うオプションなので、
非常に大きなコードを書いた際や似たような処理を繰り返すコードを書いている際に
指定すると早くなる事もある(ライブラリに含まれるコードは最適化されない)

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

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

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

MinGWの場合にはWindows一般では使わないライブラリを使用するので1回目の
起動時には必要なdllを読み込むよりは、必要な関数のみをリンクしたスタティックな
状態の方が早い場合があるかもってこと
0563デフォルトの名無しさん
垢版 |
2019/08/25(日) 23:51:01.48ID:V1f8d4H1
>>561
ということは--static -O3 -mtune=skylakeでビルドすれば起動が早くなるかもということですか
時間があるときに試したいと思いますm(_ _)m
0564デフォルトの名無しさん
垢版 |
2019/08/26(月) 01:28:47.93ID:K2zp8I6+
やっぱり名前解決の問題が大きいんすよ
ライブラリの読み込みだけでは説明できない
0565デフォルトの名無しさん
垢版 |
2019/08/26(月) 14:11:24.03ID:T0vtMl8v
>スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが

これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな
0566デフォルトの名無しさん
垢版 |
2019/08/26(月) 14:11:24.09ID:T0vtMl8v
>スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが

これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな
0567デフォルトの名無しさん
垢版 |
2019/08/26(月) 17:43:39.53ID:eYWa871J
dll読み込みってそんなに重いかな?
なんか別のところで時間がかかっていそうな感じ。
0568デフォルトの名無しさん
垢版 |
2019/08/26(月) 21:44:29.54ID:CEMf0Y7L
>>565-566
MinGWの場合はそうかな。確かMinGWでは--gc-sectionsが効かなかったかと。
LTOで未使用関数が除去されるかもしれないけどバグが多いので試してない。
0569デフォルトの名無しさん
垢版 |
2019/08/27(火) 05:30:30.81ID:FSIINwco
>>563
でビルドしてみました
様子見します
-O3は、前にビルドしたときにプログラムがうまく動作しないことがあったんですよね
-O0にすると正常に動作したんですけど
0570デフォルトの名無しさん
垢版 |
2019/08/27(火) 09:41:49.02ID:NZJyfwBK
-O3に完璧を求める方が可笑しい
0572デフォルトの名無しさん
垢版 |
2019/08/27(火) 12:32:02.21ID:j4wzaSFP
-O3と-O0で挙動が違うのは、不定の値を使っているとか、
未規定の動作に依存しているとか、そういう系だぞ

まれにコンパイラのバグということもあるが大抵てめーが悪い
0573デフォルトの名無しさん
垢版 |
2019/08/28(水) 17:10:08.53ID:w9RtsrXP
VCで造られたdllをmingwのgccで使いたいです
hoge.dll と hoge.lib は有るのですが
libhoge.a がありません
あと hoge.c とかのソースファイルもありません
hoge.def は hoge.dll から作れるのですが
hoge.lib から libhoge.a を作るのはどうすればよかったか思い出せません
0575デフォルトの名無しさん
垢版 |
2019/08/28(水) 17:45:16.06ID:4qorfKL6
実際parallelstlをコンパイルするのはVCの方が楽だしな
これを.aに変換したいと思っていたのでありがたいです
0580デフォルトの名無しさん
垢版 |
2019/09/13(金) 15:13:51.93ID:ud7Tmahn
cygwin の fork = native じゃなくて emu
mingw の fork = あるんか?
0581デフォルトの名無しさん
垢版 |
2019/09/13(金) 16:40:00.05ID:08rV0d8/
MinGW+MSYS2がCygwinより速い理由は
Cygwinはたとえ遅くなろうとも完璧なエミュレートを目指してるのに対して
MinGW+MSYS2は目指してないから
0582デフォルトの名無しさん
垢版 |
2019/09/13(金) 18:56:41.57ID:2jKM3FP9
MSYS2は、Windowsネイティブアプリを作るための環境です。
Windowsネイティブアプリを作りましょう。
0588デフォルトの名無しさん
垢版 |
2019/10/02(水) 07:41:31.63ID:WxowMW3Q
GMPって真面目にソースtarからビルドするしかないの? ビルド済みのバイナリですぐ使えるのがあれば欲しいんだけどcygwinのインストーラでチェック入れてもダメで、なんじゃこりゃってなってるんだけど。
0590デフォルトの名無しさん
垢版 |
2019/10/02(水) 11:46:15.82ID:55+aQRnY
4.1.2 は解決
0594593
垢版 |
2019/10/19(土) 15:58:06.55ID:US3VZtYL
arch linuxので解決
0595デフォルトの名無しさん
垢版 |
2019/11/10(日) 23:46:15.76ID:vZIjc/J6
長期間更新がありませんが何か支障があるのでしょうか・・
0596デフォルトの名無しさん
垢版 |
2019/11/14(木) 16:18:35.97ID:m0xrmwtq
>>595
あるよ
0597デフォルトの名無しさん
垢版 |
2019/11/15(金) 14:11:12.27ID:L6hfSVpN
>>595
ないない
0600デフォルトの名無しさん
垢版 |
2019/12/23(月) 02:13:46.99ID:IO6RyZUn
Cygwin って /cygdrive上ではディレクトリまたげないんだけど、これってそんなもんだったっけ?


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

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

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

何か設定がおかしい?それともこんなものだったっけ?
なお今のところディレクトリをまたげないだけでカレントについてはコマンドは通る。
0602デフォルトの名無しさん
垢版 |
2019/12/23(月) 12:40:57.34ID:sEnpgkKc
もちつけ
他人のせいにする前に自分を疑え
0604デフォルトの名無しさん
垢版 |
2019/12/23(月) 13:59:53.49ID:IO6RyZUn
>>602
それはそうだが普段シンボリックリンクである事なんて意識しないからな。
いまだにcygwinではNTFSのシンボリックリンクを辿れないのはしょぼいと思うが。
なお32bit版。bashはversion4.4.12(3)、cygwin1.dll はversion 3001.2.0.0
(昨日の時点でsetup.exeを使いBestに更新)

64bit版なら行けるのかも?誰か動作報告よろしく。
0605デフォルトの名無しさん
垢版 |
2019/12/23(月) 14:06:09.78ID:sEnpgkKc
NTFSのリンクはシンボリックリンクではないでしょ
0609デフォルトの名無しさん
垢版 |
2019/12/23(月) 15:40:22.34ID:Losi+wwQ
共有フォルダ作るときなんか
シンボリックリンクとジャンクションの違いを知らないと困るだろうが
0610デフォルトの名無しさん
垢版 |
2019/12/23(月) 15:41:13.85ID:sEnpgkKc
みなさん思いのほか親切ですね
0611デフォルトの名無しさん
垢版 |
2019/12/23(月) 15:47:56.41ID:nbY+qllN
>>604
シンボリックリンクもジャンクションも辿れるし、環境変数の設定(CYGWIN=winsymlinks:nativestrict)によってはln -sやtarの展開でNTFSのシンボリックリンクができる
NTFS側でD:とかをリンク先にしても、勝手に/cygdrive/d以下に読み替えてくれる
cygdrive以下だけ動かないなら、/etc/fstabの設定がおかしいとか?
0612デフォルトの名無しさん
垢版 |
2019/12/23(月) 15:48:24.03ID:sEnpgkKc
だけどシンボリックリンクωを名乗ってるだけでシンボリックリンクではないですねこれ
0614デフォルトの名無しさん
垢版 |
2019/12/23(月) 15:54:08.35ID:qAO2lZtX
Windowsには
1.ハードリンク
2.ジャンクション
3.あほなシンボリックリンク
4.だるいシンボリックリンク
がある
0615デフォルトの名無しさん
垢版 |
2019/12/23(月) 16:12:25.30ID:IO6RyZUn
>>611
すまんが、/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環境で使っている人がいたら試してみてくれ。


>>612
いや完全にシンボリックリンクだよ。
ln -s と使い勝手は同じ。
0618デフォルトの名無しさん
垢版 |
2019/12/23(月) 22:27:33.69ID:nMe23UdH
>>615
何をしようとしているか大体分かった。
・/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に合わせていると考えられる。
0619デフォルトの名無しさん
垢版 |
2019/12/23(月) 23:39:27.27ID:IO6RyZUn
>>618
こちらの状況は正しく伝わっており、君の言っていることも正しい。
こちらも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 ".."
> ..
分かれば出来れば解説よろしく。
0620デフォルトの名無しさん
垢版 |
2019/12/23(月) 23:43:56.19ID:gENEPh5i
WindowsがーではなくCygwinの問題でしょ
WindowsはWindowsの仕様でやってる。それがなんであれ正しい仕様

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

WSLならその問題も解決してるだろうさ
0621デフォルトの名無しさん
垢版 |
2019/12/23(月) 23:58:57.35ID:IO6RyZUn
>>620
それは違う。
Cygwinはエミュレーションレイヤーを提供しており、つまりUnixのシステムコールを受け付けているだけ。
だから仕様としてUnixと同じ動作になる。
詳しくはWikiなり本家なり読めばいい。

問題はUnixの糞仕様が今も修正されずそのままbash等で誤魔化され続け、
windowsでは修正された?為に動作が異なっている事による。
ただこれをCygwinで修正することは出来ないし、するべき事柄でもない。
0622デフォルトの名無しさん
垢版 |
2019/12/24(火) 00:05:26.55ID:8h2rOUkn
> Cygwinはエミュレーションレイヤーを提供しており、つまりUnixのシステムコールを受け付けているだけ。
ただしい

? だから仕様としてUnixと同じ動作になる。
○ 仕様としてUnixと同じ動作になるように目指すべきだが、できてない
0623デフォルトの名無しさん
垢版 |
2019/12/24(火) 00:06:45.59ID:8h2rOUkn
なんか文字化けする方法のバツを記録してるな。これでいいか?

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

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


(すまんがNGに当たっているようなのでバラバラにして投稿する)
0625デフォルトの名無しさん
垢版 |
2019/12/24(火) 00:23:19.80ID:6GYTbaHl
(すまんがNGに当たっているようなのでバラバラにして投稿する)

>>623
> ○ 仕様としてUnixと同じ動作になるように目指すべきだが、できてない
違う。そこを目指してない。
CygwinはUnixのシステムコールをcygwin1.dllが受け付けることにより、
GNU等が書き溜めた膨大なUnix向けCソースをそのまま動作させることを目標としている。
結果、ありとあらゆるUnixのツールがcygwin上では動くので、大成功している。
0626デフォルトの名無しさん
垢版 |
2019/12/24(火) 00:24:32.17ID:6GYTbaHl
>>623続き

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

そして認識も間違っている。CygwinはUnixと同じ動作になってる。つまり、「できてる」
0627デフォルトの名無しさん
垢版 |
2019/12/24(火) 00:29:23.48ID:d/S5Qnsu
>>619
・tcshのmanは間違っているだけだと思う。実際試したら想定通り/tmpになった。
・シェルが勝手に置き換えるべきではないというのは、単にgrep ..とかの動作が今までと変わって直感的でなくなるあたりの問題。.や..の置き換えの仕様とエスケープやクォートの仕様を十分理解すればまあそんなに困らないとは感じる。
0628デフォルトの名無しさん
垢版 |
2019/12/24(火) 00:49:31.91ID:6GYTbaHl
>>627
おおサンクス、手元にこなれた環境がないので助かる。
しかし今更このレベルの誤字ってあるかね?
まあtcshなんて今時誰も使ってないが、他のマニュアルもそうなってるし。
https://linux.die.net/man/1/tcsh
とはいえ実行結果がそうなのならそれが一番信憑性があるが。

Unixは今更直せないで行くのだろうけど、WSLの際にMS内部ではどうするか検討してるだろうね。
WSL推しの人はどうぞ動作報告よろしく。
0631627
垢版 |
2020/02/21(金) 14:13:26.80ID:3bMJAyBr
>>630
ごめんなさい。
0632デフォルトの名無しさん
垢版 |
2020/03/07(土) 09:24:50.59ID:6t68C04E
このところ、MSYS2 の pacman を実行するとエラーが出るな
サーバー不調なん?それとも pacman がバグった?
一度アンインストールして最初から入れなおしてもダメやった・・・
0634デフォルトの名無しさん
垢版 |
2020/03/12(木) 11:58:54.03ID:MzPDqAwN
自分の回線を疑う気は皆無か
0636デフォルトの名無しさん
垢版 |
2020/03/25(水) 09:30:19.85ID:C+0WfFNh0
回線があまりに遅いと向こうからお断りしてくるのでは
0638デフォルトの名無しさん
垢版 |
2020/04/02(木) 18:00:43.50ID:1pp0Yvcl
今更
pacmanでfork errorでまくったので見切った。
wslでLinux入れてmingw64クロスコンパイルしている。
wslのコンソールでwindowsバイナリもそのまま動くし良い。
cygwinやmsysみたいにcygwin, msysバイナリとwindowsバイナリが混在することの混乱もないしさらに良い
0639デフォルトの名無しさん
垢版 |
2020/04/03(金) 04:00:25.48ID:FV+QUjkb
GCC 9.3を早く出してくれ
0640デフォルトの名無しさん
垢版 |
2020/04/03(金) 09:51:54.29ID:yEeayoKI
pacmanでfork errorの一番の解決策は
ちゃんと出てきたメッセージを読むこと
これに尽きる
638がそうなのかは知らんが
0642デフォルトの名無しさん
垢版 |
2020/04/06(月) 09:55:13.35ID:m+LKHOnj
WSLで使うディストリビューション(ArchとかUbuntuとか)によるでしょう
共通して言えるのはLinuxではセキュリティ修正の取り込みは早い
0645デフォルトの名無しさん
垢版 |
2020/04/19(日) 22:00:29.69ID:+AizyWB9
WSLがある以上、MSYSのメンテはもう廃れるだろうな。
意味ねーし。
cygwinはXのためだけに存在する
0648デフォルトの名無しさん
垢版 |
2020/04/20(月) 04:16:21.28ID:DIgHaEzI
更新が止まってしまった
0650デフォルトの名無しさん
垢版 |
2020/04/20(月) 07:25:19.48ID:vhP2C7pa0
マジかよシグウィン窓から投げ捨てた
WSL派になります
0652デフォルトの名無しさん
垢版 |
2020/04/20(月) 09:12:16.95ID:aqwTNz7b
Windows 10, WSL, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL も使う

Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた

yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト

anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
~/.bashrc に、下の2行を追加するだけで、各言語ごとに追加しないでも良い

export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
0653デフォルトの名無しさん
垢版 |
2020/04/20(月) 09:13:30.71ID:lEczCUui
MSYS+MinGW、仮想マシン+Linuxって感じでWSLの入る余地がない
WSL+MinGWツールチェーンにすれば仮想マシンすら必要ないって考えもあるけど
やっぱり仮想マシンは手放せないからWindows側はMSYSでいいやってなる
0655デフォルトの名無しさん
垢版 |
2020/04/20(月) 13:58:21.58ID:2UEzrf8e
>>653
MSYS+MinGWで何作ってるの?
Windowsアプリ?

まあWindowsアプリしかないよね。
WSLはLinuxアプリを作って動かすものなので目的が違うよ。
0656デフォルトの名無しさん
垢版 |
2020/04/20(月) 14:00:46.58ID:2UEzrf8e
仮想マシンは手放せないけど、仮想マシンはほぼテスト環境になった
作ったアプリを動かすための環境

普段の開発でテストのためだけの環境を使う気にならない
起動重いしメモリ食うし
0657デフォルトの名無しさん
垢版 |
2020/04/20(月) 14:10:17.96ID:X6dUog3k
起動したままで良い
メモリ喰うのは諦めろ
0658デフォルトの名無しさん
垢版 |
2020/04/20(月) 14:16:53.62ID:agWbeiM9
msys+mingw入れて何がしたい?
ffmpegをビルドしたいから
0659デフォルトの名無しさん
垢版 |
2020/04/20(月) 14:17:05.96ID:2UEzrf8e
ああ、なるほど。テスト環境じゃないから
一つしか仮想マシンがないんだな

それぞれ微妙に異なるからテスト環境(仮想マシン)は
プロジェクトごとに必要なんだよ
0660デフォルトの名無しさん
垢版 |
2020/04/20(月) 14:18:38.31ID:2UEzrf8e
>>658
LinuxツールのWindowsネイティブ版への移植以外になんかあるの?
ffmpegもそうだし

まあ全員がWSLをインストールしてるとは限らないから
Windowsネイティブ版を作る意味はあるだろうね。
0662デフォルトの名無しさん
垢版 |
2020/04/20(月) 21:50:47.06ID:vn9gJe4h0
cygwin
mingw
wsl

作ったアプリの動作時オーバーヘッド(動作速度)が大きい順に並べて
0664デフォルトの名無しさん
垢版 |
2020/04/20(月) 21:57:01.49ID:vn9gJe4h0
マジかよWSLに失望しました。窓から投げ捨ててMinGWに乗り換えます
0667デフォルトの名無しさん
垢版 |
2020/04/22(水) 00:52:15.00ID:nnh+EV8P
mingw-w64-〇〇〇-yasm-1.3.0-4 (は32bit用はi686、64bit用はx86_64)
yasm-1.3.0-2

どう違うの?
入れるのはどっち?
0668デフォルトの名無しさん
垢版 |
2020/04/22(水) 09:41:29.70ID:UQ7whF8j
前者はMinGW-w64のDLLが必要。いわゆるネイティブアプリ
後者はMSYSのDLLと場合によってはターミナルエミュレータが必要
どちらを使うかは環境と用途次第
0669デフォルトの名無しさん
垢版 |
2020/04/22(水) 09:46:40.84ID:O/jaLKmb
おま環
0670デフォルトの名無しさん
垢版 |
2020/04/23(木) 21:18:54.36ID:4ZqPhGA2
msys2を入れてpacman -Syuをやった後、home/PC名のフォルダに、.gnupgというフォルダがあるんだけど、これって消しちゃダメ?
0671デフォルトの名無しさん
垢版 |
2020/04/26(日) 14:07:46.35ID:XGLrD3LC0
え!?WSLってそのままでは音流せないんですか!?
0674デフォルトの名無しさん
垢版 |
2020/04/27(月) 04:32:34.19ID:xcrAouIA0
ではWSLは、デフォルトでは音すら流せない杜撰な造りをしていると認めるんですか?
0675デフォルトの名無しさん
垢版 |
2020/04/27(月) 06:42:04.21ID:4F1K1x/3
単にサウンドデバイスを実装してないだけだよ
設計は良く出来てるので実装しようと思えば出来るだろうが
利用者が求めてない機能なので優先度が低い
WSLの利用者は開発者だからね。開発者が欲しい機能が最優先
0676デフォルトの名無しさん
垢版 |
2020/04/27(月) 06:46:16.14ID:4F1K1x/3
あ、もしWSLが開発者向けの機能を優先してるのを知った上で
WSLは駄目だって印象を与えようとした書き込みだったらごめん、邪魔したね
そうでないなら音ならWindowsで鳴らせばいいと気づければOKだよ
音を鳴らす程度のためにWSLは不要だからね
0678デフォルトの名無しさん
垢版 |
2020/04/27(月) 18:06:23.13ID:AD9YXzU7
>>677
そうそう。だからbashのシェルスクリプトで
Windowsのコマンドを実行してOSの設定を変更するとかできちゃう
0680デフォルトの名無しさん
垢版 |
2020/04/27(月) 19:55:00.34ID:AD9YXzU7
>>679
それはコマンドプロンプト自体の問題で、こいつは古いアプリなのでUNCパスに対応していない
UNCパス(\\ではじまるネットワークフォルダのパス)を扱えるツールを使う必要がある
WSLのディレクトリに対応してるかというよりも
ネットワークフォルダに対応しているかという話に近い

PowerShellはUNCパスに対応しているからWSLのディレクトリにも入れる
コマンドプロンプトから実行するコマンドもUNCパスに対応していれば参照できる
またネットワークフォルダはドライブに割り当てることが出来るので
ドライブに割り当てればコマンドコマンドからWSLのディレクトリに入ることも出来る
0681デフォルトの名無しさん
垢版 |
2020/04/27(月) 19:56:20.68ID:AD9YXzU7
ちなみにcdの代わりにpushdを使えば
コマンドコマンドからUNCパスに移動できる
一時的にドライブを割り当てているだけだが
0683デフォルトの名無しさん
垢版 |
2020/04/27(月) 23:26:27.00ID:hGgbh3Gh
windowsのSSHサーバ立ち上げてwslをシェルにできるのは便利
PowerShell極めてるひとなら不要かもしれんけどね
0685デフォルトの名無しさん
垢版 |
2020/04/28(火) 10:52:09.80ID:zAZN/f3s
マジレスするとmsys使ってて問題無ければwsl要らない
0686デフォルトの名無しさん
垢版 |
2020/04/28(火) 17:09:56.15ID:7TaGv6sC
>>684
共存できる。msys2はただのアプリでしかないから

>>685
msysの問題はUbuntuと同じようなメンテナンス力を期待できないところかな
WSLは本物のUbuntuのディストリのパッケージが使われてるので
Ubuntuとほぼ同等にメンテナンスされてると思っていい

だけどmsysは(Ubuntuと比べたら小さな)開発者が対応してるパッケージしか使えない
しかもLinuxと完全互換じゃないからmsysでソースコードからコンパイルしようとしても
動くとは限らない。WSLを使えばそういった煩わしさから開放される。

msysはWSLを入れてない人のためのWindows用アプリを作るためのものだよ
開発者がLinuxの代わりとして使うものじゃない
0688デフォルトの名無しさん
垢版 |
2020/04/28(火) 17:30:05.30ID:7TaGv6sC
>>687
シンボリックリンクでホームディレクトリ以下から
アクセスしやすくするのがおすすめ
色々と混ざらないし複数のディストリでも共有できる
0689デフォルトの名無しさん
垢版 |
2020/04/28(火) 18:17:52.10ID:eCWBo+Hl
色々と混ぜたいからホームディレクトリを一緒にするんだろ
そうじゃなければ最初から分けとけばいいだけの話だ
0692デフォルトの名無しさん
垢版 |
2020/04/29(水) 09:35:11.34ID:TuLha3Ht
混ぜるな危険
0694デフォルトの名無しさん
垢版 |
2020/04/29(水) 10:27:50.31ID:Cpi+Il5+
早くても、8月以降に、20.04.1 とか修正版が出た後。
1年後でも良い

Ruby のirb では、MSYS2/MinGW で、日本語入力でバグるから、
WSL の方が、互換性が高い

日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv で、
色々なバージョンも入れられる

VSCode も、Remote WSL 拡張機能で、Linux 側へアクセスできる
0695デフォルトの名無しさん
垢版 |
2020/04/29(水) 10:38:59.10ID:Cpi+Il5+
>>679
コマンドプロンプト・PowerShell で、wsl と入力すれば、WSLが起動する

最も良いのは、Linux 側のフォルダのショートカットをデスクトップにでも作って、
そのフォルダの右クリックメニューから、VSCode を起動する

これで、WSLを起動して、Linux側のプロジェクトを開ける
0696デフォルトの名無しさん
垢版 |
2020/04/29(水) 11:51:03.18ID:Jemg3aCN
wsl, opensuse leapにmingw64入れてクロスビルドしてる。
configure作って--hostでmingw指定すれば楽勝すぎて屁が出そう
0700デフォルトの名無しさん
垢版 |
2020/05/02(土) 23:21:47.63ID:nkPqW+JC
MinGWっていうかGitBash環境なんだけど
WSL1より2倍ぐらいシェルスクリプトが遅いんだよね
どこが原因かわからんけどこんなもん?
なにか大きな差がでるポイントでもあるんかね?
0701デフォルトの名無しさん
垢版 |
2020/05/03(日) 03:37:53.54ID:HUz+EFHq
WSL1 (bash 4.4.20) だと
$ time bash -c 'i=0; while [ $i -lt 1000000 ]; do : $((i+=1)); done'
real 0m6.317s
user 0m6.313s
sys 0m0.000s

MinGW64 (bash 4.4.23) だと
$ time bash -c 'i=0; while [ $i -lt 1000000 ]; do : $((i+=1)); done'
real 0m15.053s
user 0m15.000s
sys 0m0.030s

Cygwin (bash 4.4.12) だと
$ time bash -c 'i=0; while [ $i -lt 1000000 ]; do : $((i+=1)); done'
real 0m13.897s
user 0m13.858s
sys 0m0.046s

うーん、こんな単純なコードで2倍の差がでてるから
もうこれはどうしようもないのか?
0702デフォルトの名無しさん
垢版 |
2020/05/03(日) 04:04:18.44ID:HUz+EFHq
比較とか計算が遅いのかと思ってやってみたけど
この比率は変わらない

WSL1
$ time bash -c 'for i in $(seq 1000000); do :; done'
real 0m2.159s
user 0m1.828s
sys 0m0.359s

Cygwin
$ time bash -c 'for i in $(seq 1000000); do :; done'
real 0m4.222s
user 0m3.889s
sys 0m0.341s

MinGW64
$ time bash -c 'for i in $(seq 1000000); do :; done'
real 0m4.821s
user 0m4.342s
sys 0m0.436s


WSL1 → Cygwin(2倍ぐらい遅い)→MinGW(さらに10%遅い)
こんな傾向がある。ファイルシステムは関係ないはず
やってるのはCPUの処理だけなはずなんだけどなぁ
0705デフォルトの名無しさん
垢版 |
2020/05/03(日) 05:24:47.68ID:HUz+EFHq
radeonの話は画面に出力が絡むなら
関係ありそうな気もするけど、それ以外でも発生するんだろうかね
あとHOMEは MinGWは /c/Users/myname
Cygwinは/home/mynameだ
0706デフォルトの名無しさん
垢版 |
2020/05/03(日) 05:26:40.40ID:HUz+EFHq
よく見ると大きな差があるのはuser空間だから
コンパイルオプションが違ってるとかなのかな?
0708デフォルトの名無しさん
垢版 |
2020/05/03(日) 06:00:40.65ID:HUz+EFHq
>>707
つってもわずか一回だからなぁ。やってみてもいいけど

WSL1
$ time bash -c 'for i in {1..1000000}; do :; done'
real 0m1.710s
user 0m1.547s
sys 0m0.156s

Cygwin
$ time bash -c 'for i in {1..1000000}; do :; done'
real 0m4.854s
user 0m4.811s
sys 0m0.108s

MinGW64
$ time bash -c 'for i in {1..1000000}; do :; done'
real 0m4.934s
user 0m4.843s
sys 0m0.109s

あとあれから少しわかったのはMinGWは何回か繰り返せば
Cygwinに迫るのでファイル読み込み?とかも少し関連してるんだと思う
が2倍以上かかることに変わりはない

cygwin.dll?とかが遅いのかもな。MinGWでも使ってるんじゃなかったっけ?
0709デフォルトの名無しさん
垢版 |
2020/05/03(日) 07:25:18.35ID:69WKUEPM
>>708
を、WSL1, Ubuntu 18.04 で、3回やった。
8GB メモリ、CPU-i3・エコモード

real 0m4.680s
user 0m4.234s
sys 0m0.453s
0712デフォルトの名無しさん
垢版 |
2020/05/03(日) 21:39:24.17ID:ADBK+oPb
cygwinはforkがヘボいから遅い
MinGWといいつつmsysのbashやろ
これもforkがcygwinゆずりだから遅い。
wslもfork遅いと思うけど。
virtual boxにwindowsファイルを共有させたものの方が実は速い。
純粋にwindowsとLinuxの環境を同居させたきゃ仮想PC
Linuxでwindows binaryをクロスビルド、テストまでしたけりゃwsl
0714デフォルトの名無しさん
垢版 |
2020/05/03(日) 23:40:13.01ID:sXSeyux8
>>712
forkが遅いのはわかってるけど、
このコードでforkなんて大量にはしないだろ?

time bash -c 'for i in {1..1000000}; do :; done'
0715デフォルトの名無しさん
垢版 |
2020/05/04(月) 02:27:10.75ID:R/PLl+Gn
元々、bash が、ループ向きではないから、dash などを使う

for は遅いから、while などを使う。
実行時間中のほとんどが、フォークの時間

ループは、awk, perl, ruby などでは、0.1 秒も掛からない。
単一プロセス中の処理だから
0716デフォルトの名無しさん
垢版 |
2020/05/04(月) 03:06:12.15ID:szliIti6
あ、dashの結果書くの忘れてた。dashは速いから数を10倍にしてる
傾向は一緒。ただのループなのに2倍ぐらいの差が出てしまう

WSL1
$ time dash -c 'for i in $(seq 10000000); do :; done'
real 0m4.480s
user 0m2.875s
sys 0m2.047s

Cygwin
$ time dash -c 'for i in $(seq 10000000); do :; done'
real 0m7.598s
user 0m6.531s
sys 0m1.296s

MinGW64
$ time dash -c 'for i in $(seq 10000000); do :; done'
real 0m7.905s
user 0m6.905s
sys 0m1.155s
0718デフォルトの名無しさん
垢版 |
2020/05/04(月) 03:16:08.18ID:szliIti6
awkは更に速いから、更に10倍にしてる。これなら理解できるな。
CygwinとMinGW64がWSL1より少し遅いのは起動時のパフォーマンスの差だろう
ってことはシェルスクリプトだと、なにか遅くなる処理をやってるってことか
整数型じゃないとか?

WSL1
$ time awk 'BEGIN{i=0;for(i=0;i<100000000;i++);}'
real 0m4.121s
user 0m4.109s
sys 0m0.016s

Cygwin
time awk 'BEGIN{i=0;for(i=0;i<100000000;i++);}'
real 0m4.978s
user 0m4.875s
sys 0m0.031s

MinGW64
$ time awk 'BEGIN{i=0;for(i=0;i<100000000;i++);}'
real 0m4.586s
user 0m4.562s
sys 0m0.015s
0719715
垢版 |
2020/05/04(月) 04:54:04.28ID:R/PLl+Gn
for がコマンドだから、フォークされるのだろ。
だから、シェルスクリプトでは、while を使えと言われる

bash よりも、dash を使う。
それ以上は、awk, perl, ruby
0720デフォルトの名無しさん
垢版 |
2020/05/04(月) 05:14:01.45ID:szliIti6
whileを使うと遅いからforに変えたのですが?
forを使った>>716とループ回数は同じ

WSL1
$ time dash -c 'for i in $(seq 10000000); do :; done'
real 0m4.480s
user 0m2.875s
sys 0m2.047s

$ time dash -c 'i=0; while [ $i -lt 10000000 ]; do i=$((i+1)); done'
real 0m15.811s
user 0m15.766s
sys 0m0.016s

Cygwin
$ time dash -c 'for i in $(seq 10000000); do :; done'
real 0m7.598s
user 0m6.531s
sys 0m1.296s

$ time dash -c 'i=0; while [ $i -lt 10000000 ]; do i=$((i+1)); done'
real 0m26.173s
user 0m26.109s
sys 0m0.031s


MinGWはCygwinと大差ないので省略
0721715
垢版 |
2020/05/04(月) 07:28:52.02ID:R/PLl+Gn
8年前のシェルスクリプトの本には、
10万行の処理で、

for : 9分
while : 5秒
awk/perl : 0.1秒
0722715
垢版 |
2020/05/04(月) 07:33:20.66ID:R/PLl+Gn
$((i+1)) という部分が、コマンドだから遅いのだろう

ほとんどが、そのフォーク時間
0723デフォルトの名無しさん
垢版 |
2020/05/04(月) 07:37:26.49ID:iIYyf/rd
せいぜいbashのサブコマンドで、forkしとらん気がする
ただマルチスレッドは使ってるかも知れんし、その際のメモリ操作はなんか性能の問題があった気はする
0725デフォルトの名無しさん
垢版 |
2020/05/04(月) 18:39:29.61ID:EvcVp/Zr
$(())内でiを更新できることから分かるようにforkしていないし、少なくともbashとdashはシングルスレッド

linux上で
ltrace -f bash -c 'for i in {1..1000000}; do :; done'
したら、mallocを何度も呼んでいるようだから、ヒープ操作関係が遅い可能性はある
実際、linux上でもmallocの実装をglibcのからjemallocに切り替えたら上のループが2割近く速くなった
0727デフォルトの名無しさん
垢版 |
2020/05/06(水) 19:33:37.07ID:DK8FW5YB
以下のパッケージ、入れようとすると対象が見つからないと出るんだけど・・・

dlfcn
libpng
tools-git
jq
clang
0729デフォルトの名無しさん
垢版 |
2020/05/06(水) 22:45:14.75ID:UqyV1t7H
>>727
ないんだろ?Cygwinは独自のディストリ
Windowsに移植できたもの、自分が関心があるパッケージしか
登録されていない
0730デフォルトの名無しさん
垢版 |
2020/05/11(月) 23:46:54.34ID:77t5bXxM
GCC 10.1まだですか
0735デフォルトの名無しさん
垢版 |
2020/05/14(木) 10:05:25.88ID:tvxDWcUo
きばれ
tdm-gcc (64)
0738デフォルトの名無しさん
垢版 |
2020/05/22(金) 14:26:50.74ID:DztlkuPK
msys2をサイレントインストールするにはどうしたら良いですか?
0741デフォルトの名無しさん
垢版 |
2020/05/29(金) 02:44:46.36ID:o1TI0Bdi
そろそろ更新してくれ
0742デフォルトの名無しさん
垢版 |
2020/06/23(火) 03:13:01.66ID:1wsAa41I
新版まだですか〜
0747デフォルトの名無しさん
垢版 |
2020/06/23(火) 12:40:28.65ID:AJ4z3x9t
mingwは「Git For Windows」のバンドルモジュールとしてしぶとく生き残る。
cygwinはdll依存をなくしてmingwに統合されていくでしょ。
0749デフォルトの名無しさん
垢版 |
2020/06/23(火) 13:44:06.97ID:oj2a+YQY
gcc -staticがデフォじゃないのがよくわからん
じゃあMinGWの立ち位置って何よって
0754◆QZaw55cn4c
垢版 |
2020/06/23(火) 18:42:37.39ID:sbDHiXI+
MSVC に依存したくないので、mingw をお手軽に維持できる cygwin 環境はありがたいですね…
0755蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/23(火) 18:50:53.69ID:5yVlyLrR
WineHQとかRosBEとかはLinuxでも使えるクロスコンパイラを用意している。まあ、やる人は少ないが。
0757蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/23(火) 19:25:00.34ID:5yVlyLrR
XPでも動くプログラムが作れるってのが味噌。MSYS2はVista+に移行した。
0759デフォルトの名無しさん
垢版 |
2020/06/23(火) 22:14:53.82ID:MHuIwrXa
移行したと言うか、互換性の点でbashの方が良かったが
bashのライセンスがGPL3に変わって受け入れられなかったから
仕方なくzshにしたってだけだろ
古いbash 3系よりは、zshの方がまだましという消極的な理由
0760デフォルトの名無しさん
垢版 |
2020/06/24(水) 11:23:52.65ID:6+kkBVmV
>>752
>>754
tdmgcc で cygwin から解放されました
ほんとうにありがとうございました
0761デフォルトの名無しさん
垢版 |
2020/07/23(木) 17:26:38.39ID:VHveRWmf
更新まだですか
0762デフォルトの名無しさん
垢版 |
2020/07/25(土) 17:28:58.82ID:zqROUOzo
tdmgcc は wikipedia では開発が止まった事になってるな。
0763デフォルトの名無しさん
垢版 |
2020/07/25(土) 19:44:16.83ID:e/b0FSz8
フェラチオザウルスにパクってされちゃうよ
0765デフォルトの名無しさん
垢版 |
2020/08/02(日) 17:49:35.08ID:5nHbYcRj
GCC10.2が出ましたが更新まだですか
0769デフォルトの名無しさん
垢版 |
2020/09/06(日) 05:21:00.21ID:6+AOMFkl
どこ。
0772デフォルトの名無しさん
垢版 |
2020/09/12(土) 15:31:34.91ID:cDX1Q2rT
どこもろ
0773デフォルトの名無しさん
垢版 |
2020/09/13(日) 02:49:17.38ID:H5kZw8iZ
どこやねん
0783デフォルトの名無しさん
垢版 |
2020/09/24(木) 04:03:25.38ID:Qc2kqk0D
隅から隅まで探さないといけないやつを検索すらできないのかっていうのはなんか違わない?????
僕そもそもなぜかCygwinの話だと思ってたからそれ以前の問題なんですけど
0784デフォルトの名無しさん
垢版 |
2020/09/24(木) 08:19:03.36ID:hsn7nUMR
こまけーことは気にせずにmsys2使っときゃええんやで
cygwinはなあ…gccの更新いつも遅いから
0786デフォルトの名無しさん
垢版 |
2020/09/25(金) 05:05:33.50ID:xdrtZXMH
Git for Windows にバンドルされてるbash使えばいい。
ビルド環境はStrawberry Perlにバンドルされてるのを使えばいい。
0787デフォルトの名無しさん
垢版 |
2020/09/25(金) 10:53:31.32ID:4ovx1Tzj
git bash まじ重宝
0791デフォルトの名無しさん
垢版 |
2020/09/27(日) 17:39:43.97ID:RCK09O0u
ライブラリをストリップしたらあかんのではないかな
gccのオプションにexceptionのなんかがあった気がする
0794デフォルトの名無しさん
垢版 |
2020/09/28(月) 17:33:38.94ID:QxfbhGyV
Visual Studioに入ってるdumpbinに相当するコマンドある?
DLLのエクスポートテーブルを覗きたいんだけど
0795デフォルトの名無しさん
垢版 |
2020/09/28(月) 18:01:48.48ID:zjrobJ8x
digitalmars_com /ctg/implib.html
wiki_dlang_org /Win32_DLLs_in_D
www_kmonos_net /alang/d/dll.html
0797デフォルトの名無しさん
垢版 |
2020/10/16(金) 19:44:08.37ID:UdyDW7b6
オーイ
0800デフォルトの名無しさん
垢版 |
2020/11/09(月) 21:03:17.57ID:IuElySO5
fork: retry: resource temporarily unavailable とかでて直せない。
rebaseallとかやっても効果ないみたいだし
もうcygwin、msysのテストやめようかな
0801デフォルトの名無しさん
垢版 |
2020/11/10(火) 12:08:26.08ID:08CevRpc
おそらく D よりも需要無い
0803デフォルトの名無しさん
垢版 |
2020/12/15(火) 15:11:54.58ID:XwGFb1c9
MSYS2には、lscpuコマンドはないのかな?
CentOSなんかだとutil-linuxパッケージに入ってるけど、MSYS2のには入ってないもよう。。。
0806デフォルトの名無しさん
垢版 |
2020/12/15(火) 17:22:03.48ID:ME0vqtfe
MinGWって終わってるよな
0811デフォルトの名無しさん
垢版 |
2020/12/23(水) 09:37:51.13ID:vcwRrO0n
コロナもどんどん変異種がでてきとるしな
もう人類は無理だろ
さよなら人類
0812デフォルトの名無しさん
垢版 |
2021/01/17(日) 17:25:02.12ID:/QJK4AMk
マジで終わりそうでコロナ怖い
0817デフォルトの名無しさん
垢版 |
2021/01/30(土) 08:40:50.47ID:PJvUkb6d
g++ (Rev6, Built by MSYS2 project) 10.2.0
Microsoft Windows [Version 10.0.18363.1316]
なんだけど、filesystem::hard_link_countが1しか返さないのはギャグ?

Microsoft(R) C/C++ Optimizing Compiler Version 19.28.29336 for x86
ちな、こいつはちゃんと2以上も返す
0818デフォルトの名無しさん
垢版 |
2021/02/10(水) 11:13:22.11ID:fLW5nkpk
MSYS2でアップデートしたらmintty周りの設定が飛んだみたい
もうWSL2にしろってことか
0819デフォルトの名無しさん
垢版 |
2021/02/25(木) 09:27:22.73ID:opz1PtTZ
int a [100];
for_each(par,a,a+100,[](auto){while(true);});

g++ a.cpp -std=c++17 -O3 -mavx512f -mtune=znver2
a.exe

resmonで見るとどうもシングルスレッド
のようなんだが、なんで?
ちな、vsだとちゃんとマルチで動く
0823デフォルトの名無しさん
垢版 |
2021/02/26(金) 21:22:38.26ID:P5cIP6RT
mingwとMSYSの使い分けがいまだによく分からん

MSYSのdllを使うコマンドか否か、みたいなのは分からなくはないが、
それはユーザが意識せにゃならんのかいなと

結局、エクスプローラのsendtoとかで別にあるLinuxサーバに送って、
TeraTermでそのディレクトリでシェルを起動して、grepとかawkとかってやっちゃうわ
0826デフォルトの名無しさん
垢版 |
2021/02/27(土) 11:46:46.02ID:ZfwkxC6h
>>823
MSYSはmingwを含む擬似Linux環境で、mingwはLinux(POSIXではないのかな)のAPI
ゲートウェイみたいな感じ?
Linux上と同じ結果になる補償は無いけどMSYSのバイナリは直接Windowsで動作する
ものなので、MSYSの「usr/bin」にパス通しておけば直接コマンドプロンプトで使えるけど
ダメかな?
0827デフォルトの名無しさん
垢版 |
2021/02/27(土) 13:11:19.55ID:o2ETenih
だからmingwは開発ツールで、gccとその仲間達
MSYSはPOSIX的なコンピュータ操作環境
0830デフォルトの名無しさん
垢版 |
2021/03/05(金) 20:16:57.84ID:WyYIPIbI
g++コンパイルが遅すぎ何とかして
0836デフォルトの名無しさん
垢版 |
2021/03/08(月) 12:52:15.63ID:kBU69stw
MSYS2 はネイティブ実行ファイルを作る開発環境で、
POSIX 互換レイヤはあくまでも開発環境 (GNU ツールチェインなど) を動かすための最小限度というのがコンセプト。
POSIX 互換の実行環境として全体の面倒をみる Cygwin とはコンセプトが違う。
(Cygwin でも posix 互換レイヤを通さない実行ファイルを作れはするけど基礎理念の話ね。)

MSYS2 をインストールしたときに

・ MSYS2 MinGW 32-bit
・ MSYS2 MinGW 64-bit
・ MSYS2 MSYS

の三種類の環境が用意されるけど、
MSYS2 MSYS は開発環境の保守として使うだけに留めて
普段の開発には MSYS2 MinGW を使うのが標準的な運用形態。

そういう理念を実現するにあたって結果としては msys-2.0.dll に依存するかどうかの差
になって現れるのは確かだけど、そこだけで区別すると意味わからんよ。
0841デフォルトの名無しさん
垢版 |
2021/03/22(月) 22:53:03.50ID:ybVyFf4F
minttyでおすすめのフォント設定を教えてください
メニューで出て来る選択肢の中で一番マシなEPSON 太丸ゴシック体Bで、今は誤魔化してます

$ mintty.exe --version
mintty 3.4.4 (x86_64-pc-msys)
c 2013/2020 Andy Koppe / Thomas Wolff
License GPLv3+: GNU GPL version 3 or later
There is no warranty, to the extent permitted by law.

という環境で、git for windows同梱のものをWindows 8.1 64bit上で使っています
0843デフォルトの名無しさん
垢版 |
2021/03/22(月) 23:56:47.08ID:0vVHIzCT
Font=欧文フォント
FontChoice=CJK:1
Font1=日本語フォント
みたいにして欧文と日本語で別のフォントを指定してる
0844デフォルトの名無しさん
垢版 |
2021/03/23(火) 00:28:54.24ID:jgiu4i3h
御教示ありがとうございました
.minttyrcでのFontChoiceの設定ふくめ、色々調整してみます
0845デフォルトの名無しさん
垢版 |
2021/03/23(火) 01:01:17.32ID:G0iN/IIq
個人的には VL Gothic だが、そういうのは好みの幅が大きいから意見を貰ってもあまり参考にはならなさそう。
0846デフォルトの名無しさん
垢版 |
2021/03/30(火) 02:32:27.70ID:kQ+Iabze
このスレを読んでいるとMinGWよりもWSLの方が高速だという話ですが本当でしょうか?
WSLは何となく遅そうなイメージがありましたが、あれはWindowsと同じレベルで動いているのですか?
0847デフォルトの名無しさん
垢版 |
2021/03/30(火) 02:52:22.86ID:AJYcji2D
>>846
WSL はあくまでも Linux が動いている。
Windows よりも速い部分もあれば遅い部分もある。

ただ、 Windows の側とのやりとりが発生する部分、
特にファイルの入出力にボトルネックがあるというのはよく指摘される部分だと思う。
I./O が多く発生するような場合には WSL は遅くなりがち。

それと、 WSL を使うということは Windows と Linux の両方が起動して
コンピューターの中に共存している状態。
単純にメモリ消費量が多い。
充分な物理メモリが載ってないときついということはあるかも。

単純に速いとか遅いとかとは評価できないので特性を理解してっていう話だし、
具体的な条件が決まっているなら測定してみるのがてっとりばやいよ。
0849デフォルトの名無しさん
垢版 |
2021/03/30(火) 08:00:17.76ID:A9lvR3CA
wsl2はlinuxが動いてるんだけどwslはABI互換でwindowsでlinuxのバイナリを動かしてる感じ
速度はなんとも言えない
なおcygwinはとにかくIOが遅い
0850デフォルトの名無しさん
垢版 |
2021/03/30(火) 13:59:25.50ID:rMZjDh6L
やることにもよるけどWSLが十分に機敏に動作する環境jなら、Linuxが動いている
だけのWSLの方が処理は早いことが多いかも
ただWSLは所詮Linux部分はLinuxでWindowsとは無関係に動いているような構造
なので、MinGWとかCygwinみたいにコマンドプロンプトとかでLinuxのコマンド使い
たいみたいなことは出来ないし、まだCUI部分しか動作しないとかも考えると
LinuxはWSlじゃなくてVMWareみたいなエミュレータの方が良いかなって思う
0851デフォルトの名無しさん
垢版 |
2021/03/30(火) 14:08:20.87ID:58d8d/13
でもwslってwindowsのexe動くからね
無理矢理感あって俺は好きだよ
まあ正確な動作ということならwsl2だよね
0852デフォルトの名無しさん
垢版 |
2021/04/18(日) 16:38:27.97ID:ZM4jma5X
うひょっ
0853デフォルトの名無しさん
垢版 |
2021/04/23(金) 23:47:56.17ID:hyXGjiN1
がーすー
0854デフォルトの名無しさん
垢版 |
2021/04/24(土) 06:19:36.43ID:7Pw5CUw8
WSL2 は、Microsoft が作っている、Linux カーネルを使うから、
毎月カーネルが自動更新されるので便利

Cent と同じで、無料サポートみたいなもの

Amazon Linux みたいなもの。
Amazonが自動更新する。
ユーザーがOS を管理しない、サーバーレス
0855デフォルトの名無しさん
垢版 |
2021/04/24(土) 12:35:18.00ID:h25BJ37h
なんかMinGWのダウンロードサイト死んでるように見えるんだけどこれってなんか理由あんの?
0858デフォルトの名無しさん
垢版 |
2021/05/05(水) 11:10:13.65ID:vI4aKPxv
ffmpegのコンパイルが24時間経っても終わらない前は2時間ぐらいで終わったのに
MinGWでGWが終わる
0863デフォルトの名無しさん
垢版 |
2021/06/14(月) 20:26:46.66ID:8ZmqHLEu
使ってるといつの間にかC:\msys64\mingw64\libとC:\msys64\usr\lib
に同じパッケ入っているのが、モヤッとする
0867デフォルトの名無しさん
垢版 |
2021/06/28(月) 17:01:09.02ID:F/0kPYVA
>>866
-gオプション自体がない
ざっと見た感じ同じような機能をもつオプションも見当たらなかった
0868デフォルトの名無しさん
垢版 |
2021/06/28(月) 17:10:44.85ID:+000hd27
gdbでデバッグする場合は、
gdb を起動。
「run コマンドライン」でターゲットをデバッグ起動。
止まったところで「backtrace」する。
「quit」で終了。

これで呼び出し履歴が取得できるぞ。
0871デフォルトの名無しさん
垢版 |
2021/07/02(金) 11:07:38.54ID:wGfEJWRL
msys2のpacmanが6.0.0になってからパッケージデータベースの
シグネチャファイルをダウンロードしなくなったな。
~.db.sigってやつ。
0873デフォルトの名無しさん
垢版 |
2021/07/27(火) 14:04:59.30ID:cZjH0t2V
Makefileからcmd.exeでバッチファイル動かす方法ある?
cmd -c hogehoge.bat じゃうまくいかない
0876デフォルトの名無しさん
垢版 |
2021/07/27(火) 16:04:27.73ID:Dog97Bpd
-k
0877デフォルトの名無しさん
垢版 |
2021/07/27(火) 16:53:55.98ID:x4yitIm8
漏れは、デスクトップにショートカットを作っているけど、そのリンク先は、
コマンドプロンプトを起動して、Ruby スクリプトを実行する

C:\Windows\System32\cmd@.exe /k "ruby C:/Users/Owner/Documents/Ruby/a.rb"

注意。書き込めないので、cmd@.exeと、間に@を入れました
0878デフォルトの名無しさん
垢版 |
2021/07/31(土) 13:56:23.14ID:t9HNV453
>>875
こういう感じ
D:\learn\make\bat>make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i686-pc-msys

D:\learn\make\bat>type makefile
all:
cmd -c test.bat

D:\learn\make\bat>type test.bat
echo %date% %time%

D:\learn\make\bat>make && echo meow
cmd -c test.bat
Microsoft Windows [Version 10.0.19041.1110]
(c) Microsoft Corporation. All rights reserved.

D:\learn\make\bat>exit
meow

D:\learn\make\bat>

ただcmd.exeが起動するだけでtest.batが動いてない
そしてcmd.exeが常駐するようで、これを手動でexitすると
&& の右側が実行されてにゃあと鳴く
0880デフォルトの名無しさん
垢版 |
2021/07/31(土) 14:38:37.39ID:t9HNV453
バージョン古いせいかなと思ってやってみたけど
D:\learn\make\bat>make --version
GNU Make 4.3
Built for x86_64-pc-msys
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>;
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

D:\learn\make\bat>make && echo meow
cmd -c test.bat
Microsoft Windows [Version 10.0.19041.1110]
(c) Microsoft Corporation. All rights reserved.

D:\learn\make\bat>exit
meow

D:\learn\make\bat>where make
c:\msys64\usr\bin\make.exe

D:\learn\make\bat>

どうやら症状は変わらないみたい
0882デフォルトの名無しさん
垢版 |
2021/07/31(土) 14:51:31.56ID:t9HNV453
お、できた!
makeって/を「ルート」と読んでしまうから-にしてたんだけど、まさかこれだったとは・・・

dx >>881
0883デフォルトの名無しさん
垢版 |
2021/07/31(土) 16:57:37.31ID:LRA0vGhm
な?
馬鹿だっただろ?
0889ハノン ◆QZaw55cn4c
垢版 |
2021/11/17(水) 04:07:51.95ID:Kdlo9yNJ
kmtar ははいっていますか?taz が使えて便利だったんですが…
0891デフォルトの名無しさん
垢版 |
2021/12/07(火) 02:19:31.74ID:lQSQ5VR9
msys2やcygwinはもう終わりだけど、linux上でmingw-64はwslの波に乗っただろう
wsl/gcc+wsl/mingw-64+win/mingw-64の3重コンパイルでクロス開発が捗る
0893デフォルトの名無しさん
垢版 |
2021/12/07(火) 05:40:52.07ID:6IfYS1Dr
開発環境がlinuxで、windowsポート考えるならベストチョイスじゃないの
というかそれしかなくね?

linux版がwin版ほどメンテされてないというのは確かに事実で、両OSのmingwで吐かれるwinバイナリが同じという保証は乏しい
wsl使えるなら両方試して齟齬がないか検証すべきでは
0895デフォルトの名無しさん
垢版 |
2021/12/07(火) 06:18:19.41ID:6IfYS1Dr
開発マシンがliunxでもwineみたいなwinエミュレータ使えばwin機なくてもテストは可能かもしれないけど
wineってかなり挙動不審だしな…

windows/wsl環境+mingw for linuxなら本物のwindows環境でテストが完結できるだろ
0896デフォルトの名無しさん
垢版 |
2021/12/12(日) 04:03:15.14ID:W0kKCLn+
MinGWのGCCやClangてなんかコンパイル遅い気がするんだけど
WSL上のlinuxだとちょっと早かったりする?
0897デフォルトの名無しさん
垢版 |
2022/09/02(金) 17:31:47.01ID:xfIuEZrx
https://github.com/zhlynn/zsign
これをビルドするのにMSYS2を入れて、git clone git@github.com:witwall/mman-win32とやったのですが、Permission deniedとなってしまいcloneできません。

MSYS2はmsys2-x86_64-20220603で以下のコマンドでコアとパッケージシステムを更新、インストールしています
pacman -Syu
pacman -Su
pacman -S base-devel
pacman -S msys2-devel
pacman -S mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain
0901デフォルトの名無しさん
垢版 |
2022/09/04(日) 14:58:21.80ID:dy/AOC8s
>>899
過疎スレで誰も見てないなと思ってついやっちゃってごめんね
0903デフォルトの名無しさん
垢版 |
2022/09/04(日) 17:00:20.38ID:A8KVTWK8
>>900
このスレ以外のxxスレでも同じ質問しています
と全部のスレに描いて置くだけでもはるかにマシだと思うが
0905デフォルトの名無しさん
垢版 |
2022/09/05(月) 05:46:53.76ID:YC0Agv6v
>>903
どこのスレで聞く予定か決まってないとできないことだね
どっかのスレで聞いて有効回答が得られなかったから他をあたるときは無理
そこでもう諦めろという資格はあんたにはない

せっかく回答しても一言多い人はイヤミなやつと思われる
fjにもいたよ、やなやつ系の人
0908デフォルトの名無しさん
垢版 |
2022/09/05(月) 18:36:40.42ID:CjnDxYFq
> どこのスレで聞く予定か決まってないとできないことだね
> どっかのスレで聞いて有効回答が得られなかったから他をあたるときは無理
ここの「できない」「無理」を否定しているだけで、クロスじゃねえかどうかは関係ないよ。
0909デフォルトの名無しさん
垢版 |
2022/09/06(火) 06:32:16.53ID:8iFyZ+3k
自分が個人的に気に入らないってだけで
他人にああしろこうしろ言う図々しいやつ
0910デフォルトの名無しさん
垢版 |
2022/09/06(火) 09:15:35.13ID:9WMtC8UL
>>905
>どこのスレで聞く予定か決まってないとできないこと

ちなみにクロスもどこのスレで聞く予定か決まってないとできないことだぞ
0911デフォルトの名無しさん
垢版 |
2022/09/06(火) 10:05:14.92ID:8iFyZ+3k
マルチすんなというバグった骨董品に5chにクロスの機能がないのに無茶ぬかすなと指摘したんだよ
それへの返事()が>>903のような頓珍漢な内容だったんで
端っから破綻している話をおちょくっただけだが文句あんのか?
マニュアルトークばっかりで中身のないハリボテ野郎がw
0912デフォルトの名無しさん
垢版 |
2022/09/06(火) 12:50:52.33ID:QxRWO4Sk
>>902
./configure に、そんなオプションが存在しないのでは?

>No rule to make target 'config.mak'
「ffmpeg config.mak」などで検索すれば?
0913デフォルトの名無しさん
垢版 |
2022/09/06(火) 13:39:00.56ID:4u8//Iu5
opensslをビルドしたけど、これって成功してる?失敗してる?

make depend && make _build_sw
make[1]: Entering directory '/home/XXX/openssl'
make[1]: Leaving directory '/home/XXX/openssl'
make[1]: Entering directory '/home/XXX/openssl'
x86_64-w64-mingw32gcc -I. -Iinclude -Iapps/include -m64 -Wall -O3 -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib64/engines-3\"" -DMODULESDIR="\"/usr/local/lib64/ossl-modules\"" -DUNICODE -D_UNICODE -DWIN32_LEAN_AND_MEAN -D_MT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o apps/lib/libapps-lib-app_libctx.obj apps/lib/app_libctx.c
/bin/sh: line 1: x86_64-w64-mingw32gcc: command not found
make[1]: *** [Makefile:2624: apps/lib/libapps-lib-app_libctx.obj] Error 127
make[1]: Leaving directory '/home/XXX/openssl'
make: *** [Makefile:1554: build_sw] Error 2
0914デフォルトの名無しさん
垢版 |
2022/09/06(火) 14:04:07.58ID:M4FVZY7o
失敗している

直前に実行したコマンドが成功したかどうかは
$ echo $?
で確認する
0 が表示されれば成功
それ以外は失敗
0915デフォルトの名無しさん
垢版 |
2022/09/06(火) 14:06:57.11ID:M4FVZY7o
>>913
ちなみに原因は x86_64-w64-mingw32gcc を起動したこと
正しくは x86_64-w64-mingw32-gcc
prefixに指定すべきは
x86_64-w64-mingw32 ではなく
x86_64-w64-mingw32- ということだと推測される
0916デフォルトの名無しさん
垢版 |
2022/09/06(火) 16:17:14.54ID:QxRWO4Sk
>/bin/sh: line 1: x86_64-w64-mingw32gcc: command not found
そういうコマンドが存在しないのじゃ?

コマンドが存在すれば、
which python3
/usr/bin/python3

which x86_64-w64-mingw32gcc
と入力してみれば?
0917デフォルトの名無しさん
垢版 |
2022/10/06(木) 15:32:07.23ID:Ov6T9Uu9
opensslをビルドしようとすると
cc1.exe: fatal error: md2test.c: No such file or directory
compilation terminated.
make[1]: *** [<builtin>: md2test.o] Error 1
make[1]: Leaving directory '/home/hoge/openssl/test'
make: *** [Makefile:296: build_tests] Error 1
と出る・・・
0918デフォルトの名無しさん
垢版 |
2022/10/06(木) 15:33:01.61ID:Ov6T9Uu9
コマンドは以下の通り
cd /root/openssl
git checkout OpenSSL_1_0_2s
./Configure --cross-compile-prefix=x86_64-w64-mingw32- mingw64
0922デフォルトの名無しさん
垢版 |
2022/10/07(金) 15:18:33.31ID:2fSodFyt
どうもcheckout時にtest/md2test.cがなくなったっぽい
0923デフォルトの名無しさん
垢版 |
2022/10/08(土) 19:39:30.38ID:qxTVurIe
>>920
ほぼ同じことをやったけど、やっぱ>>917と同じ事が起きた
OpenSSL_1_0_2sでもtest/md2test.cがないとコケる
0924デフォルトの名無しさん
垢版 |
2022/10/08(土) 21:46:27.37ID:xDu3MKAN
If you want to just get on with it, do:

$ ./config
$ make
$ make test
$ make install

とINSTALLにあるけど
0925デフォルトの名無しさん
垢版 |
2022/10/09(日) 12:19:38.59ID:Tz+TsrJC
実はこれをビルドしてるんです
https://github.com/zhlynn/zsign/issues/158

>>924を参考に
cd openssl
git checkout OpenSSL_1_0_2s
./Configure --cross-compile-prefix=x86_64-w64-mingw32- mingw64
make
make test
とやったんだけど、やはりmd2test.c絡みエラーが出た
0927デフォルトの名無しさん
垢版 |
2022/10/09(日) 18:48:11.24ID:Pj/q53xX
INSTALL.W64

You will need Perl.
You will need Microsoft Platform SDK


To build for Win64/x64:

> perl Configure VC-WIN64A --prefix=c:\some\openssl\dir
> ms\do_win64a
> nmake -f ms\ntdll.mak
> cd out32dll
> ..\ms\test

とあるね
0929デフォルトの名無しさん
垢版 |
2022/10/10(月) 17:42:08.13ID:uEke22m0
linuxでビルドしてみたけどopenssl-OpenSSL_1_0_2-stableだとlibssl.soができないから失敗してるぽい
openssl-OpenSSL_1_1_1の方はmake testまで通った

$ @bash ~/build/openssl-OpenSSL_1_0_2-stable
$ find "." -type f | perl -ne '/libssl/ and print'
./libssl.pc
./libssl.a


$ @bash ~/build/openssl-OpenSSL_1_1_1q
$ find "." -type f | perl -ne '/libssl/ and print'
./util/libssl.num
./linux/libssl.map
./linux/libssl.pc
./linux/libssl.a
./linux/libssl.so.1.1
0930デフォルトの名無しさん
垢版 |
2022/10/20(木) 23:31:35.93ID:+6WDZGK8
msys2と違ってtdm-gccはgccのバージョンが選べる代わりに
更新がむちゃ遅いやんけ〜
多分、人手が足りないんやなぁ
0931デフォルトの名無しさん
垢版 |
2022/10/24(月) 16:47:31.17ID:VKX4Fsrh
gcc 自体にはバージョンを混在させる仕組みはある。
クロスコンパイル用の環境を構築したいとかよくあることだし。
MSYS2 でもできなくはないけど、
今だと Docker を使うとかしたほうが簡単なのかなぁ……。
0932デフォルトの名無しさん
垢版 |
2023/03/14(火) 10:13:05.30ID:nRxoL4vn
MSYS2 MinGW64 の環境でSDL2を使ってゲームを作っています。
作ったゲームは将来的には配布する予定です。
それでDLLを動的リンクにするためにパッケージに含めたいと思っています。

今のところ起動に必要なDLLが
libgcc_s_seh-1.dll
libstdc++-6.dll
libwinpthread-1.dll
他、SDL2のdll
です。

C++とpthreadのdllは何となくわかるのですがlibgcc_s_seh-1というのは何でしょうか?
MinGW固有のgccのdllですか?
0936デフォルトの名無しさん
垢版 |
2023/03/28(火) 17:22:29.83ID:hvNFNzxE
tdm-gcc良いんだがな
0937デフォルトの名無しさん
垢版 |
2023/03/30(木) 10:23:19.95ID:B7uoZJXZ
>>930
Mingw-builds じゃダメなのか?
俺も最初は TDM-GCC 使ってたけど、何時までも更新されないから Mingw-builds の 12.2.0 に乗り換えた
俺が使っている wxWidgets 3.2.2.1 も普通にビルドできたし、若干コンパイル速度も上がった気がする
(気のせいレベルかもしれませんが・・・)
0940デフォルトの名無しさん
垢版 |
2023/09/12(火) 12:30:45.63ID:QOX8wfhQ
それよりゲロ重いのが
0942デフォルトの名無しさん
垢版 |
2023/09/28(木) 10:21:45.74ID:7+/lnWbq
そういやswingを低速言うてるけど
JavaFXのほうが初期化しめちゃめちゃ時間かかってもっさりしてるんだけど…
そしてmacでは未だにスレッド競合解決してない
swnigよりオワコンな気がする
0943デフォルトの名無しさん
垢版 |
2023/10/10(火) 09:18:07.78ID:vCJOXgr3
スレチ
0944デフォルトの名無しさん
垢版 |
2023/12/24(日) 13:46:07.33ID:zZdFC2zj
質問です。

・ OS は windows10 で、最近 MinGW-w64 を導入した。
・ 下記の test.cpp ファイルに対して g++ -m64 -o test5 test.cpp と実行。

test.cpp
#include <stdio.h>
#include <stdint.h>
int main(){ printf("%d %x %zu", sizeof(long), sizeof(long), sizeof(long)); getchar(); return 0; }

・ 出力された test5.exe を実行してみると、なぜか「4 4 4」と表示されてしまい、
 「8」が1個もない。64ビット環境では、sizeof(long) は「8」なのでは?

・ test5.exe を右クリックして互換モードの欄を見てみると、
  Vista 以降のものしか表示されないので、
  ちゃんと64ビット版の実行ファイルになっている
  (他にも色々な確認方法があるが、いずれも64ビット版に合致する)。

・ それなのに「8」と表示されないのはなぜ?
0945はちみつ餃子 ◆8X2XSCHEME
垢版 |
2023/12/24(日) 15:28:23.49ID:SfA3xmSz
>>944
> 64ビット環境では、sizeof(long) は「8」なのでは?

単にその認識が誤り。
64ビット版の Windows の ABI では long は 4 バイトと規定してる。
https://learn.microsoft.com/ja-jp/cpp/build/x64-software-conventions?view=msvc-170#scalar-types

コンパイラが OS の規定に逆らって独自の仕様にしたってかまわないんだけど、
やりとりがややこしくなっちゃうだけで得なことはないからね。
レスを投稿する

レス数が900を超えています。1000を超えると表示できなくなるよ。

ニューススポーツなんでも実況