Get the Source RPM and rebuild from that? In the process, you'll see the specific build requirements and can yum them.
Here's how I did it to deal with mysql4 problems (shared-compat didn't work for me).
1) Make a RPM user to rebuild with useradd rpmbuild; su rpmbuild; cd /home/rpmbuild; echo "%_topdir /home/rpmbuild/rpm" > .rpmmacros echo "%_tmppath /home/rpmbuild/rpm/tmp" >> .rpmmacros mkdir rpm; cd rpm; mkdir SPECS SOURCES BUILD RPMS SRPMS tmp cd ..
2) Download the latest Source RPM from a mirror (apparently http://fedora.mirrors.redwire.net/updates/1/SRPMS/php-4.3.6-1.3.src.rpm)
rpmbuild --recompile php-4.3.6-1.3.src.rpm
3) grep BuildRequires rpm/SPECS/php.spec yum install anything you don't already have. Or just
3) vi rpm/SPECS/php.spec
edit configure/spec file as needed opt: rename the package it creates
4) rpmbuild -ba php.spec
At 10:47 AM 6/22/2004, Bert Buckley - Uniq Software/Systems wrote:
I am using FC1. The distributed version of php does not include support for libmcrypt, so I want to rebuild php --with-mcrypt.
However, I also need gd, jpeg, mysql, and png. So, in order to rebuild php, I have to download, untar, configure, make and install packages for php, lib png, lib jpeg, mysql, gd, freetype2, at least. I even have to reinstall apache, since apxs is needed for the php build.
Yes, I can do this, but is there an easier way? These packages all come with FC1, but there is no source, and if I try to configure and make php without these, various errors of the sort 'can't find suchandsuch.h' will occur.
By the way, a public thanks to those of you out there who have taken the time to answer other questions in the past, for me and for others. It certainly is appreciated.
Am I missing something simple?
Thanks
Bert Bert Buckley Uniq Software/Systems
I'd grab the php Source RPM and rebuild from there. In the process, you can view the BuildRequires of the spec file and do a yum install of everything you need. The process I used is below, but here's the command line to install/update everything it thinks it needs. Give it this (on one line), answer yes, and go fix a snack.
yum install bzip2-devel curl-devel db4-devel expat-devel freetype-devel gd-devel gdbm-devel gmp-devel aspell-devel httpd-devel libjpeg-devel libpng-devel pam-devel libstdc++-devel ncurses-devel openssl-devel zlib-devel pcre-devel bzip2 perl libtool krb5-devel libc-client-devel cyrus-sasl-devel openldap-devel mysql-devel postgresql-devel unixODBC-devel freetds-devel mhash-devel net-snmp-devel elfutils-devel libxslt-devel libxml2-devel
When it's done, you should be able to rebuild using your tweaked php SRPM easily. Here's how I did it to deal with mysql4 problems (since MySQL-shared-compat didn't work for me). Decide if you want to rename the package to something other than "php" though. If you don't edit your yum settings, otherwise your custom-built package will get clobbered the next time an update php rpm comes out.
1) Make a RPM user to rebuild with useradd rpmbuild; su rpmbuild; cd /home/rpmbuild; echo "%_topdir /home/rpmbuild/rpm" > .rpmmacros echo "%_tmppath /home/rpmbuild/rpm/tmp" >> .rpmmacros mkdir -p rpm/{SPECS,SOURCES,BUILD,RPMS,SRPMS,tmp}
2) Download the latest Source RPM from a mirror (i.e., http://fedora.mirrors.redwire.net/updates/1/SRPMS/php-4.3.6-1.3.src.rpm)
rpmbuild --recompile php-4.3.6-1.3.src.rpm
3) 'grep BuildRequires rpm/SPECS/php.spec' and yum "install" anything you don't already have. (above)
4) vi rpm/SPECS/php.spec
edit configure/spec file as needed optionally rename the package(s) it creates
5) rpmbuild -ba php.spec
6) rpm -i rpm/RPMS/i386/packagenamehere
HTH,
Japheth "J.C." Cleaver
cleaver@xxxxxxxxxx
cleaver@xxxxxxxxxxxxxx