I’ve been trying very hard to find a proper solution for the challenge being put up by MySQL. Up untill now we had to compile the installation of MySQL by hand to get the proper shared libraries to be able to compile PHP, Postfix and all the rest without a problem. After extensive testing on my test server I found that the binary installation of MySQL 5.1.34 works without a problem which would cease the need to compile MySQL again.

The problem is that the binary releases use a different layout of the libraries and include files then the source release and I haven’t found a way to solve this issue yet without manually moving the files.

The binary release will put everything in ‘/usr/local/mysql/include‘ and ‘/usr/local/mysql/include‘ while the source code install will put everything in ‘/usr/local/mysql/include/mysql‘ and ‘/usr/local/mysql/include/mysql‘. There is a subtle difference but that difference will impact all the other compilation instructions on this site.

I wouldn’t mind going for the binary install procedure but MySQL has shown us that in the 5.0.x versions not release a binary package all the time but they will always have a source only release when they release. See also: How and When Updates Are Released.

I need you help on making some difficult choices:

  • Just live with the binary versions and change the rest of the compile instructions to reflect the new locations of the files
  • Keep using the MySQL compile instructions and keep everythign as is which means keep compiling MySQL to keep everythign working
  • Use both methods independently, so use binary or source when needed and have seperate instructions for mysql source or binary installs for all the other stuff.

If you have another choice or solution to get the binary and source installations in sync I would love to hear about it.