[질문] 소스 rpm 설치에 관해서 질문 드립니다.
글쓴이: jiggol / 작성시간: 수, 2009/05/13 - 2:37오전
os : centos 5.3
Failed 1 test out of 1516, 99.93% okay.
../ext/Test/Harness/t/taint.t
### Since not all tests were successful, you may want to run some of
### them individually and examine any diagnostic messages they produce.
### See the INSTALL document's section on "make test".
### You have a good chance to get more information by running
### ./perl harness
### in the 't' directory since most (>=80%) of the tests succeeded.
### You may have to set your dynamic library search path,
### LD_LIBRARY_PATH, to point to the build directory:
### setenv LD_LIBRARY_PATH `pwd`:$LD_LIBRARY_PATH; cd t; ./perl harness
### LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd t; ./perl harness
### export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH; cd t; ./perl harness
### for csh-style shells, like tcsh; or for traditional/modern
### Bourne-style shells, like bash, ksh, and zsh, respectively.
u=2.97 s=1.03 cu=364.82 cs=39.10 scripts=1516 tests=200756
make[2]: *** [_test_tty] 오류 1
make[2]: Leaving directory `/usr/src/redhat/BUILD/perl-5.10.0'
make[1]: *** [_test] 오류 2
make[1]: Leaving directory `/usr/src/redhat/BUILD/perl-5.10.0'
make: *** [test] 오류 2
오류: /var/tmp/rpm-tmp.33358의 잘못된 종료 상황 (%check)
RPM 제작 오류:
/var/tmp/rpm-tmp.33358의 잘못된 종료 상황 (%check)
[root@CentOS SPECS]# cat /var/tmp/rpm-tmp.33358
#!/bin/sh
RPM_SOURCE_DIR="/usr/src/redhat/SOURCES"
RPM_BUILD_DIR="/usr/src/redhat/BUILD"
RPM_OPT_FLAGS="-O2 -g -m32 -march=i686 -mtune=generic -fasynchronous-unwind-tables"
RPM_ARCH="i386"
RPM_OS="linux"
export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS
RPM_DOC_DIR="/usr/share/doc"
export RPM_DOC_DIR
RPM_PACKAGE_NAME="perl"
RPM_PACKAGE_VERSION="5.10.0"
RPM_PACKAGE_RELEASE="68"
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
RPM_BUILD_ROOT="/var/tmp/perl-5.10.0-68-V15275"
export RPM_BUILD_ROOT
PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig"
export PKG_CONFIG_PATH
set -x
umask 022
cd "/usr/src/redhat/BUILD"
cd 'perl-5.10.0'
# work around a bug in Module::Build tests bu setting TMPDIR to a directory
# inside the source tree
mkdir "$PWD/tmp"
TMPDIR="$PWD/tmp" make test
exit 0[root@CentOS SPECS]#
[root@CentOS SPECS]# 소스 rpm 으로 바이너리 rpm 을 만들려고 하면 계속 이런 에러가 발생합니다.
원인을 도저히 모르겠습니다.
도움 부탁드립니다.
Forums:


make test 에서 에러가
make test 에서 에러가 발생했나 보네요. rpm build 시에 return code 0 아닌 경우가 발생하면 빌드 에러를 내고 멈추게 됩니다. 에러 메시지로 보아서는
이게 에러의 주범인 것 같군요 :-) 근데 perl을 source rpm 을 rebuild 해서 업데이트 하시면 의존성이 깨지는 경우가 발생할 수 있을 것 같군요. 그렇다면 그 의존성이 깨진 패키지들까지 업데이트 한 펄과 함께 리빌드를 해야 할 수도 있습니다. ^^;
그렇다면 어떻게 이 에러를 극복해야 할까요?
먼저 답신 주신점 감사드립니다.
사실 perl 은 테스트삼아 빌드를 해보려 시도 한 것이었고 그 이전에 perl-devel 패키지를 rpm 빌드하려다가 실패를 했습니다. 아마 같은 에러로 기억됩니다.
yum list 에 있으면 좋겠지만 없어서 직접 빌드를 시도 하려는 것이구요
vim 7.2 버전을 rpm 빌드 하기 위해서 필요한 패키지 입니다.
해당 에러 파일을 열어 보았습니다.
[root@CentOS t]# cat taint.t #!/usr/bin/perl -w BEGIN { if ( $ENV{PERL_CORE} ) { chdir 't'; @INC = ( '../lib', 'lib' ); } else { unshift @INC, 't/lib'; } } # Test that options in PERL5OPT are propogated to tainted tests use strict; use Test::More ( $^O eq 'VMS' ? ( skip_all => 'VMS' ) : ( tests => 1 ) ); use Config; use TAP::Parser; my $lib_path = join( ', ', map "'$_'", grep !ref, grep defined, @INC ); sub run_test_file { my ( $test_template, @args ) = @_; my $test_file = 'temp_test.tmp'; open TEST, ">$test_file" or die $!; printf TEST $test_template, @args; close TEST; my $p = TAP::Parser->new( { source => $test_file, # Test taint when there's spaces in a -I path switches => [q["-Ifoo bar"]], } ); 1 while $p->next; ok !$p->has_problems; unlink $test_file; } { local $ENV{PERL5OPT} = '-Mstrict'; run_test_file(<<'END'); #!/usr/bin/perl -T print "1..1\n"; print $INC{'strict.pm'} ? "ok 1\n" : "not ok 1\n"; END } 1;어떻게 해결해야 할지 감이 잡히지 않습니다.
거의 의존성 문제일 겁니다
소스 rpm 말구요
perl rpm 을 설치해보세요
그럼 의존성 걸린것들도 설치를 할겁니다
그 이후에 소스 rpm을 빌드하시구요
생성된 rpm 과 동일한 이름의 rpm를 삭제
빌드된 rpm으로 설치
댓글 달기