3.3. Mac OS X Installation Notes

There are a lot of common libraries and utilities out there that Apple did not include with Mac OS X, but which run perfectly well on it. The GD library, which Bugzilla needs to do bug graphs, is one of these.

The easiest way to get a lot of these is with a program called Fink, which is similar in nature to the CPAN installer, but installs common GNU utilities. Fink is available from <http://sourceforge.net/projects/fink/>.

Follow the instructions for setting up Fink. Once it's installed, you'll want to run the following as root: fink install gd

It will prompt you for a number of dependencies, type 'y' and hit enter to install all of the dependencies. Then watch it work.

To prevent creating conflicts with the software that Apple installs by default, Fink creates its own directory tree at /sw where it installs most of the software that it installs. This means your libraries and headers for libgd will be at /sw/lib and /sw/include instead of /usr/lib and /usr/local/include. Because of these changed locations for the libraries, the Perl GD module will not install directly via CPAN (it looks for the specific paths instead of getting them from your environment). But there's a way around that :-)

Instead of typing "install GD" at the cpan> prompt, type look GD. This should go through the motions of downloading the latest version of the GD module, then it will open a shell and drop you into the build directory. Apply the following patch to the Makefile.PL file (save the patch into a file and use the command patch < patchfile:

       
--- GD-1.33/Makefile.PL Fri Aug  4 16:59:22 2000
+++ GD-1.33-darwin/Makefile.PL  Tue Jun 26 01:29:32 2001
@@ -3,8 +3,8 @@
 warn "NOTICE: This module requires libgd 1.8.3 or higher (shared library version 4.X).\n";
 
 # =====> PATHS: CHECK AND ADJUST <=====
-my @INC     = qw(-I/usr/local/include -I/usr/local/include/gd); 
-my @LIBPATH = qw(-L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/X11/lib -L/usr/local/lib );
+my @INC     = qw(-I/sw/include -I/sw/include/gd -I/usr/local/include -I/usr/local/include/gd);
+my @LIBPATH = qw(-L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/X11/lib -L/sw/lib -L/usr/local/lib);
 my @LIBS    = qw(-lgd -lpng -lz);
 
 # FEATURE FLAGS
@@ -23,7 +23,7 @@
 
 push @LIBS,'-lttf' if $TTF;
 push @LIBS,'-ljpeg' if $JPEG;
-push @LIBS, '-lm' unless $^O eq 'MSWin32';
+push @LIBS, '-lm' unless ($^O =~ /^MSWin32|darwin$/);
 
 # FreeBSD 3.3 with libgd built from ports croaks if -lXpm is specified 
 if ($^O ne 'freebsd' && $^O ne 'MSWin32') {

 
      

Then, run these commands to finish the installation of the perl module:

perl Makefile.PL
make
make test
make install
And don't forget to run exit to get back to cpan.

Happy Hacking!