I've actually solved my own problem. The XML Parser it couldn't find
was C eXpat libraries. We had them installed in /usr/lib/libexpat.so,
but for some reason, the Passenger compilation routine wasn't looking
there.
The solution was to modify line #53 of /usr/local/lib/ruby/gems/1.8/
gems/passenger-2.2.1/Rakefile
from:
EXTRA_LDFLAGS = ""
to:
EXTRA_LDFLAGS = "-lexpat"
Then, running ./passenger-install-apache2-module compiled
successfully.
-c
> As of Passenger version 2.2, I've been unable to successfully compile
> Passenger on my server. (2.0.2 - 2.1.3 all worked fine). I'm running
> Red Hat Enterprise Linux AS release 4 (Nahant Update 7) on a 32-bit
> Intel system running Apache.
>
> When I try to run "passenger-install-apache2-module", everything seems
> to be going fine until I see this:
>
> g++ -I../../.. -fPIC -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -I/usr/
> include/apr-0 -I/usr/include/apr-0 -g -pipe -m32 -march=i386 -
> mtune=pentium4 -I/usr/kerberos/include -I/usr/include/httpd -
> D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG -
> DBOOST_DISABLE_ASSERTS -c ../../../oxt/tracable_exception.cpp
>
> ar cru ext/apache2/libboost_oxt.a ext/apache2/libboost_oxt/boost/*.o
> ext/apache2/libboost_oxt/oxt/*.o
> ranlib ext/apache2/libboost_oxt.a
> g++ ext/common/ApplicationPoolServerExecutable.cpp -o ext/apache2/
> ApplicationPoolServerExecutable -Iext -Iext/common -fPIC -DLINUX=2 -
> D_REENTRANT -D_GNU_SOURCE -I/usr/include/apr-0 -I/usr/include/apr-0 -g
> -pipe -m32 -march=i386 -mtune=pentium4 -I/usr/kerberos/include -I/usr/
> include/httpd -D_REENTRANT -I/usr/local/include -Wall -g -
> DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS ext/apache2/
> libpassenger_common.a ext/apache2/libboost_oxt.a -fPIC -L/usr/lib -
> lapr-0 -L/usr/lib -laprutil-0 -lpthread
> /usr/lib/libaprutil-0.so: undefined reference to
> `XML_SetElementHandler'
> /usr/lib/libaprutil-0.so: undefined reference to `XML_Parse'
> /usr/lib/libaprutil-0.so: undefined reference to `XML_ParserFree'
> /usr/lib/libaprutil-0.so: undefined reference to
> `XML_SetCharacterDataHandler'
> /usr/lib/libaprutil-0.so: undefined reference to `XML_ErrorString'
> /usr/lib/libaprutil-0.so: undefined reference to `XML_ParserCreate'
> /usr/lib/libaprutil-0.so: undefined reference to `XML_SetUserData'
> /usr/lib/libaprutil-0.so: undefined reference to `XML_GetErrorCode'
> collect2: ld returned 1 exit status
> rake aborted!
> Command failed with status (1): [g++ ext/common/
> ApplicationPoolServerExecut...]
> /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.1/Rakefile:211:in
> `define_common_library_task'
> (See full trace by running task with --trace)
>
> --------------------------------------------
>
> It looks like something went wrong
>
> This happens with both 2.2.0 and 2.2.1. I'm not sure how to interpret
> this error, beyond that it's possibly looking for some XML library
> that may not exist.
>
> Any help or comments would be appreciated.
>
> Thanks,
> Casey