일부 시스템에서 발생하는 세그먼트 오류를 수정하는 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.