InnoDB: Error: pthread_create returned 12
$ /usr/local/mysql/bin/perror 12
OS error code  12:  Cannot allocate memory


Sure, you have memory now but MySQL isn't running now.

Remove those multi-gigabyte configuration entries and verify that you can start the server without them.  I suspect read_buffer_size may be the one that's getting you but they are all unnecessarily large for a new server.  The warnings you're seeing for max_open_files and table_cache suggest that you are trying to tweak MySQL for performance by setting large values elsewhere in your config, too.  

That's not going to do what you expect.  When it comes to buffer and cache sizes, more is not always better and often it is worse.  Comment out your custom settings and start with the defaults unless you have a specific reason not to... and when you do make changes, don't change more than one thing at a time unless the changes are directly related to each other.