Installing MySQL on a MacBook

For some reason my old MacBook didn’t have MySQL installed.

Here’s the install process:

1. Brew did not work ‘cos it wasn’t installed

brew install mysql
-bash: brew: command not found

2. So, I went to install brew

ruby -e “$(curl -fsSkL”
curl: (1) Protocol https not supported or disabled in libcurl

3. So, I went to install curl with SSL

sudo port install curl +ssl

—>  Computing dependencies for curl
—>  Verifying checksum(s) for curl-ca-bundle
Error: Checksum (md5) mismatch for certdata-1.57.txt
Error: Checksum (sha1) mismatch for certdata-1.57.txt
Error: Checksum (rmd160) mismatch for certdata-1.57.txt
Error: Target org.macports.checksum returned: Unable to verify file checksums
Error: The following dependencies failed to build: curl-ca-bundle
Error: Status 1 encountered during processing.
Before reporting a bug, first run the command again with the -d flag to get complete output.

4. So I updated port with

sudo port selfupdate

This was successful but recommended this:

The ports tree has been updated. To upgrade your installed ports, you should run
port upgrade outdated

5. So, back to:

sudo port install curl +ssl

This got as far as:
--->  Activating ncurses @5.9_2
Error: org.macports.activate for port ncurses returned: Image error: /opt/local/bin/captoinfo is being used by the active ncursesw port.  Please deactivate this port first, or use 'port -f activate ncurses' to force the activation.
Error: Failed to install ncurses

and failed. But with a suggestion. So:

port -f activate ncurses
Error: Insufficient privileges to write to MacPorts install prefix.

sudo port -f activate ncurses
--->  The following versions of ncurses are currently installed:
--->      ncurses @5.7_0
--->      ncurses @5.9_2
Error: port activate failed: Registry error: Please specify the full version as recorded in the port registry.

A bit of a guess but this seemed to work:
sudo port -f activate ncurses @5.9_2

6. So back to:
sudo port install curl +ssl

After many hours this completed. In the meantime it had installed perl, python, git and sqlite - amongst others!

7. Back to installing brew
ruby -e "$(curl -fsSkL"

which was successful.

8. And finally, installing mysql

`brew install mysql`
which had a few warnings:
Warning: Your Xcode (3.2.2) is outdated
Please install Xcode 3.2.6.
Warning: It appears you have MacPorts or Fink installed.
Software installed with other package managers causes known problems for
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again.

and, perhaps unsurprisingly, was unsuccessful with these messages:
[ 94%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestGIT.cxx.o
[ 94%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestHG.cxx.o
Linking CXX static library libCTestLib.a
[ 94%] Built target CTestLib
make: *** [all] Error 2
Error: Homebrew doesn't know what compiler versions ship with your version
of Xcode (3.2.2). Please `brew update` and if that doesn't help, file

Running `brew update` just gave:
Already up-to-date.

So, updating Xcode. The App Store version isn't supported on Snow Leopard so you need to sign in to Apple's Developer Tools with your Apple ID and get it from:

and find `Xcode 3.2.6 and iOS SDK 4.3 for Snow Leopard` which is a 4.14GB download. Don't do this over your 3G network!


`brew install mysql`
is successful. Phew! And just shows how cool and labour-saving brew can be - just take a look at the steps involved to install curl with ssl.

One final note:
9. It's worth taking these steps to configure MySQL:

Any lessons to be learned?
Possibly that it takes an awful lot of updates to update the software on an old computer.


How to develop / migrate apps for the iPhone 5

1. Set a 4-inch launch image for your app called Default-568h@2x.png

This is how you get 1136 px screen height (without it, you will get 960 px with black margins on top and bottom).

This should be enough.

2. If not, adjust your view layouts with proper auto resizing masks or look into Auto Layout if you only want to support >= iOS 6.

If you need to some specific resizing then check the height of [[UIScreen mainScreen] bounds] (or applicationFrame, but then you need to consider status bar height if it's present) as there seems to be no specific API for that.