一部のシステムで発生するセグメントエラーを修正するperlモジュールnet :: ssh2のパッチ修正があります。
場所は次のとおりです。 https://rt.cpan.org/Public/Bug/Display.html?id=36614
パッチをダウンロードしましたが、どのように適用するのかわかりません。以前にインストールしたモジュールを削除し、ビルドフォルダに移動して実行しました。
パッチ ssh2.xs < p1
パッチが反転したかどうか尋ねた。よくわからないので「はい」を押しました。 ITはパッチが成功したと言い、その後は正常だと言いました。モジュールを取り付けます。パッチが機能しないような、またはパッチが適用されたバージョンを正しく移動しています。まだセグフォルトが発生し、誰もがこれが問題を解決すると言うので、このような感じがします。
答え1
正しいパッチ呼び出しは次のとおりです。
patch -p1 < net-ssh2-0.18-perl5.10.patch
SSH2.xsファイルと同じディレクトリでこれを実行しました。
答え2
Gnuパッチのマニュアルページから直接抜粋:
-p<num> or --strip=num
Strip the smallest prefix containing num leading slashes from each file name found in the patch file. A sequence of one or more adjacent
slashes is counted as a single slash. This controls how file names found in the patch file are treated, in case you keep your files in a
different directory than the person who sent out the patch. For example, supposing the file name in the patch file was
/u/howard/src/blurfl/blurfl.c
setting -p0 gives the entire file name unmodified, -p1 gives
u/howard/src/blurfl/blurfl.c
without the leading slash, -p4 gives
blurfl/blurfl.c
and not specifying -p at all just gives you blurfl.c. Whatever you end up with is looked for either in the current directory, or the direc-
tory specified by the -d option.