The
Ultimate
Business Machine

Technology, business
and innovation.

And, not least, about
the Mac.

Weblog Archive Cutedge

by: Bernard Teo








Creative Commons License

Copyright © 2003-2012
Bernard Teo
Some Rights Reserved.

The Ultimate Business Machine - Archives

List of Categories : Database * Technology * Commentary * Singapore * Travel *

Fri 16 Oct 2009

Maven Snow Update

Category : Technology/MavenSnowUpdate.txt

I released Maven Snow too quickly yesterday without testing on another machine that didn't have my development libraries (for MySQL and PostgreSQL) installed. They crashed on launch.

Investigating the crash report -

Dyld Error Message: Library not loaded:
/Users/bernard/Library/SDKs/macosx.sdk/
lib/mysql/libmysqlclient.16.dylib
Referenced from:
/Applications/MavenSnow.app/Contents/MacOS/../Frameworks/
CEDatabaseMySQL.framework/Versions/A/CEDatabaseMySQL
Reason: image not found

The "lib/mysql/libmysqlclient.16.dylib" was detritus left behind from my (ultimately successful) attempt to set up on single code base to build database connectors for three platforms - Mac OS X, iPhone, and the iPhone simulator.

I've made it such that if I can think of algorithms that can make our database access code run faster, I only need to implement it once in one piece of code and Xcode will build libraries that will work for the Mac and the iPhone, including the iPhone simulator. Considering that the Mac and the iPhone are actually two different hardware architectures, and that my own C code has to link with client libraries from MySQL and PostgreSQL that I have to build from source, that all goes to show why Xcode - Apple's development environment - is so good. There's really a Mac way of looking at the world and if you are in synch with that world view, life is good.

I didn't need libmysqlclient.16.dylib and a few other dylibs from MySQL and PostgreSQL in order to make Maven (or Luca) run. But they were there when Maven was being linked with its libraries and, since I didn't need them, I didn't package them with the Maven app, of course they couldn't be found, at launch time, at some other person's Mac. Hence the crash.

Removing all these garbage from my build environment cleared the crash. Lesson : do not leave your workspace in a mess. These things will trip you up and, at the least, give you untold embarassment.

Speaking of embarassment, Nick Lo asks :

Also, this feels like a stupid question so I'm hesitant to bring it up, but I was reading your "Maven for Snow Leopard" post and noted you say...

"I think it's gotten a lot faster now than Cocoa MySQL. I believe I can work faster now using Maven's interface than with Cocoa MySQL.

But there's still quite a few things that Cocoa MySQL has that Maven hasn't, including the ability to do searches on the data and that's what I'm working on next."

...and was wondering why you are comparing your new version of Maven with what is now an abandoned project rather than to its successor Sequel Pro?

The answer is, "I'm out of touch". I don't know about Cocoa MySQL being abandoned but it's what I use, still, on my desktop (e.g., to check up serial numbers for people who've lost theirs, or to update my apps' version numbers) and my aim was to make Maven good enough that I could stop using it.

So maybe I'm aiming too low. But the truth is, as a GUI for SQL databases, Maven has still a long way to go. But as a Cocoa framework for database access, so that I can have one unified way of accessing three different bases from both the Mac and the iPhone (and one unified way of making SQL calls), Maven is coming along fine and I can't wait to get some current stuff out of the way so that I can move on to iPhone development.

Posted at 3:55AM UTC | permalink

Mac@Work
Put your Mac to Work

Sivasothi.com? Now how would you do something like that?

Weblogs. Download and start a weblog of your own.

A Mac Business Toolbox
A survey of the possibilities

A Business Scenario
How we could use Macs in businesses

VPN Enabler for Mavericks

MailServe for Mavericks

DNS Enabler for Mavericks

DNS Agent for Mavericks

WebMon for Mavericks

Luca for Mavericks

Liya for Mountain Lion & Mavericks

Postfix Enabler for Tiger and Panther

Sendmail Enabler for Jaguar

Services running on this server, a Mac Mini running Mac OS X 10.9.2 Mavericks:

  • Apache 2 Web Server
  • Postfix Mail Server
  • Dovecot IMAP Server
  • Fetchmail
  • SpamBayes Spam Filter
  • Procmail
  • BIND DNS Server
  • DNS Agent
  • WebDAV Server
  • VPN Server
  • PHP-based weblog
  • MySQL database
  • PostgreSQL database

all set up using MailServe, WebMon, DNS Enabler, DNS Agent, VPN Enabler, Liya and our SQL installers, all on Mavericks.