x86_64 에서 php 컴파일 하신분 손들어 보세요. ^^
글쓴이: jinie4u / 작성시간: 월, 2005/01/10 - 2:47오후
델 1850 모델인데 제온이 박혀 있군요.
기왕이면 다홍치마라고 64비트환경을 경험해보고 싶어서 centos 3.3 x86_64 버전으로 설치했습니다.
그리고 php 를 컴파일 하기위해 configure 를 실행하니 /usr/lib64 밑에 있는 라이브러리들을 찾지 못하네요.
configure 스크립트를 찾아보면 /usr/lib 밑에 있는 라이브러리를 참조하도록 되어 있습니다.
구글님의 도움을 받아 검색을 해보니 x86_64 or amd64 에서는 lib64 patch 를 해서 사용하더군요.
수소문 끝에 레드해 버그질라에서 패치파일을 가져다 패치를 하고(밑의 URL)
https//bugzilla.redhat.com/bugzilla/show_bug.cgi?id=143101
autoconf configure.in > configure2
이렇게 새로운 configure 스크립트를 만들어서 컴파일 했습니다.
그런데 make 까지는 잘 진행이 되는데 make install 에서 에러가 납니다.
libphp5.so 파일을 제대로 생성하지도 못하고 기타 파일들도 /usr/local 밑으로 복사하지 않았습니다.
이렇게 작업이 멈추고 나서 다시 구글님께 여쭤보고 있는데 혹시
kldp 유저분들중에 이런 경험이 있으신분이 계시면 조언 부탁드립니다.
Forums:
php5를 x86_64에서 설치해보지 않아서 잘 모르지만,make
php5를 x86_64에서 설치해보지 않아서 잘 모르지만,
make가 되었다는 것은 어딘가에 libphp5.so가 컴파일되었다는 뜻입니다.
find로 libphp5.so 파일을 찾아보세요.
find . -name "libphp*.so"
make install이 안될때는 그냥 수동으로 설치하셔도 됩니다. 특별한 설정이 아니었다면 php5.ini(?)와 libphp5.so를 설치하고, apache/어쩌구/httpd.conf를
적절히 수정하시면 됩니다.
lib64 관련 패치 적용방법
PLD linux 의 5.0.3 소스 rpm 을 참조해서 어렵사리 컴파일하는데 성공했습니다.
어떻게 진행했는지 간략하게 설명드리겠습니다.
먼저 사용된 배포판은 CentOS 3.3 입니다.
apache2 를 컴파일 해서 설치한후 mysql 을 컴파일합니다.
mysql을 바이너리로 설치할 경우 php 컴파일시 다음과 같은 에러를 만나게 되므로 꼭 컴파일 하시기 바랍니다.
PLD linux 의 php-5.0.3-1.src.rpm 에서 php-lib64.patch 뽑아내서 두 부분을 삭제 했습니다.
하나는 mysql 관련 패치이고 다른 하나는 php.ini 관련 패치입니다.
(사실 패치의 내용은 간단합니다. /usr/lib 참조하도록 되어 있는 부분을 /usr/lib64 를 참조하도록 바꾸는 것입니다.)
저장을 하시고 php 5.0.3 소스에서 패치를 합니다.
patch -p1 < php-lib64.patch
그리고 ./buildconf --force 명령으로 configure 파일을 새로 만들어줍니다.
그 다음은 일반적인 php 컴파일 과정입니다. configure 하시고 make , make install
요점은 /usr/lib 를 참조하도록 하드코딩되어 있는 부분을 /usr/lib64 를 참조하도록 바꾸고 buildconf 명령으로 configure 를 새로 만들어주는 것입니다.
x86_64 를 사용하시는 분들께 도움이 되었으면 합니다.
저 같은 경우는...,
페도라 코어 3 의 php source rpm 에서 php-lib64.patch를
추출하여 이용 하였습니다.
그런데 libmysqlclient.a 에러는 없었으나
libpq.a 에러는 자꾸 발생을 하더라고요,
그리고
처음에는 php 을 컴파일 할때 pgsql 을 gnu 레이아웃 (/usr , shread) 이 아니라 특정 prefix (/usr/local/pgsql)를 주어 설치 하므로 /usr/lib64를 찾지 못하는 현상이 발생 안 할거라고 생각 했었는데 ,
공유 라이브러리를 자꾸 /usr/lib64 에 찾고,
lib64.patch 를 하였는데도 역시 에러가 발생 하여
/usr/local/pgsql/lib 에 있는 공유 라이브러리를 /usr/lib64로
심볼릭 링크하여 해결 하였습니다. 더이상 삽질을 하기 싫더라고요.,
참 그리고 libpq.a 에러는
pgsql 을 컴파일 할때
CFAGS="-fPIC";export CFAGS
을 하고 설치하니 해결이 되였습니다.
아직 64비트 애플리케이션 설치에 대한 정보가 부족하니
저와 같은 상황에 처 하신 분들은 도움이 되셨으면 합니다.
아울러 jinie4u 님에게 참 많은 힌트를 얻었습니다. 감사드립니다.
비명은 지르지마라 , 달콤한 고통을 음미 못할수 있으니 ... 흐흐흐
댓글 달기