Posts Tagged ‘linux’

Golden Cheetah 1.0.277 released!

Friday, January 9th, 2009

gc_10277We finally got a new version of Golden Cheetah out the door….it’s been only like, almost a year. Whew! Pressure is off.

I had been making personal builds since the summer to give out to folks who wanted to take advantage off several new features introduced since the march build. Sean gave Justin and I write access to the svn code this past December and we’ve been playing catch up on a backlog of patches, and i’ve been remembering c++ and Qt.

Several new features have been added in this release: Critical Power calculator, find best intervals utility, Pedal Force / Pedal Velocity chart, iBike and Ergomo CSV import, GUI power zones creator, separate vertical axes for Power / HR / Cadence and Speed in the Ride plot, sorting rides with the most recent at the top of the list, and many bug fixes courtesy of JT Conklin. This version is also using FTDI D2xx drivers rather than VCP.

We’ve also switched to a numbered versioning system which will serve to better indicate which svn revision the releases were built from and perhaps will mask our slow release cycle. :)

The new release is available on the Golden Cheetah download page.

qmake / xcode bug

Tuesday, January 6th, 2009

super annoying…Qt advertises that you can make an xcode project file using qmake to enable native development on mac…i had never been able to get the golden cheetah project working in this way, even after following what little documentation i could find. each time i’d run “qmake -spec macx-xcode” would result in a non-parseable xcodeproj file. to date i’ve just been coding and compiling with a simple text editor.

justin had done some initial troubleshooting, eventually filing a bug report with trolltech. he determined that the QMAKE_CXXFLAGS = -DGC_BUILD_DATE=”`date +’\”%a_%b_%d,_%Y\”‘`” was causing the issue. commenting out the offending line to get a valid xcode project and having to create another define in a source file.

a dev from trolltech got back to justin confirming the bug and offering a workaround by manually adding the directive in the xcode target’s build settings. they also mentioned that a fix would be coming in a future version of qmake, but gave nothing specific. i spent most of the afternoon trying to follow this workaround to no avail. it was very frustrating. i looked at the project file that qmake created and something looked odd with how special characters in the qmake_cxxflags key were escaped with slashes. too many it seemed.

finally, i came across a forum post where someone was trying to set a define macro to have a string value – jsut what we are trying to do. the solution is somewhat a hack, a bandaid for a shortcoming of qmake… triple-escape the outside quotation marks. looks like: -DGC_BUILD_DATE=\\\”`date +’\”%a_%b_%d,_%Y\”‘`\\\”

it compiles fine on the linux (ubuntu) test box, manually on mac os x (using qmake/make) and also creates a valid (parseable) xcode project file, but it won’t compile in xcode. i still have to disable these lines in src.pro and add them in by manually later. for the time being, i’m planning to develop in xcode, and build test versions without the build date/version number and then compile beta/release versions by hand, which works fine.

for reference, here are the lines i’m referring to in src.pro:

QMAKE_CXXFLAGS += -DGC_BUILD_DATE=\\\"`date +'\"%a_%b_%d,_%Y\"'`\\\"
QMAKE_CXXFLAGS += -DGC_SVN_VERSION=\\\"`svnversion . | cut -f '2' -d ':'`\\\"
QMAKE_CXXFLAGS += -DGC_MAJOR_VER=1
QMAKE_CXXFLAGS += -DGC_MINOR_VER=0

the top two lines are string values; the bottom two values are integers. also note, this has been reported to not work in win32, but i haven’t tested it myself. after we get the mac/linux builds going i’ll get back to the win build.

that’s right…it’s on!

Friday, December 12th, 2008

the payoff after updating my linux dvr wouldn’t be so great if the struggle wasn’t there…anyway, added a SATA card, 1.5 terabyte drive, nvidia 8400 video card…and upgraded the SATA card’s and motherboard’s bios’ for good measure (well, actually the SATA card wasn’t letting the system POST while a drive was connected….lame…it had a really old firmware.)

copying the media over to the new drive now.