저는 주요 대학에 근무하고 있으며 매년 모든 컴퓨터에서 사회보장번호(SSN)를 검사하도록 하는 정책을 갖고 있습니다. 라는 프로그램을 사용하기 시작했습니다.SS 저격수이것은 UIUC에서 만들어졌습니다. 불행하게도 그 유틸리티를 지원했던 사람은 더 이상 그 대학에서 일하지 않으며, 그 유틸리티는 버려진 것 같습니다.
어쨌든 내 실제 문제는 다음과 같습니다. CentOS 6.2 서버에서 SSNiper용 새 RPM을 컴파일하고 빌드하려고 하는데 컴파일 단계가 제대로 작동하는 것처럼 보이지만 "make rpm" 부분이 오류와 함께 죽어가고 있습니다.
rm -f magic_test.o dbase.o ssniper.o list.o validate.o scan_file.o config_file.o ssn_fsm.o extension_test.o logging.o get_line.o list_test.o ssniper
darcs get . ssniper-`cat VERSION`-`cat RELEASE`
darcs failed: Not a repository: /home/racooper/download/ssniper-0.9.7-2 (/home/racooper/download/ssniper-0.9.7-2/_darcs/inventory: openBinaryFile: does not exist (No such file or directory))
make: *** [tarball] Error 2
SSNiper에 대한 경험이 있거나 위의 문제에 대한 해결책을 제안할 수 있는 사람이 있다면 매우 감사하겠습니다.
답변1
다르코스CVS, Subversion, Git, Mercurial 또는 Bazaar만큼 잘 알려지지 않은 버전 제어 시스템입니다. tarball
makefile의 대상은 저장소에서 파일을 가져와 소스 아카이브를 구축하고 Darcs 기록에서 변경 로그를 생성합니다.
기존 소스를 사용하는 경우 원하는 이름( )으로 tarball을 생성하고 ssniper-0.9.7-2.tar.gz
(command를 사용하여)라는 이름의 빈 파일을 생성하여 타겟이 해당 명령을 실행하지 못하도록 합니다.tarball
touch tarball
tarball
소스 코드를 수정한 경우 tarball
다음에서 대상을 편집하세요 Makefile.in
. darcs에 대한 호출을 깨끗한 소스 아카이브를 얻는 데 필요한 모든 항목( 또는 개정 제어 시스템이 제공하는 모든 항목)으로 바꾸 git archive
세요 hg archive
. 수정 후 다시 실행하여 ./configure
재생성합니다.Makefile
Makefile.in
답변2
Ulrich Dangel의 의견 덕분에 rpm에서 tarball로의 모든 호출을 완전히 제거한 다음 컴파일할 수 있다는 것을 알았습니다. 또한 makefile과 .spec 파일에서 다른 오류도 발견했습니다(32비트 플랫폼을 가정하여 중복된 것처럼 보이는 행 등).
darcs 및 makefile 구문 분석에 대한 지식을 제공한 Gilles에게도 감사드립니다.