幸いなことに、Win10 WSL の根本的な問題は修正されたようで、(できれば) 間もなくリリースされる予定です。
MichielB が指摘したように、-A または -D はこれを達成する必要があるように見えますが、私のテストのいくつかから、perl のConfigureが無視されたり、 が渡された場合に引数が渡され-A
たりするように見えます (重要性については、perl の metaconfig の「使用法」を参照してください)。それらの引数)。生成された config.sh の args リストに適切に形成された -A および -D フラグが明確に表示されているにもかかわらず、dont_use_nlink が追加されることはありません。-D
-de
たまたま、特別なPERLBREW_CONFIGURE_FLAGS
環境変数を使用しない限り、perlbrew はそれらをデフォルトとして渡します。
ただし、回避策があります。PERLBREW_CONFIGURE_FLAGS
を使用-f
して、独自の構成ファイルを渡すことができます。失敗した "perlbrew install" 実行によって生成されたほとんど正しい config.sh を使用し、それを微調整して渡すことができます。
手順:
- 失敗する perlbrew インストールを実行します。例:
perlbrew install perl-5.24.0
- 生成された config.sh ファイルを変更して再利用するためにどこかにコピーします。
cp /home/USERNAME/perl5/perlbrew/build/perl-5.24.0/config.sh ~/config_dont_use_nlink.sh
- ファイルを編集して挿入し
dont_use_nlink='define'
ます。整理してアルファベット順にファイルすると、dlsrc と doubleinfbytes の間になります。
dlsrc='dl_dlopen.xs'
dont_use_nlink='define'
doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'
- perlbrew install を実行しますが、新しい perl の Configure スクリプトに「-f」が渡される環境変数を設定します。
PERLBREW_CONFIGURE_FLAGS="-de -f /home/USERNAME/config_dont_use_nlink.sh" perlbrew install perl-5.24.0
これは、Win10 ビルド 14393 のほぼクリーンな WSL でコンパイルされ、ほぼすべてのテストに合格しています (残りは、WSL バグが既に提出されているもののように見えます)。