Please help...  (4.1 install problem)

I have two nearly-identical systems "production" and "backup".  When we
upgrade, we do backup first to work out any kinks, then production.  Last
night I upgraded backup in the following order: MySQL 3.23.46, OpenSSL
0.9.6b, Curl 7.9.2, Mod_SSL 2.8.5-1.3.22, Apache 1.3.22, PHP 4.1  -- with no
problems.  I proceeded to do production, and all went fine through the
Apache upgrade.  Apache ran fine without any changes in configuration at
this point.  I compiled and upgraded PHP (we had 4.0.6 before) and restarted
apache, but it wouldn't restart.  I did a diff on the PHP source files
between production and backup, and found that backup's Makefile
had -DUSE_EXPAT in all the right places, but that production didn't have it
at all.  Needless to say, all the configure, make, etc commands I did were
identical between the two boxes.

(./configure --with-mysql=/home/mysql --with-apxs=/usr/local/apache/bin/apxs
 --with-curl=/usr/local/lib/libcurl.so.1 --with-openssl)   It was late, so I
reverted to PHP 4.0.6 and all worked fine.

In the light of day today, I find out backup does not have expat installed,
so I assume the -DUSE_EXPAT tells make to use the bundled expat, while
production has expat 1.95.1 installed (from source, regular "./configure" --
no special options) for another tool, so I assume that the absence
of -DUSE_EXPAT means that PHP is going to use the system's expat library
instead of the bundled version.  I upgrade production to expat 1.95.2
(again, from source, plain "./configure"), recompile PHP 4.1, make
install -- no dice.  I'm pissed.  I move /usr/local/lib/libexpat* to /tmp
and try to recompile PHP 4.1, but apxs uses the libexpat.so so I fail in
./configure when it tries to test run apxs.

Next I figure that since I have an external expat, maybe I HAVE TO give
the --with-expat-dir=/usr/local option to configure, so I start with fresh
source, run the same ./configure with the expat-dir option tacked on and
make install.  Still no dice.  (I put the expat libs back in /usr/local/lib
first).

I know I could just grab the source dir with all targets made from backup,
stick it on production, and do a make install.... but I'd feel safer if
things compiled correctly on production (please no missives re compiling on
production boxes).  Is there something I'm overlooking that will get PHP to
use it's own expat?  All I see is the configure option --with-expat-dir=
that I tried.  Could this have to do with apxs's use of expat, and it only
manifests with PHP?  Or am I just not seeing the Real Problem(r)?

ANY hints, suggestions, or sympathy are welcome.

Thanks for reading this whole thing too!

-Russ






-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to