Upgrading to PHP 5.2.0 on RHEL and CentOS

November 30, 2006 by · 47 Comments 

With the release of an src.rpm for PHP 5.2.0 in the Fedora Core 7 development branch, I've decided to roll out PHP 5.2.0 as a test on a couple of our smaller forums that are running vBulletin 3.6.4. According to the changelog, PHP 5.2.0 has an improved memory-management system. With any luck it'll be faster than 5.1.6 and won't break anything in the process.

The procedure to build the PHP 5.2.0 RPMs for RHEL and CentOS 4 is almost identical to the one I used to install PHP 5.1.6 on RHEL and CentOS 4 so this is going to read very similarly to the original how-to. In fact, I recommend reading that post as well before you begin.

One quick warning though, PHP 5.2.0 is currently the bleeding-edge release. I do not recommend that you install it on your production servers without first testing on a development box to make sure that your applications still work as expected. I would also recommend that you build the PHP 5.1.6 RPMs as well, that way you can easily roll back if needed.

To start, you'll need three things. First, you're going to need 'root' access to your server. If you don't have it, even if you can build the RPMs, you won't be able to install them. Second, on most machines, you'll need to install a huge list of dependencies. Finally, you'll need the PHP src.rpm from FC7's development tree.

To start out, if you've never built a src.rpm file before, log in to your server as 'root' and run the following commands:

  • mkdir /usr/src/redhat
  • chmod 777 -R /usr/src/redhat

After that, you can fill the dependencies using one of the commands below. If you installed a "minimal" system then there may be about 100 packages that get pulled in (if you have the 'yum' command, use that, if not, use 'up2date'). Please note that this list of packages is slightly different than the one for PHP 5.1.6. Make sure that you run one of these commands, even if you've already followed my PHP 5.1.6 how-to.

  • yum install wget nano make autoconf automake rpm-build postfix fileutils file libtool gcc cpp gcc-c++ perl-DBI readline-devel libc-client-devel libstdc++-devel bzip2-devel curl-devel db4-devel expat-devel gmp-devel aspell-devel httpd-devel libjpeg-devel libpng-devel pam-devel openssl-devel sqlite-devel zlib-devel pcre-devel krb5-devel cyrus-sasl-devel openldap-devel postgresql-devel unixODBC-devel libxml2-devel net-snmp-devel libxslt-devel libxml2-devel expat-devel ncurses-devel gd-devel freetype-devel
  • up2date -u wget nano make autoconf automake rpm-build postfix fileutils file libtool gcc cpp gcc-c++ perl-DBI readline-devel libc-client-devel libstdc++-devel bzip2-devel curl-devel db4-devel expat-devel gmp-devel aspell-devel httpd-devel libjpeg-devel libpng-devel pam-devel openssl-devel sqlite-devel zlib-devel pcre-devel krb5-devel cyrus-sasl-devel openldap-devel postgresql-devel unixODBC-devel libxml2-devel net-snmp-devel libxslt-devel libxml2-devel expat-devel ncurses-devel gd-devel freetype-devel

There is one more package that you'll need but where you get it depends on what version of MySQL you use. If you use the default version of MySQL (4.1.20), type one of the following:

  • yum install mysql-devel
  • up2date -u mysql-devel

If you use MySQL 5.0.22 from the CentOS "Plus" repo then download mysql and mysql-devel to your server and then run the following:

  • rpm -Uvh mysql*.rpm

Next, switch to a non-root user, download the PHP 5.2.0 src.rpm and the php-pear 1.4.9 src.rpm to your server, and run the commands:

  • rpm -ivh php-5.2.0-8.src.rpm
  • rpm -ivh php-pear-1.4.9-4.src.rpm
  • cd /usr/src/redhat/SPECS/

All that's left is to make one small change to the php.spec file (this controls how the src.rpm is compiled and then packaged into rpm files) and then run rpmbuild. Follow the steps below to edit the spec file.

  • nano -w php.spec
  • Press [Ctrl]+[W], type "CFLAGS" (without the double-quotes), and then press [Enter].
  • In the line that is found, remove the text "-Wno-pointer-sign" and the trailing space that is left behind.
  • Press [Ctrl]+[O], [Enter], and then [Ctrl]+[X] to save and then return to the shell.

At this point, all we need to do is build the RPMs. To do that, run the command below.

  • rpmbuild -bb php.spec

Once that finishes (and depending on the system, it may take an hour or more) you'll have a ton of RPMs in the "/usr/src/redhat/RPMS/i386" folder. At this point, you can switch back to being 'root' and then use "rpm -Uvh filename" to install what you need. You will definitely need the following packages:

  • php
  • php-cli
  • php-common

In all likelihood, you'll also want:

  • php-mysql
  • php-gd

Once that's done you'll want to build and install 'php-pear'. You can do so by running the commands below.

  • rpmbuild -bb php-pear.spec
  • rpm -ivh ../RPMS/noarch/php-pear-1.4.9-4.noarch.rpm

At this point you should have a fully-functional system running PHP 5.2.0. If you run and Ioncube- or Zend-encoded scripts then make sure you update your loaders. Likewise, if you use a PHP cache like APC or eAccelerator then make sure you rebuild for your new version of PHP otherwise it won't work. Any questions or comments, let me know.

Digg this story

Comments

47 Responses to “Upgrading to PHP 5.2.0 on RHEL and CentOS”
  1. iDaemon says:

    I've Problem with mysql since my defaul charset is tis-620 and this built don't use dynamic charset for php-mysql. so it show ??????? as a charactor. data in database still correct.

    how can i fix this ? please advice me

  2. Jason says:

    Does the default version of PHP for EL4 work with your site (out of the box, without config changes)?

    I don't really have any experience with alternative character sets as all of the sites I've worked on are written in English (or rather, "American"). However, you might checkout the 'default_charset' line in your php.ini file. If that's not it, I'm not sure what it could be.

    http://www.modwest.com/help/kb5-312.html

  3. iDaemon says:

    Thank, Jason I've found the problem

    in the newver version of mysql (4.1.20+) we need to set charset when query database. So we need to add init-connect='SET NAMES tis620' to my.cnf and restart mysql. for additional information go to this page

    http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

    This is will usefull for person who not use 'latin' charset as defult language.

  4. Jason says:

    Good find! I'm glad to hear that you figured it out.

  5. azers says:

    i have tried to follow all of your steps a few times, but I keep getting an error on the final build.

    this is the error i am recieving 'The PCRE extension requires PCRE library version >= 6.6'

    i can't seem find this library... would you happen to have a link to the rpms you created.

  6. Jason says:

    Building PHP should only require PCRE 4.5 (or higher) so I'm not sure, off hand, why your build would be failing on that dependency. However, you can get a src.rpm for PCRE 6.6 at the URL below. It should build without any changes.

    http://mirrors.kernel.org/fedora/core/6/source/SRPMS/pcre-6.6-1.1.src.rpm

  7. Lenard says:

    Since you install the rpm-build package creating the /usr/src/redhat directory is not needed, this should be created when the rpm-build package is installed.

    You should also look into installing the rpmdevtools package also, no reason to build as root most of the time.

    wget http://download.fedora.redhat.com/pub/fedora/linux/extras/6/SRPMS/rpmdevtools-5.3-1.fc6.src.rpm

    rpmbuild --rebuild --recopile --define 'dist .el4' rpmdevtools-5.3-1.fc6.src.rpm

    After the package is install as the normal user just type something like;rpmdev-setuptree

  8. Jason says:

    I'm not familiar with the rpmdevtools package? What exactly does it do? I know that it isn't required to build packages as a regular user.

    Oh, and with regards to nor needing to make the /usr/src/redhat directory, I have never had that created automatically. It was always created for me the first time I installed a src.rpm as 'root'. Installing a src.rpm as a regular user would error out because the folder didn't exist. That is why I included creating it in the how-to.

  9. rich says:

    i have a segmentation fault issue with php ODBC and the initial recommendation of the PHP Team is to upgrade to the latest version of php, that is, 5.2.0. Version 5.1.6 is currently installed on our dev-server and segfault still remains. I am taking my chances with your recommendations on upgrading to 5.2.0. But, in case the error i am trying to resolve still persists, how can i backtrack to my original and working installation of php 5.1.6 I am really new to linux and I dont want to be drastic with my moves, :)

  10. Jason says:

    You can remove PHP 5.2.0 (or any version, for that matter) by running "rpm -e", followed by the name of the package (you can specify multiple packages at once, for example, "rpm -e php php-common php-cli". If there is something depending on that package then it shouldn't let you remove it and should say why it is still needed.

    Once you've removed 5.2.0 you can reinstall 5.1.6 from where ever you got it in the first place. If you used my tutorial then hopefully you should still have the RPMs that you built and can use those. Alternatively, there is another version of 5.1.6 in the centosplus repository. If you built 5.1.6 from source then you should checkout the current phpinfo() and copy out the config statement you used to build it in the first place so that you can do so again.

    In any case, let me know how it goes.

  11. rich says:

    i followed your instructions, but like azers, i ended having pcre version issues. i downloaded the pcre from the URL you recommended, but it seems that the installation is not successful. well there were no errors during the "rpm -ivh pcre-6.6". But when i try to check my installation with "rpm -qa | grep pcre", what is listed is pcre-4.5, not the required pcre-6.6.

    i really need to install php-5.2 in order to eliminate php as the source of segmentation fault error. hope you can help me. thanks

  12. Jason says:

    Installing a src.rpm file will only install the source and .spec file. You still need to build it with rpmbuild and then install the output RPMs.

    As to the requirement in the first place, I just checked again and the spec file only says that 4.5 or higher is required. What else have you installed? Have you built httpd 2.2.x (either from source or from my tutorial)?

  13. Suraj says:

    Thanks a million for this guide... I'm a linux noob, and its fairly straightforward. Thank You!

  14. Suraj says:

    Jason, I get the same error as rich and azers. Trying to install the file you linked to under root, and under a non root user, I get this message:

    warning: pcre-6.6-1.1.src.rpm: V3 DSA signature: NOKEY, key ID 4f2a6fd2
    1:pcre warning: user brewbuilder does not exist - using roo
    t
    warning: group brewbuilder does not exist - using root
    warning: user brewbuilder does not exist - using root
    warning: group brewbuilder does not exist - using root
    ########################################### [100%]
    warning: user brewbuilder does not exist - using root
    warning: group brewbuilder does not exist - using root

  15. Suraj says:

    The PHP 5.1 is being installed fine, I don't need better for now. Thanks for that tutorial.

  16. Jason says:

    It sounds like you figured it out.

    As to the warnings about the user/group "brewbuilder" being missing, you can ignore those, but I highly recommend against building RPMs as "root". You should really have a non-root user that you use to build RPMs; that will help minimize the possibility of damage to your system if the src.rpm you're building has malicious (or possibly just poor/incorrect) code inside.

  17. azers says:

    I was never able to correct my issue, I ended up having to use fedorda to use php5.2

  18. Jason says:

    azers,

    You had problems rebuilding the src.rpm for PCRE from the link I provided?

  19. Dan says:

    How do you folks maintain two different versions of PHP installed? Back in the day I used to maintain my own /pkg tree where this sort of thing was rather simple (except for all the damn compilations :) ). With yum/rpm it doesn't seem like an easy thing to do...unless I am totally missing something.

  20. Jahan says:

    Im getting the following error:

    "configure: error: The PCRE extension requires PCRE library version >= 6.6
    error: Bad exit status from /var/tmp/rpm-tmp.30925 (%build)
    RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.30925 (%build)"

    As Jason suggested I tried downloading PCRE from http://mirrors.kernel.org/fedora/core/6/source/SRPMS/pcre-6.6-1.1.src.rpm and installing it.
    $rpm -ivh pcre-6.6-1.1.src.rpm

    But i still get the same error. Im installing it on CentOS 4.4.
    any help wud be appreciated.

  21. Jason says:

    Dan,

    Unless you edit the .spec file to change the install paths before you build, you can't have more than one copy of PHP installed at a time. This is actually a good thing for 99.9% of all users as most wouldn't be able to handle having two copies installed.

    Jahan,

    You need to build the pcre src.rpm into an RPM and then install that (actually, upgrade the current version).

  22. Jahan says:

    hey jason, i did $rpmbuild -bb pcre-6.6-1.1.src.rpm

    and after it gets completed i tried running rpm and get the following error:
    # rpm -Uvh /usr/src/redhat/RPMS/i386/pcre-6.6-1.1.i386.rpm
    error: Failed dependencies:
    pcre = 4.5-3.2.RHEL4 is needed by (installed) pcre-devel-4.5-3.2.RHEL4.i386

    And so i tried to install the dependencie,
    # rpm -Uvh /media/cdrom/CentOS/RPMS/pcre-4.5-3.2.RHEL4.i386.rpm
    Preparing... ########################################### [100%]
    package pcre-4.5-3.2.RHEL4 is already installed

    and then again when i run rpm i get the same error:
    # rpm -Uvh /usr/src/redhat/RPMS/i386/pcre-6.6-1.1.i386.rpm
    error: Failed dependencies:
    pcre = 4.5-3.2.RHEL4 is needed by (installed) pcre-devel-4.5-3.2.RHEL4.i386

    Why is it failing when the dependency is already installed??

  23. Jahan says:

    Now for something weird,
    when i try to remove the packege it says
    $rpm -fe pcre-4.5-3.2.RHEL4.i386.rpm
    error: package pcre-4.5-3.2.RHEL4.i386.rpm is not installed

    when i do a find / -name "*pcre*" i get
    /var/cache/yum/base/packages/pcre-devel-4.5-3.2.RHEL4.i386.rpm
    /var/cache/yum/base/headers/pcre-devel-4.5-3.2.RHEL4.i386.hdr
    but when i try to do a yum update it fails.
    "Could not find update match for pcre-devel-4.5-3.2.RHEL4.i386
    No Packages marked for Update/Obsoletion"

    why is this happening, once it says package is installed and when i try to remove it says Not Intalled??

  24. Jason says:

    You must run "rpm -Uvh" and specify BOTH the pcre and pcre-devel packages as arguments. If you try and do it one at a time you'll get dep errors.

  25. Bogdan says:

    I have a big dependancy problem. When I try to install the rpms:
    "rpm -Uvh php-*" I get:
    error: Failed dependencies:
    php = 4.3.9-3.22 is needed by (installed) php-pear-4.3.9-3.22.i386

    But to build Pear, I need to have PHP5:
    rpmbuild -bb php-pear.spec
    error: Failed build dependencies:
    php >= 5.1.0-1 is needed by php-pear-1.4.11-2.noarch

    Any ideas Jason?

    Thanks,
    Bogdan

  26. Jason says:

    Uninstall the 4.3.9 versions and you'll be fine.

  27. Bogdan says:

    I tried but I can't. Squirrelmail is causing an dependancy error.

    error: Failed dependencies:
    php-mbstring is needed by (installed) squirrelmail-1.4.8-2.el4.noarch
    php >= 4.0.4 is needed by (installed) squirrelmail-1.4.8-2.el4.noarch

  28. Bogdan says:

    I just uninstalled squirrelmail, and then php 4.3.9. All is good.

    Thanks for the guide Jason!

  29. Jason says:

    squirrelmail should still work under 5.2.0, you might try reinstalling it.

  30. phpuser says:

    How do you enable fast-cgi using the source RPM, what needs to be modified?

  31. Jason says:

    It should already be there, I believe it's stuck in '/usr/bin' and is called 'php-cgi'.

  32. Mark Richards says:

    Jason,

    Thanks for the work you do on this. A very valuable contribution.

    I slogged my way through some of the issues, but am hitting a brick wall with the following error (also reported by others):

    checking for IMAP support... yes, shared
    checking for IMAP Kerberos support... yes
    checking for IMAP SSL support... yes
    checking for utf8_mime2text signature... old
    checking for U8T_CANONICAL... no
    checking for pam_start in -lpam... yes
    checking for crypt in -lcrypt... yes
    configure: error: Kerberos libraries not found.

    Check the path given to --with-kerberos (if no path is given, searches in
    /usr/kerberos, /usr/local and /usr )

    error: Bad exit status from /var/tmp/rpm-tmp.43650 (%build)

    Based on some suggestions, I've created

    CFLAGS="-L/usr/kerberos/lib -L/usr/kerberos/lib64 -lssl -lcrypto -lgssapi_krb5 -lkrb5
    -lcom_err -lk5crypto -lresolv -ldl -lz"

    and CPPFLAGS the same.

    Still the error.

    Yum tells me the libs are installed:

    Installed Packages
    Name : krb5-libs
    Arch : i386
    Version: 1.3.4
    Release: 33
    Size : 1.0 M
    Repo : installed
    Summary: The shared libraries used by Kerberos 5.

    Description:
    Kerberos is a network authentication system. The krb5-libs package
    contains the shared libraries needed by Kerberos 5. If you are using
    Kerberos, you need to install this package.

    Name : krb5-libs
    Arch : x86_64
    Version: 1.3.4
    Release: 33
    Size : 1.2 M
    Repo : installed
    Summary: The shared libraries used by Kerberos 5.

    Description:
    Kerberos is a network authentication system. The krb5-libs package
    contains the shared libraries needed by Kerberos 5. If you are using
    Kerberos, you need to install this package.

    Here's output of find...

    find / -name "krb*"

    /etc/profile.d/krb5.sh
    /etc/profile.d/krb5.csh
    /etc/xinetd.d/krb5-telnet
    /etc/krb.conf
    /etc/krb5.conf
    /var/cache/yum/base/packages/krb5-devel-1.3.4-33.x86_64.rpm
    /var/cache/yum/base/packages/krb5-libs-1.3.4-33.i386.rpm
    /var/cache/yum/base/headers/krb5-devel-1.3.4-33.x86_64.hdr
    /var/cache/yum/base/headers/krb5-libs-1.3.4-33.i386.hdr
    /usr/include/kerberosIV/krb_err.h
    /usr/include/kerberosIV/krb.h
    /usr/include/openssl/krb5_asn.h
    /usr/include/krb5.h
    /usr/kerberos/man/man5/krb5.conf.5.gz
    /usr/kerberos/man/man1/krb5-send-pr.1.gz
    /usr/kerberos/bin/krb524init
    /usr/kerberos/bin/krb5-config
    /usr/kerberos/sbin/krb5-send-pr
    /usr/share/info/krb5-user.info.gz
    /usr/share/doc/krb5-workstation-1.3.4
    /usr/share/doc/krb5-workstation-1.3.4/krb5-user.html
    /usr/share/doc/krb5-devel-1.3.4
    /usr/share/doc/krb5-devel-1.3.4/api/krb5.ist
    /usr/share/doc/krb5-devel-1.3.4/api/krb5idx.sty
    /usr/share/doc/krb5-devel-1.3.4/api/krb5.tex
    /usr/share/doc/krb5-devel-1.3.4/krb5-protocol
    /usr/share/doc/krb5-devel-1.3.4/krb5-protocol/krb5.constants

    [[email protected] SPECS]# find / -name "libkrb*"
    /usr/lib64/libkrb4.so
    /usr/lib64/libkrb4.so.2
    /usr/lib64/libkrb4.so.2.0
    /usr/lib64/libkrb5.so.3
    /usr/lib64/libkrb5.so
    /usr/lib64/libkrb5.a
    /usr/lib64/libkrb5.so.3.2
    /usr/lib64/libkrb4.a
    /usr/lib/libkrb4.so.2
    /usr/lib/libkrb4.so.2.0
    /usr/lib/libkrb5.so.3
    /usr/lib/libkrb5.so.3.2

    So I'm at somewhat of a loss.

    uname -a = Linux omitted.dns.net 2.6.9-42.0.10.ELsmp #1 SMP Tue Feb 27 09:40:21 EST 2007 x86_64 x86_64 x86_64 GNU/Linux

    Any ideas what to do next? My goal is to bring php 5.2.0 into the repository as it's a pain maintaining outside of yum.

  33. Jason says:

    Do you have the 'krb5-devel' package installed? If you have them, try uninstalling the 32-bit versions of the krb5* packages.

    Have you tried the php 5.2.1 binaries directly from my yum repository?

  34. Mark Richards says:

    Jason, good show.

    yum remove pam_krb5.i386 cleaned it up.

    Now I find:

    checking for IMAP support... yes, shared
    checking for IMAP Kerberos support... yes
    checking for IMAP SSL support... yes
    checking for utf8_mime2text signature... old
    checking for U8T_CANONICAL... no
    checking for pam_start in -lpam... yes
    checking for crypt in -lcrypt... yes
    configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.
    error: Bad exit status from /var/tmp/rpm-tmp.29287 (%build)

    A search of libc-client shows:

    libc-client.i386 2002e-14 base
    libc-client-devel.x86_64 2002e-14 base
    libc-client.x86_64 2002e-14 base
    libc-client.x86_64 2002e-14 installed
    libc-client-devel.x86_64 2002e-14 installed

    I wasn't aware of your repository. Will have a look.

    Thank you!

  35. Mark Richards says:

    Jason,

    Your repository worked fine for me. Had to uninstall php, httpd, mysql, and perl. These then reinstalled fine from your repository.

    The author/s of yum and contributors to the repository system deserve an emmy.

    Results:

    httpd x86_64 2.2.4-jason.4 utterramblings 2.7 M
    apr x86_64 1.2.8-4.jason.1 utterramblings 259 k
    apr-devel x86_64 1.2.8-4.jason.1 utterramblings 583 k
    apr-util x86_64 1.2.8-4.jason.1 utterramblings 173 k
    apr-util-devel x86_64 1.2.8-4.jason.1 utterramblings 209 k

    php x86_64 5.2.1-jason.2 utterramblings 1.3 M
    php-cli x86_64 5.2.1-jason.2 utterramblings 2.2 M
    php-common x86_64 5.2.1-jason.2 utterramblings 204 k

    mysql x86_64 5.0.38-jason.1 utterramblings 4.2 M
    mysql i386 4.1.20-1.RHEL4.1 base 2.9 M
    krb5-libs i386 1.3.4-33 base 480 k
    openssl i686 0.9.7a-43.14 update 1.1 M

    php-mysql x86_64 5.2.1-jason.2 utterramblings 86 k
    php-pdo x86_64 5.2.1-jason.2 utterramblings 63 k

  36. Jason says:

    Yeah, unfortunately, having both 32- and 64-bit libs on your system can screw things up. In any case, I'm glad to hear that it all worked out for you.

  37. Tim says:

    Jason,

    I'm trying to follow your how-to but I'm stalling at the src install. See below.

    Any ideas why this is happening? Is it normal?

    [[email protected] root]$ rpm -ivh php-pear-1.4.9-4.src.rpm
    error: open of

  38. Tim says:

    Sorry, something happened and I missed the paste. It's been a very trying day.

    The same thing is happening on php-5.2.0-8.src.rpm too.

    [[email protected] root]$ rpm -ivh php-pear-1.4.9-4.src.rpm
    error: open of

  39. Tim says:

    Nevermind. I found the problem with the packages.

    They didn't download and were 1k. :(

    As I said it has been a very very long day already.

  40. SEO Ranter says:

    Thank god for this guide, dude, you've just saved me an afternoon of head-scratching. Thank you!

  41. webmaster says:

    It should already be there, I believe it's stuck in '/usr/bin' and is called 'php-cgi'.

  42. Jesper says:

    I know the post is old, but for those with httpd-mmn dep issues do:
    $ rpm -i pcre-devel -y
    $ rpm - apr-devel -y
    Watch magic :-) .. I will take all the rpms

    _
    Jesper

  43. Jesper says:

    Oh I forgot to mention rpm -e mod_auth_mysql first

Trackbacks

Check out what others are saying about this post...
  1. [...] Once that’s finished, assuming that there were no errors, you will end up with 5 RPMs in the ‘/usr/src/redhat/RPMS/i386′ folder that you can install as you like. If you’re planning on running a MySQL server then you’ll need the ‘mysql-server’ package. If you’re planning on connecting to a remote server then you’ll only need the ‘mysql’ package as that contains the client libraries. If you’re going to follow one of my PHP guides (Installing PHP 5.1.6, Installing PHP 5.2.0) then you can also install the ‘mysql-devel’ package and skip the associated section of those how-to’s. [...]

  2. [...] 4.4), I wanted to get these patches installed on php 5.2.1 on CentOS. Using the instructions at Utter Ramblings, I was able to do [...]

  3. Karib Corner-Blog Reports » Blog Archive » Upgrading to PHP 5.2.0 on RHEL and CentOS 4 says:

    [...] modifying the spec file, in order to have your system up and running without breaking anything. read more | digg story Filed under: Tech [...]

  4. Problems the installation - RoundCube Webmail Forum says:

    [...] Check this site out: Upgrading to PHP 5.2.0 on RHEL and CentOS at Utter Ramblings [...]



Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!

You must be logged in to post a comment.