|
Note that I installed my own perl and Apache and mod_perl, I use fink for mysql and some of the libraries, and that I install the perl modules by hand.
Also note that for mod_perl, I added the --without-execstrip option, as Apache appears to be broken on Mac OS X, under some circumstances, without it (I got the undefined symbols warning for _ap_pstrndup, _ap_push_array, _perl_request_rec, _sv2request_rec when building Apache::Request/libapreq, as many others have).
When I previously built Slash for my PowerBook G4 running Mac OS X 10.2.x, I didn't need to do the execstrip thing. I don't know why. But now, on this machine, I do. I blame SCO.
download and unpack apache 1.3.28, mod_perl 1.28, perl 5.8.1 RC4
install perl in /usr/local
% sh Configure -Duseshrplib -des
% make ; make test
% make install
install fink
log out and log back in (connected via ssh) to get fink in environment
install fileutils (gives version of cp compatible with Slash makefile)
% fink install fileutils
install expat
% fink install expat
install mysql
% fink install mysql mysql-client mysql-dev mysql-shlibs
start mysql
% sudo true; sudo safe_mysqld &
create your slash database and users in mysql, and flush privileges (see INSTALL)
install Bundles in CPAN (NOT Bundle::Slash yet)
cpan> install Bundle::CPAN
cpan> reload cpan
cpan> install Bundle::libnet
cpan> install Bundle::LWP
install mod_perl/apache in /usr/local
perl Makefile.PL APACHE_SRC=../apache_1.3.28/src DO_HTTPD=1 USE_APACI=1 \
PERL_MARK_WHERE=1 EVERYTHING=1 APACHE_PREFIX=/usr/local/apache \
ADD_MODULE="headers,rewrite,usertrack" APACI_ARGS="--without-execstrip"
NOTE: I had to move /etc/httpd/httpd.conf, Apple's default, out of the way and move /etc/httpd/httpd.conf.default into its place. I would've thought it would put the
httpd.conf into /usr/local/apache/, but it did not. I dunno why, and at this point
don't care.
XML::Parser needs some help finding the paths for fink:
cpan> look XML::Parser
# perl Makefile.PL EXPATLIBPATH=/sw/lib EXPATINCPATH=/sw/include
# make; make test
# sudo make install
# exit
DBD::mysql, Date::Manip, XML::Simple, Apache::DBI failed a tiny number of tests. I forced them.
cpan> force install DBD::mysql
cpan> force install Date::Manip
cpan> force install XML::Simple
Apache::Test and Apache::Request needed some handholding too.
cpan> look Apache::Test
# perl Makefile.PL -httpd /usr/local/apache/sbin/httpd
# make; make test
# make install
# exit
cpan> look Apache::Request
# ./configure --with-apache-include=/usr/local/apache/include/
# make
# make install
# perl Makefile.PL -httpd /usr/local/apache/sbin/httpd
# make; make test
# make install
# exit
Then, finally:
cpan> install Bundle::Slash
Install the rest of Slash as usual.
A final note, for now: if you try to re-build some of the Slash::Apache modules (that is: if you run "perl Makefile.PL" for Slash::Apache::User once you've already installed it), you will get errors from dyld. How I got around it: edit the installed Apache::ExtUtils module, in the command_table subroutine, comment out the 'require "$file.pm"' line.
|