Steve,
I've had a go at running this on OpenSuSE 10.2 (which I just installed over SuSE9.3 on my server last weekend).
I think I've got all the pre-requisites (Qt4, Qt4-sql, etc.) installed.
I don't have a rower, but I do have a PM4 (with V101 beta2 firmware). It was a lot of fun getting the udev stuff to a) recognise a PM4 and b) set-up /dev/concept2 with perms 0666.
When I run Rowtrainer.debug it gets
Code: Select all
dougie@jerry:~/RowTrainer> ./RowTrainer.debug
./RowTrainer.debug: /usr/local/lib/libpng12.so.0: no version information available (required by /usr/lib/libQtGui.so.4)
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
Interface Claimed !!
Segmentation fault
dougie@jerry:~/RowTrainer>
So I ran it under gdb.
Code: Select all
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1235915888 (LWP 11231)]
0xb7242c4e in memcpy () from /lib/libc.so.6
(gdb) info stack
#0 0xb7242c4e in memcpy () from /lib/libc.so.6
#1 0xb74b3ea8 in QString::append () from /usr/lib/libQtCore.so.4
#2 0x08054a2e in QString::operator+= (this=0xb655618c, s=@0xb6556138)
at /usr/include/QtCore/qstring.h:212
#3 0x0805a525 in print_hex_string (string_start=0xb655623f "\001ñ\221\221ò",
string_length=21) at RowTrainer.cpp:72
#4 0x0805a5eb in PMThread::sendReceiveFromPM (this=0xbff84970,
sendString=0xb655623f "\001ñ\221\221ò", sendStringLength=21,
receiveString=0xb65561e0 "`\035\033\bpIø¿hbU¶\224ä\005\b|Iø¿\025",
receiveStringLength=@0xb6556238, command=@0xb6556234) at RowTrainer.cpp:116
#5 0x0805e566 in PMThread::PM3_extract_version_info (this=0xbff84970)
at RowTrainer.cpp:169
#6 0x0805ef95 in PMThread::run (this=0xbff84970) at RowTrainer.cpp:730
#7 0xb74811f2 in QThread::wait () from /usr/lib/libQtCore.so.4
#8 0xb741ef8a in start_thread () from /lib/libpthread.so.0
#9 0x00000002 in ?? ()
#10 0x00000002 in ?? ()
#11 0x00000000 in ?? ()
(gdb)
The stuff I added to udev is:
Code: Select all
SUBSYSTEMS=="usb", ATTRS{idVendor}=="17a4", ATTRS{idProduct}=="0001", NAME="concept2"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="17a4", ATTRS{idProduct}=="0002", NAME="concept2", MODE="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="17a4", ATTRS{idProduct}=="0001", MODE="0666"
#SUBSYSTEMS=="usb", ATTRS{idVendor}=="17a4", ATTRS{idProduct}=="0002", MODE="0666"
PM4 has an idProduct of 0002. PM3 is 0001.