소스 컴파일 오류 좀 잡아 주세요 ㅡㅡ
작성자 정보
- 배움이 작성
- 작성일
컨텐츠 정보
- 3,068 조회
- 2 댓글
- 0 추천
- 목록
본문
안녕하세요^^*
소스 컴파일 질문 좀 드립니다.
초보라서 아는게 별로 없습니다.
열심히 해보려는대 소스 컴파일이 발목을 붙잡네요
도와 주시면 감사하겠습니다.
[root@centos tmp]# uname -a
Linux centos 2.6.18-92.1.6.el5 #1 SMP Wed Jun 25 13:49:24 EDT 2008 i686 i686 i386 GNU/Linux
[root@centos tmp]# yumdownloader --source freeradius-1.1.3-1.2.el5.src.rpm
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
* base: ftp.daum.net
* updates: ftp.daum.net
* addons: ftp.daum.net
* extras: ftp.daum.net
No Match for argument freeradius-1.1.3-1.2.el5.src.rpm
Nothing to download
파일 다운로드 위치
http://oss.oracle.com/el5/SRPMS-updates/freeradius-1.1.3-1.2.el5.src.rpm
[root@centos freeradius]# rpm -Uvh freeradius-1.1.3-1.2.el5.src.rpm
warning: freeradius-1.1.3-1.2.el5.src.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
1:freeradius warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
########################################### [100%]
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
오류가 발생했지만 freeradius.spec파일은 만들어 졌습니다.
[root@centos freeradius]# cd /usr/src/redhat/SPECS
[root@centos SPECS]# ls
freeradius.spec
rpmbuild시 의존성 파일은 모두 설치 했습니다.
파일 수정 없이 rpmbuild를 햇습니다.
[root@centos SPECS]#rpmbuild -bb freeradius.spec
mkdir: cannot create directory `/var/tmp/freeradius-1.1.3-1.2%{dist}-buildroot/usr/sbin': No such file or directory
make: *** [install] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.86486 (%install)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.86486 (%install)
===============================================================
/var/tmp/rpm-tmp.86486 내용입니다.
===============================================================
#!/bin/sh
RPM_SOURCE_DIR="/usr/src/redhat/SOURCES"
RPM_BUILD_DIR="/usr/src/redhat/BUILD"
RPM_OPT_FLAGS="-O2 -g -march=i386 -mcpu=i686"
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="freeradius"
RPM_PACKAGE_VERSION="1.1.3"
RPM_PACKAGE_RELEASE="1.2%{dist}"
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
RPM_BUILD_ROOT="/var/tmp/freeradius-1.1.3-1.2%{dist}-buildroot"
export RPM_BUILD_ROOT
set -x
umask 022
cd /usr/src/redhat/BUILD
cd freeradius-1.1.3
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/etc/{logrotate.d,pam.d,rc.d/init.d}
# fix for bad libtool bug - can not rebuild dependent libs and bins
export LD_LIBRARY_PATH=$RPM_BUILD_ROOT//usr/lib
make install R=$RPM_BUILD_ROOT
RADDB=$RPM_BUILD_ROOT/etc/raddb
# set radiusd as default user/group
perl -i -pe 's/^#user =.*$/user = radiusd/' $RADDB/radiusd.conf
perl -i -pe 's/^#group =.*$/group = radiusd/' $RADDB/radiusd.conf
# shadow password file MUST be defined on Linux
perl -i -pe 's/# shadow =/shadow =/' $RADDB/radiusd.conf
install -m 755 redhat/rc.radiusd-redhat $RPM_BUILD_ROOT/etc/rc.d/init.d/radiusd
install -m 644 redhat/radiusd-logrotate $RPM_BUILD_ROOT/etc/logrotate.d/radiusd
install -m 644 redhat/radiusd-pam $RPM_BUILD_ROOT/etc/pam.d/radiusd
# remove unwanted rc.radiusd
rm -f $RPM_BUILD_ROOT/usr/sbin/rc.radiusd
find $RPM_BUILD_ROOT/usr/lib -name "*.la" -print | xargs rm -f
find $RPM_BUILD_ROOT/usr/lib -name "*.a" -print | xargs rm -f
mkdir -p $RPM_BUILD_ROOT/var/log/radius
touch $RPM_BUILD_ROOT/var/log/radius/{radutmp,radwtmp,radius.log}
mkdir -p $RPM_BUILD_ROOT/var/log/radius/radacct
mkdir -p $RPM_BUILD_ROOT/var/run/radiusd
# remove unsupported config files
rm -f $RPM_BUILD_ROOT/etc/raddb/oraclesql.conf
rm -f $RPM_BUILD_ROOT/etc/raddb/experimental.conf
원이 뭔지 좀 알려 주시면 감사하겠습니다. ㅡㅡ
날씨가 많이 덥습니다. 더위 조심하세요^^*
관련자료
-
이전
-
다음
도리님의 댓글
- 도리
- 작성일
에러 메시지 내용은,
/usr/sbin 없을 때가 고려되지 않은 듯 합니다.
그러니... 스크립트 속에 if [ ! -d /usr/sbin ] ; then mkdir /usr/sbin/ ; fi
와 같이 한 줄넣어 주면 해결되겠네요..
물론 build root는 고려하지 않았습니다. 위와 같이 너어주세요^^
배움이님의 댓글
- 배움이
- 작성일
무작정 한번 해보겠습니다.^^*