Thanks for trying it out!
OK, so, your problems:
0) OBD GPS Logger not doing what you expect.
I'll bet that the first time [where you couldn't get gps data] was linked to gpsd starting before you turn on the receiver or something. I'll make a comment about how I run gpsd in a minute...
The second time, I don't know what's up with that. NO DATA errors are usually what you get if the engine isn't running, or something like that.
Check that your OBD device is fully plugged into the port in your car, I've had mine wiggle out a couple times while driving that caused serious confusion.
1) GPSD stuff.
I use gpsd with your exact receiver. gpsd does have a protocol for reconnecting to bluetooth devices [or any devices], but really it's a PITA.
What I do is, start by turning on the receiver, then run
gpsd -N /dev/cu.BT-GPS...
The -N causes it to not go into the background. Then I can close gpsd when I'm done. Really the whole getup for gpsd to work with bluetooth is a bit hokey IME.
You want to use ./dev/cu.{whatever}. That's what mac calls things that look like serial ports, and gpsd and obdgpslogger want serial ports. You shouldn't need to run it as root but if you do, just check that your user has permission to use /dev/cu.{whatever}, and you'll be fine.
2) cmake
Yeah, I always forget it doesn't come in the box by default. I use
fink on all my macs. After XCode, fink contains just about everything that you'll ever need to run other projects [except gpsd... *grumble*]
The bug where it generates an XCode project that doesn't work is something I know about, I just didn't get around to fixing it yet. That's pretty much just *my* bug, not apple's or cmake's.
3) Other stuff
fltk and fluid, also both in fink :-)
OBD GPS Logger does its best to not corrupt the database, at all, ever. It only puts things into it that are known-good. The only problematic one is trips; it puts a trip into the database at the start time, and then updates it later with the end time. I may change this so that it does a single insert later, but for now the way it works [such as default values, etc], will just mean that your trip doesn't appear in the output, rather than breaking anything.
Thank-you very much for trying it out, and lemme know how it goes!
Gary (-;