TPP:Installing on Mac OSX
From SPCTools
Caution!
Please Note: The TPP is not currently officially supported on Max OSX. This means that we can not respond to installation or useage help requests. Users, however, are encouraged to post to the spctools-discuss newsgroup to seek help from the community, or contact the author (Ulrich, see below) directly.
Author
These notes were kindly prepared by Ulrich auf dem Keller of UBC (ukeller at interchange dot ubc dot ca), and formatted for the wiki with his permission by Josh Tasman.
Introduction
This guide describes installation of the TPP, version 2.9.9 (Gale) on Mac OSX 10.4. The author's machine specifications are Mac OS X 10.4.8 on a MacBook Pro, 2.33GHz Intel Core 2 Duo, 2GB RAM, 160GB HD.
This tutorial is intended for someone comfortable running unix shell commands and installing and configuring software.
Requirements
Intel-based Mac running OSX 10.4. At this time, certain parts of the code which rely on byte-order have not been tweaked for the PowerPC CPUs, which have reversed byte-order from Intel chips.
Getting the TPP source
TPP source at SourceForge: [1]
Prerequisites
install Apple's Developer Tools, including X11SDK.pkg
install fink including unstable tree
install Apache2
http://www.phpmac.com/articles.php?view=252
- you can also trigger the System Preferences => Personal Websharing to start apache2 instead of built-in apache 1.3 (http://www.phpmac.com/articles.php?view=214) (note: TPP most likely also works with built-in Apache 1.3)
install gnuplot 4
easiest via fink
install wget
via fink
install md5sum
fink install GNOME coreutils
install sed
version 4.1.5:
fink install sed
install GD
http://www.paginar.net/matias/articles/gd_x_howto.html#sct09
- or you can use fink as well:
fink install gd
boost libraries
- install boost-1.33.1 (get source (http://sourceforge.net/project/showfiles.php?group_id=7586), configure & make & install)
do not use fink for boost installation as it comes configured "--without-serialization", which is required by the TPP code. (If you do want to use fink, you have to change the boost1.33.info file in the stable tree.)
nice
since nice resides in /usr/bin on OS X and not in /bin:
ln -s /usr/bin/nice /bin/nice
Configuring TPP for installation
edit Makefile.incl according to Linux README
remove -lz from ramp.o dependencies in Makefile
zlib should be installed on your system anyhow, -lz is recognized when building the targets by dynamicloader
change PepXMLViewer Makefile
if boost installed via fink change /usr/local/lib to /sw/lib:
# where to find libexpat.a for linking stage #VPATH = $(EXPAT)/.libs LDFLAGS = -L/usr/local/lib -lboost_regex -lboost_filesystem -lboost_serialization -lm $(PROFILE) # yes, the headers are in the 'lib' directory IFLAGS = -I$(EXPAT)/lib -I/usr/local/include/boost-1_33_1
edit perl scripts
(for most perl scripts, see note below:)
sed -i 's/linux/darwin/g' *.pl
don't replace "linux" by "darwin" in show_search_params.pl, show_help.pl
or better: not in those *.pl with $CGI_HOME instead of $CGI_HOME_FULLPATH in configuration for linux installation
modify source code: cgi_disCidData.c
(to get right path for png images with WEBSERVER_ROOT stripped off)
- lines 323-327:
//printf("<img src=\"%s\"/>\n", pngFile); //modification for Mac OS X char *pStr = strstr(pngFile, "/tpp"); printf("<img src=\"%s\"/>\n", pStr);
code change: show_sens_err.pl
(same WEBSERVER_ROOT strip off problem)
- -insert at line 215:
#added for Mac OS X - Uadk 03/10/07 my $serverRoot = $ENV{'WEBSERVER_ROOT'}; if((length $serverRoot) <= (length $local_pngfile) && index((lc $local_pngfile), (lc $serverRoot)) == 0) { $local_pngfile = '/' . substr($local_pngfile, (length $serverRoot)); }
build TPP code
make all make install
generate directories
tpp/html, tpp/schema, tpp/cgi-bin in Apache DocumentRoot
change httpd.conf
as per Linux README (enable SSI, cgi etc.)
TPP web GUI (Petunia)
getting the source
get tpp_gui from sashimi CVS repository
modify the code for OSX installation
change tpp_gui.pl paths etc.
generate the password
for "guest" account, using perl crypt, following the thread in spctools-discuss: http://groups.google.com/group/spctools-discuss/browse_thread/thread/fb8ea00f347f005d/296e071e68faf1f1?lnk=gst&q=perl+crypt&rnum=1#296e071e68faf1f1
Place the following code in an executable setpasswd.pl file and run as follows:
#!/usr/bin/perl -w print crypt($ARGV[0], "isbTPPspc") . "\n"; setpasswd.pl [password] > .password